From f16776129c779ddaed62114cbdda1d02fb26d9bf Mon Sep 17 00:00:00 2001 From: lukasz-jarocki-sonarsource Date: Fri, 30 Jun 2023 17:13:55 +0200 Subject: [PATCH] SONAR-19558 Refactored integration tests to be compatible with change of main branch --- .../server/ce/ws/ActivityStatusActionIT.java | 29 +++++------ .../ce/ws/DismissAnalysisWarningActionIT.java | 48 +++++++++---------- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java index ca9f15cb5e5..50f9942c718 100644 --- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java +++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityStatusActionIT.java @@ -32,6 +32,7 @@ import org.sonar.db.DbTester; import org.sonar.db.ce.CeActivityDto; import org.sonar.db.ce.CeQueueDto; import org.sonar.db.component.ComponentDto; +import org.sonar.db.component.ProjectData; import org.sonar.server.component.TestComponentFinder; import org.sonar.server.exceptions.ForbiddenException; import org.sonar.server.exceptions.NotFoundException; @@ -91,9 +92,9 @@ public class ActivityStatusActionIT { public void status_for_a_project_as_project_admin() { String projectKey = "project-key"; String anotherProjectKey = "another-project-key"; - ComponentDto project = db.components().insertPrivateProject(c -> c.setKey(projectKey)).getMainBranchComponent(); - ComponentDto anotherProject = db.components().insertPrivateProject(c -> c.setKey(anotherProjectKey)).getMainBranchComponent(); - userSession.logIn().addProjectPermission(UserRole.ADMIN, project); + ProjectData project = db.components().insertPrivateProject(c -> c.setKey(projectKey)); + ProjectData anotherProject = db.components().insertPrivateProject(c -> c.setKey(anotherProjectKey)); + userSession.logIn().addProjectPermission(UserRole.ADMIN, project.getProjectDto()); // pending tasks returned insertInQueue(CeQueueDto.Status.PENDING, project); insertInQueue(CeQueueDto.Status.PENDING, project); @@ -117,9 +118,9 @@ public class ActivityStatusActionIT { @Test public void add_pending_time() { String projectKey = "project-key"; - ComponentDto project = db.components().insertPrivateProject(c -> c.setKey(projectKey)).getMainBranchComponent(); + ProjectData project = db.components().insertPrivateProject(c -> c.setKey(projectKey)); - userSession.logIn().addProjectPermission(UserRole.ADMIN, project); + userSession.logIn().addProjectPermission(UserRole.ADMIN, project.getProjectDto()); when(system2.now()).thenReturn(2000L); insertInQueue(CeQueueDto.Status.PENDING, project, 1000L); Ce.ActivityStatusWsResponse result = callByComponentKey(projectKey); @@ -163,16 +164,16 @@ public class ActivityStatusActionIT { .hasMessage("Insufficient privileges"); } - private void insertInQueue(CeQueueDto.Status status, @Nullable ComponentDto componentDto) { - insertInQueue(status, componentDto, null); + private void insertInQueue(CeQueueDto.Status status, @Nullable ProjectData projectData) { + insertInQueue(status, projectData, null); } - private void insertInQueue(CeQueueDto.Status status, @Nullable ComponentDto componentDto, @Nullable Long createdAt) { + private void insertInQueue(CeQueueDto.Status status, @Nullable ProjectData projectData, @Nullable Long createdAt) { CeQueueDto ceQueueDto = newCeQueueDto(Uuids.createFast()) .setStatus(status); - if(componentDto != null) { - ceQueueDto.setComponentUuid(componentDto.uuid()) - .setEntityUuid(componentDto.uuid()); + if(projectData != null) { + ceQueueDto.setComponentUuid(projectData.getMainBranchComponent().uuid()) + .setEntityUuid(projectData.projectUuid()); } if (createdAt != null) { ceQueueDto.setCreatedAt(createdAt); @@ -181,10 +182,10 @@ public class ActivityStatusActionIT { db.commit(); } - private void insertActivity(CeActivityDto.Status status, @Nullable ComponentDto dto) { + private void insertActivity(CeActivityDto.Status status, ProjectData dto) { CeQueueDto ceQueueDto = newCeQueueDto(Uuids.createFast()); - ceQueueDto.setComponentUuid(dto.uuid()); - ceQueueDto.setEntityUuid(dto.uuid()); + ceQueueDto.setComponentUuid(dto.getMainBranchComponent().uuid()); + ceQueueDto.setEntityUuid(dto.projectUuid()); dbClient.ceActivityDao().insert(dbSession, new CeActivityDto(ceQueueDto) .setStatus(status)); db.commit(); diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/DismissAnalysisWarningActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/DismissAnalysisWarningActionIT.java index 09570010166..61fcfe1148f 100644 --- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/DismissAnalysisWarningActionIT.java +++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/DismissAnalysisWarningActionIT.java @@ -31,6 +31,7 @@ import org.sonar.db.ce.CeQueueDto; import org.sonar.db.ce.CeTaskMessageDto; import org.sonar.db.ce.CeTaskMessageType; import org.sonar.db.component.ComponentDto; +import org.sonar.db.component.ProjectData; import org.sonar.db.component.SnapshotDto; import org.sonar.db.project.ProjectDto; import org.sonar.db.user.UserDto; @@ -98,58 +99,58 @@ public class DismissAnalysisWarningActionIT { @Test public void return_204_on_success() { UserDto user = db.users().insertUser(); - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); - userSession.logIn(user).addProjectPermission(UserRole.USER, project); - SnapshotDto analysis = db.components().insertSnapshot(project); - CeActivityDto activity = insertActivity("task-uuid" + counter++, project, SUCCESS, analysis, REPORT); + ProjectData project = db.components().insertPrivateProject(); + userSession.logIn(user).addProjectPermission(UserRole.USER, project.getProjectDto()); + SnapshotDto analysis = db.components().insertSnapshot(project.getMainBranchComponent()); + CeActivityDto activity = insertActivity("task-uuid" + counter++, project.getMainBranchComponent(), SUCCESS, analysis, REPORT); CeTaskMessageDto taskMessageDismissible = createTaskMessage(activity, "dismissable warning", CeTaskMessageType.SUGGEST_DEVELOPER_EDITION_UPGRADE); TestResponse response = underTest.newRequest() - .setParam("component", project.getKey()) + .setParam("component", project.projectKey()) .setParam("warning", taskMessageDismissible.getUuid()) .execute(); assertThat(response.getStatus()).isEqualTo(204); assertThat(db.select("select * from user_dismissed_messages")) .extracting("USER_UUID", "PROJECT_UUID", "MESSAGE_TYPE") - .containsExactly(tuple(userSession.getUuid(), project.uuid(), CeTaskMessageType.SUGGEST_DEVELOPER_EDITION_UPGRADE.name())); + .containsExactly(tuple(userSession.getUuid(), project.projectUuid(), CeTaskMessageType.SUGGEST_DEVELOPER_EDITION_UPGRADE.name())); } @Test public void is_idempotent() { UserDto user = db.users().insertUser(); - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); - userSession.logIn(user).addProjectPermission(UserRole.USER, project); - SnapshotDto analysis = db.components().insertSnapshot(project); - CeActivityDto activity = insertActivity("task-uuid" + counter++, project, SUCCESS, analysis, REPORT); + ProjectData project = db.components().insertPrivateProject(); + userSession.logIn(user).addProjectPermission(UserRole.USER, project.getProjectDto()); + SnapshotDto analysis = db.components().insertSnapshot(project.getMainBranchComponent()); + CeActivityDto activity = insertActivity("task-uuid" + counter++, project.getMainBranchComponent(), SUCCESS, analysis, REPORT); CeTaskMessageDto taskMessageDismissible = createTaskMessage(activity, "dismissable warning", CeTaskMessageType.SUGGEST_DEVELOPER_EDITION_UPGRADE); underTest.newRequest() - .setParam("component", project.getKey()) + .setParam("component", project.projectKey()) .setParam("warning", taskMessageDismissible.getUuid()) .execute(); TestResponse response = underTest.newRequest() - .setParam("component", project.getKey()) + .setParam("component", project.projectKey()) .setParam("warning", taskMessageDismissible.getUuid()) .execute(); assertThat(response.getStatus()).isEqualTo(204); assertThat(db.select("select * from user_dismissed_messages")) .extracting("USER_UUID", "PROJECT_UUID", "MESSAGE_TYPE") - .containsExactly(tuple(userSession.getUuid(), project.uuid(), CeTaskMessageType.SUGGEST_DEVELOPER_EDITION_UPGRADE.name())); + .containsExactly(tuple(userSession.getUuid(), project.projectUuid(), CeTaskMessageType.SUGGEST_DEVELOPER_EDITION_UPGRADE.name())); } @Test public void returns_400_if_warning_is_not_dismissable() { UserDto user = db.users().insertUser(); - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); - userSession.logIn(user).addProjectPermission(UserRole.USER, project); - SnapshotDto analysis = db.components().insertSnapshot(project); - CeActivityDto activity = insertActivity("task-uuid" + counter++, project, SUCCESS, analysis, REPORT); + ProjectData project = db.components().insertPrivateProject(); + userSession.logIn(user).addProjectPermission(UserRole.USER, project.getProjectDto()); + SnapshotDto analysis = db.components().insertSnapshot(project.getMainBranchComponent()); + CeActivityDto activity = insertActivity("task-uuid" + counter++, project.getMainBranchComponent(), SUCCESS, analysis, REPORT); CeTaskMessageDto taskMessage = createTaskMessage(activity, "generic warning"); TestRequest request = underTest.newRequest() - .setParam("component", project.getKey()) + .setParam("component", project.projectKey()) .setParam("warning", taskMessage.getUuid()); assertThrows(format("Message '%s' cannot be dismissed.", taskMessage.getUuid()), IllegalArgumentException.class, request::execute); @@ -159,14 +160,14 @@ public class DismissAnalysisWarningActionIT { @Test public void returns_404_if_warning_does_not_exist() { UserDto user = db.users().insertUser(); - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); - userSession.logIn(user).addProjectPermission(UserRole.USER, project); - SnapshotDto analysis = db.components().insertSnapshot(project); - insertActivity("task-uuid" + counter++, project, SUCCESS, analysis, REPORT); + ProjectData project = db.components().insertPrivateProject(); + userSession.logIn(user).addProjectPermission(UserRole.USER, project.getProjectDto()); + SnapshotDto analysis = db.components().insertSnapshot(project.getMainBranchComponent()); + insertActivity("task-uuid" + counter++, project.getMainBranchComponent(), SUCCESS, analysis, REPORT); String warningUuid = "78d1e2ff-3e67-4037-ba58-0d57d5f88e44"; TestRequest request = underTest.newRequest() - .setParam("component", project.getKey()) + .setParam("component", project.projectKey()) .setParam("warning", warningUuid); assertThrows(format("Message '%s' not found", warningUuid), NotFoundException.class, request::execute); @@ -193,7 +194,6 @@ public class DismissAnalysisWarningActionIT { CeQueueDto queueDto = new CeQueueDto(); queueDto.setTaskType(taskType); queueDto.setComponentUuid(component.uuid()); - queueDto.setComponentUuid(component.uuid()); queueDto.setUuid(taskUuid); CeActivityDto activityDto = new CeActivityDto(queueDto); activityDto.setStatus(status); -- 2.39.5