@Before public void setUp() { EmailSettings settings = mock(EmailSettings.class); when(settings.getServerBaseURL()).thenReturn("http://nemo.sonarsource.org"); i18n = mock(DefaultI18n.class); userIndex = mock(UserIndex.class); // returns the login passed in parameter when(userIndex.getNullableByLogin(anyString())) .thenAnswer( new Answer<UserDoc>() { @Override public UserDoc answer(InvocationOnMock invocationOnMock) throws Throwable { return new UserDoc().setName((String) invocationOnMock.getArguments()[0]); } }); when(i18n.message(any(Locale.class), eq("severity.BLOCKER"), anyString())) .thenReturn("Blocker"); when(i18n.message(any(Locale.class), eq("severity.CRITICAL"), anyString())) .thenReturn("Critical"); when(i18n.message(any(Locale.class), eq("severity.MAJOR"), anyString())).thenReturn("Major"); when(i18n.message(any(Locale.class), eq("severity.MINOR"), anyString())).thenReturn("Minor"); when(i18n.message(any(Locale.class), eq("severity.INFO"), anyString())).thenReturn("Info"); template = new NewIssuesEmailTemplate(settings, i18n); }
@Test public void do_not_assign_default_assignee_when_not_found_in_index() { inputIssue.setIsNew(true); String wolinski = "wolinski"; projectSettings.setProperty(CoreProperties.DEFAULT_ISSUE_ASSIGNEE, wolinski); when(userIndex.getNullableByLogin(wolinski)).thenReturn(null); process(); assertThat(Iterators.getOnlyElement(outputIssues.traverse()).assignee()).isNull(); assertThat(logTester.logs()) .contains( String.format( "the %s property was set with an unknown login: %s", CoreProperties.DEFAULT_ISSUE_ASSIGNEE, wolinski)); }