View Javadoc

1   package com.atlassian.plugins.rest.common.validation;
2   
3   import com.atlassian.sal.api.message.I18nResolver;
4   import org.junit.Before;
5   import org.junit.Ignore;
6   import org.junit.Test;
7   
8   import javax.validation.MessageInterpolator;
9   import javax.validation.metadata.ConstraintDescriptor;
10  
11  import java.util.Collections;
12  
13  import static org.junit.Assert.assertEquals;
14  import static org.mockito.Mockito.mock;
15  import static org.mockito.Mockito.when;
16  
17  public class SalMessageInterpolatorTest {
18      private I18nResolver resolver;
19      private SalMessageInterpolator salMessageInterpolator;
20      private MessageInterpolator.Context context;
21  
22      @Before
23      public void setUp() {
24          resolver = mock(I18nResolver.class);
25          salMessageInterpolator = new SalMessageInterpolator(resolver);
26          context = mock(MessageInterpolator.Context.class);
27      }
28  
29      @Test
30      public void testInterpolate() {
31          when(resolver.getText("foo")).thenReturn("bar");
32          assertEquals("bar", salMessageInterpolator.interpolate("foo", context));
33      }
34  
35      @Test
36      public void testInterpolateMissing() {
37          when(resolver.getText("foo")).thenReturn(null);
38          assertEquals("foo", salMessageInterpolator.interpolate("foo", context));
39      }
40  
41      @Test
42      @Ignore("Enable once SAL is moved to 2.1 and we can interpolate with a map of arguments")
43      public void testInterpolateWithParams() {
44          when(resolver.getText("foo")).thenReturn("bar");
45  
46          ConstraintDescriptor constraintDescriptor = mock(ConstraintDescriptor.class);
47          when(constraintDescriptor.getAttributes()).thenReturn(Collections.singletonMap("foo", "bar"));
48          when(context.getConstraintDescriptor()).thenReturn(constraintDescriptor);
49          assertEquals("name: bar", salMessageInterpolator.interpolate("name: {foo}", context));
50      }
51  
52  }