private void addEvents(SearchData.Builder data) { List<String> analyses = data.getAnalyses().stream().map(SnapshotDto::getUuid).collect(toList()); data.setEvents(dbClient.eventDao().selectByAnalysisUuids(data.getDbSession(), analyses)); data.setComponentChanges(dbClient.eventComponentChangeDao().selectByAnalysisUuids(data.getDbSession(), analyses)); }
public List<EventComponentChangeDto> selectByAnalysisUuids(DbSession dbSession, List<String> analyses) { return executeLargeInputs(analyses, getMapper(dbSession)::selectByAnalysisUuids); }
@Test public void selectByEventUuid_on_empty_table() { assertThat(underTest.selectByEventUuid(dbSession, randomAlphabetic(10))) .isEmpty(); }
when(system2.now()).thenReturn(now); underTest.insert(dbSession, dto, purgeData); assertThat(underTest.selectByAnalysisUuids(dbSession, Collections.emptyList())) .isEmpty(); assertThat(underTest.selectByAnalysisUuids(dbSession, singletonList(eventBase + "_analysis_uuid"))) .extracting( EventComponentChangeDto::getUuid,
@Test public void selectByEventUuid_branchKey_can_be_null() { String eventBase = randomAlphabetic(5); String rowBase = randomAlphabetic(6); String eventUuid = eventBase + "_event_uuid"; EventComponentChangeDto dto = new EventComponentChangeDto() .setCategory(randomChangeCategory()) .setUuid(rowBase + "_uuid") .setEventUuid(eventUuid) .setComponentUuid(rowBase + "_component_uuid") .setComponentKey(rowBase + "_component_key") .setComponentName(rowBase + "_component_name") .setComponentBranchKey(null); EventPurgeData purgeData = new EventPurgeData(eventBase + "_component_uuid", eventBase + "_analysis_uuid"); long now = random.nextLong(); when(system2.now()) .thenReturn(now) .thenThrow(new IllegalStateException("now should not be called twice")); underTest.insert(dbSession, dto, purgeData); assertThat(underTest.selectByEventUuid(dbSession, eventUuid)) .extracting(EventComponentChangeDto::getUuid, EventComponentChangeDto::getComponentBranchKey) .containsOnly(tuple(dto.getUuid(), null)); }
public EventComponentChangeDto insertEventComponentChanges(EventDto event, SnapshotDto analysis, ChangeCategory changeCategory, ComponentDto component, @Nullable BranchDto branch) { EventComponentChangeDto eventComponentChange = new EventComponentChangeDto() .setUuid(UuidFactoryFast.getInstance().create()) .setCategory(changeCategory) .setEventUuid(event.getUuid()) .setComponentUuid(component.uuid()) .setComponentKey(component.getKey()) .setComponentName(component.name()) .setComponentBranchKey(Optional.ofNullable(branch).map(BranchDto::getKey).orElse(null)); EventPurgeData eventPurgeData = new EventPurgeData(analysis.getComponentUuid(), analysis.getUuid()); dbClient.eventComponentChangeDao().insert(dbSession, eventComponentChange, eventPurgeData); db.commit(); return eventComponentChange; }
.thenThrow(new IllegalStateException("now should not be called 6 times")); Arrays.stream(event1Dtos).forEach(dto -> underTest.insert(dbSession, dto, doesNotMatter)); Arrays.stream(event2Dtos).forEach(dto -> underTest.insert(dbSession, dto, doesNotMatter)); assertThat(underTest.selectByAnalysisUuids(dbSession, singletonList(doesNotMatter.getAnalysisUuid()))) .extracting( EventComponentChangeDto::getUuid,
.thenThrow(new IllegalStateException("now should not be called 6 times")); Arrays.stream(event1Dtos).forEach(dto -> underTest.insert(dbSession, dto, doesNotMatter)); Arrays.stream(event2Dtos).forEach(dto -> underTest.insert(dbSession, dto, doesNotMatter)); assertThat(underTest.selectByEventUuid(dbSession, eventUuid1)) .extracting( EventComponentChangeDto::getUuid, eventUuid1, now + 2)); assertThat(underTest.selectByEventUuid(dbSession, eventUuid2)) .extracting( EventComponentChangeDto::getUuid,
private void insertEventComponentChanges(ComponentDto component, SnapshotDto analysis, EventComponentChangeDto... changes) { EventPurgeData eventPurgeData = new EventPurgeData(component.uuid(), analysis.getUuid()); for (EventComponentChangeDto change : changes) { db.getDbClient().eventComponentChangeDao().insert(db.getSession(), change, eventPurgeData); } db.getSession().commit(); }
when(system2.now()).thenReturn(now); underTest.insert(dbSession, dto, purgeData); assertThat(underTest.selectByEventUuid(dbSession, uuid)) .isEmpty(); assertThat(underTest.selectByEventUuid(dbSession, eventUuid)) .extracting( EventComponentChangeDto::getUuid,
public List<EventComponentChangeDto> selectByEventUuid(DbSession dbSession, String eventUuid) { return getMapper(dbSession).selectByEventUuid(eventUuid); }
public void insert(DbSession dbSession, EventComponentChangeDto dto, EventPurgeData eventPurgeData) { getMapper(dbSession) .insert(dto, eventPurgeData, system2.now()); }