private void processEvents(DbSession session, Component component, Long analysisDate) { Function<Event, EventDto> eventToEventDto = event -> newBaseEvent(component, analysisDate) .setName(event.getName()) .setCategory(convertCategory(event.getCategory())) .setDescription(event.getDescription()) .setData(event.getData()); // FIXME bulk insert for (EventDto batchEventDto : StreamSupport.stream(eventRepository.getEvents(component).spliterator(), false).map(eventToEventDto).collect(Collectors.toList())) { dbClient.eventDao().insert(session, batchEventDto); } }
@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); }
@Test public void update_name_only_in_db() { SnapshotDto analysis = createAnalysisAndLogInAsProjectAdministrator("5.6"); EventDto originalEvent = db.events().insertEvent(newEvent(analysis).setUuid("E1").setName("Original Name").setDescription("Original Description")); call("E1", "name"); EventDto newEvent = dbClient.eventDao().selectByUuid(dbSession, "E1").get(); assertThat(newEvent.getName()).isEqualTo("name"); assertThat(newEvent.getDescription()).isEqualTo(originalEvent.getDescription()); }
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()); } }
@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 return_events() { OrganizationDto organizationDto = db.organizations().insert(); ComponentDto project = db.components().insertComponent(ComponentTesting.newPrivateProjectDto(organizationDto).setDbKey("P1")); userSession.addProjectPermission(UserRole.USER, project); SnapshotDto a1 = db.components().insertSnapshot(newAnalysis(project).setUuid("A1")); SnapshotDto a42 = db.components().insertSnapshot(newAnalysis(ComponentTesting.newPrivateProjectDto(organizationDto)).setUuid("A42")); EventDto e1 = db.events().insertEvent(newEvent(a1).setUuid("E1").setName("N1").setCategory(EventCategory.QUALITY_GATE.getLabel()).setDescription("D1")); EventDto e2 = db.events().insertEvent(newEvent(a1).setUuid("E2").setName("N2").setCategory(VERSION.getLabel()).setDescription("D2")); db.events().insertEvent(newEvent(a42)); List<Analysis> result = call("P1").getAnalysesList(); assertThat(result).hasSize(1); List<Event> events = result.get(0).getEventsList(); assertThat(events).hasSize(2); assertThat(events).extracting(Event::getKey, wsToDbCategory(), Event::getName, Event::getDescription).containsOnly( tuple(e1.getUuid(), e1.getCategory(), e1.getName(), e1.getDescription()), tuple(e2.getUuid(), e2.getCategory(), e2.getName(), e2.getDescription())); }
@Test public void json_example() { ComponentDto project = db.components().insertPrivateProject(); SnapshotDto analysis = db.components().insertSnapshot(newAnalysis(project).setUuid("A2")); db.events().insertEvent(newEvent(analysis) .setUuid("E1") .setCategory(OTHER.getLabel()) .setName("Original Name") .setDescription("Original Description")); logInAsProjectAdministrator(project); String result = ws.newRequest() .setParam(PARAM_EVENT, "E1") .setParam(PARAM_NAME, "My Custom Event") .execute().getInput(); assertJson(result).isSimilarTo(getClass().getResource("update_event-example.json")); }
.setName("Quality Gate is Red (was Orange)") .setCategory(EventCategory.QUALITY_GATE.getLabel()) .setDescription("Coverage is < 80%")); db.events().insertEvent(newEvent(a1).setUuid("E12") .setName("6.3").setCategory(VERSION.getLabel())); .setData("{stillFailing: true, status: \"ERROR\"}") .setCategory(CATEGORY_ALERT) .setDescription("")); EventComponentChangeDto changeDto1 = generateEventComponentChange(eventDto, FAILED_QUALITY_GATE, "My project", "app1", "master", project.uuid()); EventComponentChangeDto changeDto2 = generateEventComponentChange(eventDto, FAILED_QUALITY_GATE, "Another project", "app2", "master", uuidFactoryFast.create());
private void processEvents(DbSession session, Component component, Long analysisDate) { Function<Event, EventDto> eventToEventDto = event -> newBaseEvent(component, analysisDate) .setName(event.getName()) .setCategory(convertCategory(event.getCategory())) .setDescription(event.getDescription()) .setData(event.getData()); // FIXME bulk insert for (EventDto batchEventDto : StreamSupport.stream(eventRepository.getEvents(component).spliterator(), false).map(eventToEventDto).collect(Collectors.toList())) { dbClient.eventDao().insert(session, batchEventDto); } }