private EventDto toDbEvent(CreateEventRequest request, SnapshotDto analysis) { checkArgument(isNotBlank(request.getName()), "A non empty name is required"); return new EventDto() .setUuid(uuidFactory.create()) .setAnalysisUuid(analysis.getUuid()) .setComponentUuid(analysis.getComponentUuid()) .setCategory(request.getCategory().getLabel()) .setName(request.getName()) .setCreatedAt(system.now()) .setDate(analysis.getCreatedAt()); }
@Test public void test_getters_and_setters() { EventDto dto = new EventDto() .setId(1L) .setAnalysisUuid("uuid_1") .setComponentUuid("ABCD") .setName("1.0") .setCategory("Version") .setDescription("Version 1.0") .setData("some data") .setDate(1413407091086L) .setCreatedAt(1225630680000L); assertThat(dto.getId()).isEqualTo(1L); assertThat(dto.getAnalysisUuid()).isEqualTo("uuid_1"); assertThat(dto.getComponentUuid()).isEqualTo("ABCD"); assertThat(dto.getName()).isEqualTo("1.0"); assertThat(dto.getCategory()).isEqualTo("Version"); assertThat(dto.getDescription()).isEqualTo("Version 1.0"); assertThat(dto.getData()).isEqualTo("some data"); assertThat(dto.getCreatedAt()).isEqualTo(1225630680000L); }
private EventDto newBaseEvent(Component component, Long analysisDate) { return new EventDto() .setUuid(uuidFactory.create()) .setAnalysisUuid(analysisMetadataHolder.getUuid()) .setComponentUuid(component.getUuid()) .setCreatedAt(system2.now()) .setDate(analysisDate); }
public static EventDto newEvent(SnapshotDto analysis) { requireNonNull(analysis.getUuid()); requireNonNull(analysis.getComponentUuid()); return new EventDto() .setAnalysisUuid(analysis.getUuid()) .setComponentUuid(analysis.getComponentUuid()) .setUuid(randomAlphanumeric(40)) .setName(randomAlphanumeric(400)) .setDescription(null) .setCategory("Other") .setComponentUuid(analysis.getComponentUuid()) .setCreatedAt(System.currentTimeMillis()) .setDate(System.currentTimeMillis()); } }
private EventDto newVersionEventDto(ComponentDto project, long date, String name) { return new EventDto().setUuid(uuidFactory.create()).setComponentUuid(project.uuid()) .setAnalysisUuid("analysis_uuid") .setCategory(CATEGORY_VERSION) .setName(name).setDate(date).setCreatedAt(date); }
@Test public void insert() { dbTester.prepareDbUnit(getClass(), "empty.xml"); underTest.insert(dbTester.getSession(), new EventDto() .setUuid("E1") .setAnalysisUuid("uuid_1") .setComponentUuid("ABCD") .setName("1.0") .setCategory(EventDto.CATEGORY_VERSION) .setDescription("Version 1.0") .setData("some data") .setDate(1413407091086L) .setCreatedAt(1225630680000L)); dbTester.getSession().commit(); dbTester.assertDbUnit(getClass(), "insert-result.xml", new String[] {"id"}, "events"); }
@Test public void ignore_unprocessed_snapshots() { OrganizationDto organization = dbTester.organizations().insert(); ComponentDto project = dbTester.components().insertPrivateProject(organization); SnapshotDto analysis1 = dbTester.components() .insertSnapshot(project, snapshot -> snapshot.setStatus(STATUS_UNPROCESSED).setCreatedAt(1226379600000L).setLast(false));// 2008-11-11 SnapshotDto analysis2 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setStatus(STATUS_PROCESSED).setVersion("not provided").setCreatedAt(1226379600000L).setLast(false));// 2008-11-29 dbTester.events().insertEvent(newEvent(analysis1).setName("not provided").setCategory(CATEGORY_VERSION).setDate(analysis1.getCreatedAt())); dbTester.events().insertEvent(newEvent(analysis2).setName("not provided").setCategory(CATEGORY_VERSION).setDate(analysis2.getCreatedAt())); when(analysisMetadataHolder.getAnalysisDate()).thenReturn(november30th2008.getTime()); when(analysisMetadataHolder.isFirstAnalysis()).thenReturn(false); setupRoot(project); settings.setProperty("sonar.leak.period", "100"); underTest.execute(new TestComputationStepContext()); assertPeriod(LEAK_PERIOD_MODE_DAYS, "100", analysis2.getCreatedAt(), analysis2.getUuid()); verifyDebugLogs("Resolving new code period by 100 days: 2008-08-22"); }
@Test @UseDataProvider("stringConsideredAsVersions") public void fail_with_MessageException_if_string_is_not_an_existing_version_event(String propertyValue) { OrganizationDto organization = dbTester.organizations().insert(); ComponentDto project = dbTester.components().insertPrivateProject(organization); SnapshotDto analysis1 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1226379600000L).setVersion("0.9").setLast(false)); // 2008-11-11 SnapshotDto analysis2 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1226494680000L).setVersion("1.0").setLast(false)); // 2008-11-12 SnapshotDto analysis3 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1227157200000L).setVersion("1.1").setLast(false)); // 2008-11-20 SnapshotDto analysis4 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1227358680000L).setVersion("1.1").setLast(false)); // 2008-11-22 SnapshotDto analysis5 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1227934800000L).setVersion("1.1").setLast(true)); // 2008-11-29 dbTester.events().insertEvent(newEvent(analysis1).setName("0.9").setCategory(CATEGORY_VERSION).setDate(analysis1.getCreatedAt())); dbTester.events().insertEvent(newEvent(analysis2).setName("1.0").setCategory(CATEGORY_VERSION).setDate(analysis2.getCreatedAt())); dbTester.events().insertEvent(newEvent(analysis5).setName("1.1").setCategory(CATEGORY_VERSION).setDate(analysis4.getCreatedAt())); when(system2Mock.now()).thenReturn(november30th2008.getTime()); when(analysisMetadataHolder.isFirstAnalysis()).thenReturn(false); setupRoot(project); settings.setProperty("sonar.leak.period", propertyValue); try { underTest.execute(new TestComputationStepContext()); fail("a Message Exception should have been thrown"); } catch (MessageException e) { verifyInvalidValueMessage(e, propertyValue); assertThat(logTester.getLogs()).hasSize(2); assertThat(logTester.getLogs(LoggerLevel.DEBUG)) .hasSize(2) .extracting(LogAndArguments::getFormattedMsg) .contains("Invalid code period '" + propertyValue + "': version is none of the existing ones: [1.1, 1.0, 0.9]"); } }
@Test public void feed_period_by_previous_version() { OrganizationDto organization = dbTester.organizations().insert(); ComponentDto project = dbTester.components().insertPrivateProject(organization); SnapshotDto analysis1 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1226379600000L).setVersion("0.9").setLast(false)); // 2008-11-11 SnapshotDto analysis2 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1226494680000L).setVersion("1.0").setLast(false)); // 2008-11-12 SnapshotDto analysis3 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1227157200000L).setVersion("1.1").setLast(false)); // 2008-11-20 SnapshotDto analysis4 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1227358680000L).setVersion("1.1").setLast(false)); // 2008-11-22 SnapshotDto analysis5 = dbTester.components().insertSnapshot(project, snapshot -> snapshot.setCreatedAt(1227934800000L).setVersion("1.1").setLast(true)); // 2008-11-29 dbTester.events().insertEvent(newEvent(analysis1).setName("0.9").setCategory(CATEGORY_VERSION).setDate(analysis1.getCreatedAt())); dbTester.events().insertEvent(newEvent(analysis2).setName("1.0").setCategory(CATEGORY_VERSION).setDate(analysis2.getCreatedAt())); dbTester.events().insertEvent(newEvent(analysis5).setName("1.1").setCategory(CATEGORY_VERSION).setDate(analysis4.getCreatedAt())); when(system2Mock.now()).thenReturn(november30th2008.getTime()); when(analysisMetadataHolder.isFirstAnalysis()).thenReturn(false); setupRoot(project, "1.1"); settings.setProperty("sonar.leak.period", "previous_version"); underTest.execute(new TestComputationStepContext()); // Analysis form 2008-11-12 assertPeriod(LEAK_PERIOD_MODE_PREVIOUS_VERSION, "1.0", analysis2.getCreatedAt(), analysis2.getUuid()); verifyDebugLogs("Resolving new code period by previous version: 1.0"); }
private EventDto toDbEvent(CreateEventRequest request, SnapshotDto analysis) { checkArgument(isNotBlank(request.getName()), "A non empty name is required"); return new EventDto() .setUuid(uuidFactory.create()) .setAnalysisUuid(analysis.getUuid()) .setComponentUuid(analysis.getComponentUuid()) .setCategory(request.getCategory().getLabel()) .setName(request.getName()) .setCreatedAt(system.now()) .setDate(analysis.getCreatedAt()); }
private EventDto newBaseEvent(Component component, Long analysisDate) { return new EventDto() .setUuid(uuidFactory.create()) .setAnalysisUuid(analysisMetadataHolder.getUuid()) .setComponentUuid(component.getUuid()) .setCreatedAt(system2.now()) .setDate(analysisDate); }