use of com.thoughtworks.go.domain.feed.Author in project gocd by gocd.
the class StageServiceTest method shouldReturnFeedsEvenIfUpstreamPipelineIsDeleted.
@Test
public void shouldReturnFeedsEvenIfUpstreamPipelineIsDeleted() {
Date updateDate = new Date();
CruiseConfig config = mock(BasicCruiseConfig.class);
PipelineConfig pipelineConfig = PipelineConfigMother.pipelineConfig("down");
MingleConfig mingleConfig = new MingleConfig("http://foo.bar:7019/baz/", "go-project");
pipelineConfig.setMingleConfig(mingleConfig);
Map<Long, List<ModificationForPipeline>> expectedModMapDown = new HashMap<>();
Modification mod1 = ModificationsMother.checkinWithComment("revision", "#123 hello wolrd", updateDate);
expectedModMapDown.put(1L, asList(new ModificationForPipeline(new PipelineId("down", 1L), mod1, "Svn", "fooBarBaaz")));
FeedEntry expected = stageFeedEntry("down", updateDate);
when(stageDao.findCompletedStagesFor("down", FeedModifier.Latest, -1, 25)).thenReturn(asList(stageFeedEntry("down", updateDate), stageFeedEntry("down", updateDate)));
when(goConfigService.currentCruiseConfig()).thenReturn(config);
when(changesetService.modificationsOfPipelines(asList(1L, 1L), "down", Username.ANONYMOUS)).thenReturn(expectedModMapDown);
when(config.hasPipelineNamed(any(CaseInsensitiveString.class))).thenReturn(false).thenReturn(true);
when(config.pipelineConfigByName(any(CaseInsensitiveString.class))).thenReturn(pipelineConfig);
StageService service = new StageService(stageDao, null, null, null, null, null, changesetService, goConfigService, transactionTemplate, transactionSynchronizationManager, new StubGoCache(transactionSynchronizationManager));
FeedEntries feedEntries = service.feed("down", Username.ANONYMOUS);
assertThat(feedEntries, is(new FeedEntries(asList(expected, expected))));
assertThat(feedEntries.get(0).getAuthors(), is(asList(new Author(ModificationsMother.MOD_USER_COMMITTER, ModificationsMother.EMAIL_ADDRESS))));
assertEquals(feedEntries.get(0).getMingleCards().size(), 0);
assertThat(feedEntries.get(1).getAuthors(), is(asList(new Author(ModificationsMother.MOD_USER_COMMITTER, ModificationsMother.EMAIL_ADDRESS))));
assertThat(feedEntries.get(1).getMingleCards(), is(asList(new MingleCard(mingleConfig, "123"))));
}
use of com.thoughtworks.go.domain.feed.Author in project gocd by gocd.
the class StageServiceTest method findCompletedStagesFor_shouldCacheTheResultPerPipeline.
@Test
public void findCompletedStagesFor_shouldCacheTheResultPerPipeline() {
Date updateDate = new Date();
when(stageDao.findCompletedStagesFor("cruise", FeedModifier.Latest, -1, 25)).thenReturn(asList(stageFeedEntry("cruise", updateDate))).thenReturn(asList(stageFeedEntry("cruise", updateDate)));
MingleConfig mingleConfig = new MingleConfig("http://foo.bar:7019/baz/", "go-project");
when(goConfigService.currentCruiseConfig()).thenReturn(cruiseConfigWithMingle("cruise", mingleConfig));
Map<Long, List<ModificationForPipeline>> expectedMap = new HashMap<>();
expectedMap.put(1L, asList(new ModificationForPipeline(new PipelineId("cruise", 1L), ModificationsMother.checkinWithComment("revision", "#123 hello wolrd", updateDate), "Svn", "fooBarBaaz")));
when(changesetService.modificationsOfPipelines(asList(1L), "cruise", Username.ANONYMOUS)).thenReturn(expectedMap);
StageService service = new StageService(stageDao, null, null, null, null, null, changesetService, goConfigService, transactionTemplate, transactionSynchronizationManager, new StubGoCache(transactionSynchronizationManager));
FeedEntry expected = stageFeedEntry("cruise", updateDate);
// Should prime the cache
FeedEntries feedEntries = service.feed("cruise", Username.ANONYMOUS);
assertThat(feedEntries, is(new FeedEntries(asList(expected))));
assertThat(feedEntries.get(0).getAuthors(), is(asList(new Author(ModificationsMother.MOD_USER_COMMITTER, ModificationsMother.EMAIL_ADDRESS))));
assertThat(feedEntries.get(0).getMingleCards(), is(asList(new MingleCard(mingleConfig, "123"))));
// Should use the cache
feedEntries = service.feed("cruise", Username.ANONYMOUS);
assertThat(feedEntries, is(new FeedEntries(asList(expected))));
assertThat(feedEntries.get(0).getAuthors(), is(asList(new Author(ModificationsMother.MOD_USER_COMMITTER, ModificationsMother.EMAIL_ADDRESS))));
assertThat(feedEntries.get(0).getMingleCards(), is(asList(new MingleCard(mingleConfig, "123"))));
verify(stageDao).findCompletedStagesFor("cruise", FeedModifier.Latest, -1, 25);
verify(changesetService).modificationsOfPipelines(asList(1L), "cruise", Username.ANONYMOUS);
verifyNoMoreInteractions(stageDao);
verifyNoMoreInteractions(changesetService);
}
Aggregations