diff options
author | Léo Geoffroy <leo.geoffroy@sonarsource.com> | 2023-06-30 11:42:57 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2023-07-03 20:03:13 +0000 |
commit | ebece82669c46e8657d10407ee1d5dc957af3a6c (patch) | |
tree | 1569745006df20ebcea3f565597ddd3610dd649d | |
parent | b819971ea23f4d63feed5147608a570f026d7906 (diff) | |
download | sonarqube-ebece82669c46e8657d10407ee1d5dc957af3a6c.tar.gz sonarqube-ebece82669c46e8657d10407ee1d5dc957af3a6c.zip |
SONAR-19558 Update rest of tests for other modules
47 files changed, 278 insertions, 249 deletions
diff --git a/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java b/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java index 5edd93d982c..c2ddf5cf2cd 100644 --- a/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java +++ b/server/sonar-auth-github/src/test/java/org/sonar/auth/github/GitHubSettingsTest.java @@ -39,7 +39,7 @@ import static org.mockito.Mockito.when; public class GitHubSettingsTest { @Rule - public DbTester db = DbTester.create(System2.INSTANCE); + public DbTester db = DbTester.create(System2.INSTANCE, true); private MapSettings settings = new MapSettings(new PropertyDefinitions(System2.INSTANCE, GitHubSettings.definitions())); private InternalProperties internalProperties = mock(InternalProperties.class); diff --git a/server/sonar-auth-github/src/test/java/org/sonar/auth/github/IntegrationTest.java b/server/sonar-auth-github/src/test/java/org/sonar/auth/github/IntegrationTest.java index f7ba8e35dd7..ef39a34c06d 100644 --- a/server/sonar-auth-github/src/test/java/org/sonar/auth/github/IntegrationTest.java +++ b/server/sonar-auth-github/src/test/java/org/sonar/auth/github/IntegrationTest.java @@ -59,7 +59,7 @@ public class IntegrationTest { public MockWebServer github = new MockWebServer(); @Rule - public DbTester db = DbTester.create(System2.INSTANCE); + public DbTester db = DbTester.create(System2.INSTANCE, true); // load settings with default values private MapSettings settings = new MapSettings(new PropertyDefinitions(System2.INSTANCE, GitHubSettings.definitions())); diff --git a/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlIdentityProviderIT.java b/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlIdentityProviderIT.java index ea83ab6ad49..4318530e2b8 100644 --- a/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlIdentityProviderIT.java +++ b/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlIdentityProviderIT.java @@ -68,7 +68,7 @@ public class SamlIdentityProviderIT { private static final String SP_PRIVATE_KEY = "-----BEGIN PRIVATE KEY-----MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDSFoT371C0/klZuPgvKbGItkmTaf5CweNXL8u389d98aOXRpDQ7maTXdV/W+VcL8vUWg8yG6nn8CRwweYnGTNdn9UAdhgknvxQe3pq3EwOJyls4Fpiq6YTh+DQfiZUQizjFjDOr/GG5O2lNvTRkI4XZj/XnWjRqVZwttiA5tm1sKkvGdyOQljwn4Jja/VbITdV8GASumx66Bil/wamSsqIzm2RjsOOGSsf5VjYUPwDobpuSf+j4DLtWjem/9vIzI2wcE30uC8LBAgO3JAlIS9NQrchjS9xhMJRohOoitaSPmqsOy7D2BH0h7XX6TNgv/WYTkBY4eZPao3PsL2A6AmhAgMBAAECggEBAJj11HJAR96/leBBkFGmZaBIOGGgNoOcb023evfADhGgsZ8evamhKgX5t8w2uFPaaOl/eLje82Hvslh2lH+7FW8BRDBFy2Y+ay6d+I99PdLAKKUg5C4bE5v8vm6OqpGGbPAZ5AdYit3QKEa2MKG0QgA/bhQqg3rDdDA0sIWJjtF9MLv7LI7Tm0qgiHOKsI0MEBFk+ZoibgKWYh/dnfGDRWyC3Puqe13rdSheNJYUDR/0QMkd/EJNpLWv06uk+w8w2lU4RgN6TiV76ZZUIGZAAHFgMELJysgtBTCkOQY5roPu17OmMZjKfxngeIfNyd42q3/T6DmUbbwNYfP2HRMoiMECgYEA6SVc1mZ4ykytC9M61rZwT+2zXtJKudQVa0qpTtkf0aznRmnDOuc1bL7ewKIIIp9r5HKVteO6SKgpHmrP+qmvbwZ0Pz51Zg0MetoSmT9m0599/tOU2k6OI09dvQ4Xa3ccN5Czl61Q/HkMeAIDny8MrhGVBwhallE4J4fm/OjuVK0CgYEA5q6IVgqZtfcV1azIF6uOFt6blfn142zrwq0fF39jog2f+4jXaBKw6L4aP0HvIL83UArGppYY31894bLb6YL4EjS2JNbABM2VnJpJd4oGopOE42GCZlZRpf751zOptYAN23NFSujLlfaUfMbyrqIbRFC2DCdzNTU50GT5SAXX80UCgYEAlyvQvHwJCjMZaTd3SU1WGZ1o1qzIIyHvGXh5u1Rxm0TfWPquyfys2WwRhxoI6FoyXRgnFp8oZIAU2VIstL1dsUGgEnnvKVKAqw/HS3Keu80IpziNpdeVtjN59mGysc2zkBvVNx38Cxh6Cz5TFt4s/JkN5ld2VU0oeglWrtph3qkCgYALszZ/BrKdJBcba1QKv0zJpCjIBpGOI2whx54YFwH6qi4/F8W1JZ2LcHjsVG/IfWpUyPciY+KHEdGVrPiyc04Zvkquu6WpmLPJ6ZloUrvbaxgGYF+4yRADF1ecrqYg6onJY6NUFVKeHI+TdJPCf75aTK2vGCEjxbtU8ooiOQmm8QKBgEGe9ZdrwTP9rMQ35jYtzU+dT06k1r9BE9Q8CmrXl0HwK717ZWboX4J0YoFjxZC8PDsMl3p46MJ83rKbLU728uKig1AkZo7/OedxTWvezjZ1+lDyjC2EguXbgY1ecSC2HbJh9g+v8RUuhWxuA7RYoW92xVtKj+6l4vMadVP4Myp8-----END PRIVATE KEY-----"; @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(true); @Rule public LogTester log = new LogTester(); diff --git a/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlMessageIdCheckerIT.java b/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlMessageIdCheckerIT.java index 517269fe80a..59c759fe877 100644 --- a/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlMessageIdCheckerIT.java +++ b/server/sonar-auth-saml/src/it/java/org/sonar/auth/saml/SamlMessageIdCheckerIT.java @@ -38,7 +38,7 @@ import static org.mockito.Mockito.when; public class SamlMessageIdCheckerIT { @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(true); private DbSession dbSession = db.getSession(); diff --git a/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java b/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java index 32f62b39957..6f2d78562db 100644 --- a/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java +++ b/server/sonar-ce-common/src/it/java/org/sonar/ce/queue/CeQueueImplIT.java @@ -70,7 +70,7 @@ public class CeQueueImplIT { private System2 system2 = new TestSystem2().setNow(NOW); @Rule - public DbTester db = DbTester.create(system2); + public DbTester db = DbTester.create(system2, true); private DbSession session = db.getSession(); diff --git a/server/sonar-ce-task/src/it/java/org/sonar/ce/task/log/CeTaskMessagesImplIT.java b/server/sonar-ce-task/src/it/java/org/sonar/ce/task/log/CeTaskMessagesImplIT.java index aab0384acf5..22ad11a1512 100644 --- a/server/sonar-ce-task/src/it/java/org/sonar/ce/task/log/CeTaskMessagesImplIT.java +++ b/server/sonar-ce-task/src/it/java/org/sonar/ce/task/log/CeTaskMessagesImplIT.java @@ -48,7 +48,7 @@ import static org.mockito.Mockito.when; public class CeTaskMessagesImplIT { @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private DbClient dbClient = dbTester.getDbClient(); private UuidFactory uuidFactory = mock(UuidFactory.class); diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/analysis/cache/cleaning/AnalysisCacheCleaningSchedulerImplIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/analysis/cache/cleaning/AnalysisCacheCleaningSchedulerImplIT.java index fe6683c7753..2b049fe59fe 100644 --- a/server/sonar-ce/src/it/java/org/sonar/ce/analysis/cache/cleaning/AnalysisCacheCleaningSchedulerImplIT.java +++ b/server/sonar-ce/src/it/java/org/sonar/ce/analysis/cache/cleaning/AnalysisCacheCleaningSchedulerImplIT.java @@ -47,7 +47,7 @@ public class AnalysisCacheCleaningSchedulerImplIT { private System2 system2 = mock(System2.class); private final static UuidFactory uuidFactory = new SequenceUuidFactory(); @Rule - public DbTester dbTester = DbTester.create(system2); + public DbTester dbTester = DbTester.create(system2, true); private DbSession dbSession = dbTester.getSession(); private ScannerAnalysisCacheDao scannerAnalysisCacheDao = dbTester.getDbClient().scannerAnalysisCacheDao(); diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/container/ComputeEngineContainerImplIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/container/ComputeEngineContainerImplIT.java index 8a57a3f413a..529c1478a45 100644 --- a/server/sonar-ce/src/it/java/org/sonar/ce/container/ComputeEngineContainerImplIT.java +++ b/server/sonar-ce/src/it/java/org/sonar/ce/container/ComputeEngineContainerImplIT.java @@ -62,7 +62,7 @@ public class ComputeEngineContainerImplIT { public TemporaryFolder tempFolder = new TemporaryFolder(); @Rule - public DbTester db = DbTester.create(System2.INSTANCE); + public DbTester db = DbTester.create(System2.INSTANCE, true); private final ServiceLoaderWrapper serviceLoaderWrapper = mock(ServiceLoaderWrapper.class); private final ProcessProperties processProperties = new ProcessProperties(serviceLoaderWrapper); diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/monitoring/CeDatabaseMBeanImplIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/monitoring/CeDatabaseMBeanImplIT.java index 8f43bd9b081..5d1e6df57bb 100644 --- a/server/sonar-ce/src/it/java/org/sonar/ce/monitoring/CeDatabaseMBeanImplIT.java +++ b/server/sonar-ce/src/it/java/org/sonar/ce/monitoring/CeDatabaseMBeanImplIT.java @@ -37,7 +37,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class CeDatabaseMBeanImplIT { @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final CeDatabaseMBeanImpl underTest = new CeDatabaseMBeanImpl(dbTester.getDbClient()); diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java index 3eb49dbfde1..a5e7cc459ee 100644 --- a/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java +++ b/server/sonar-ce/src/it/java/org/sonar/ce/queue/InternalCeQueueImplIT.java @@ -76,7 +76,7 @@ public class InternalCeQueueImplIT { private final System2 system2 = new AlwaysIncreasingSystem2(); @Rule - public DbTester db = DbTester.create(system2); + public DbTester db = DbTester.create(system2, true); private final DbSession session = db.getSession(); private final UuidFactory uuidFactory = UuidFactoryImpl.INSTANCE; @@ -376,7 +376,7 @@ public class InternalCeQueueImplIT { assertThat(peek.get().getUuid()).isEqualTo(task.getUuid()); assertThat(peek.get().getType()).isEqualTo(CeTaskTypes.REPORT); assertThat(peek.get().getComponent()).contains(new CeTask.Component(mainBranchComponent.uuid(), mainBranchComponent.getKey(), mainBranchComponent.name())); - assertThat(peek.get().getEntity()).contains(peek.get().getComponent().get()); + assertThat(peek.get().getEntity()).contains(new CeTask.Component(projectData.getProjectDto().getUuid(), projectData.getProjectDto().getKey(), projectData.getProjectDto().getName())); // no more pending tasks peek = underTest.peek(WORKER_UUID_2, true); diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java index e4cda8dc5e1..4b90610038d 100644 --- a/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java +++ b/server/sonar-ce/src/it/java/org/sonar/ce/queue/NextPendingTaskPickerIT.java @@ -58,7 +58,7 @@ public class NextPendingTaskPickerIT { private NextPendingTaskPicker underTest; @Rule - public DbTester db = DbTester.create(alwaysIncreasingSystem2); + public DbTester db = DbTester.create(alwaysIncreasingSystem2, true); @Before public void before() { diff --git a/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java b/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java index 1fbc8fd3a47..5081a7e27d1 100644 --- a/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java +++ b/server/sonar-ce/src/it/java/org/sonar/ce/taskprocessor/CeWorkerImplIT.java @@ -85,7 +85,7 @@ public class CeWorkerImplIT { @Rule public LogTester logTester = new LogTester(); @Rule - public DbTester db = DbTester.create(system2); + public DbTester db = DbTester.create(system2, true); private DbSession session = db.getSession(); diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/component/AnalysisPropertiesDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/component/AnalysisPropertiesDaoIT.java index b82888d7c64..f76141792cb 100644 --- a/server/sonar-db-dao/src/it/java/org/sonar/db/component/AnalysisPropertiesDaoIT.java +++ b/server/sonar-db-dao/src/it/java/org/sonar/db/component/AnalysisPropertiesDaoIT.java @@ -161,7 +161,7 @@ public class AnalysisPropertiesDaoIT { String analysisUuid = randomAlphanumeric(40); List<AnalysisPropertyDto> propertyDtos = Arrays.asList( - newAnalysisPropertyDto(random.nextInt(10), "key1",analysisUuid), + newAnalysisPropertyDto(random.nextInt(10), "key1", analysisUuid), newAnalysisPropertyDto(random.nextInt(10), "key2", analysisUuid), newAnalysisPropertyDto(random.nextInt(10), "key3", analysisUuid) ); @@ -182,7 +182,8 @@ public class AnalysisPropertiesDaoIT { final String analysisPropertyKey = "key"; for (int i = 0; i < 7; i++) { String uuid = "uuid" + i; - ProjectDto project = dbTester.components().insertPrivateProject(p -> p.setUuid(uuid).setBranchUuid(uuid)).getProjectDto(); + ProjectDto project = dbTester.components().insertPrivateProject(c -> { + }, p -> p.setUuid(uuid)).getProjectDto(); dbTester.components().insertSnapshot(project, s -> s.setLast(true).setUuid(uuid)); // branches shouldn't be taken into account dbTester.components().insertProjectBranch(project); @@ -206,7 +207,7 @@ public class AnalysisPropertiesDaoIT { tuple("uuid3", "undetected"), tuple("uuid4", "git"), tuple("uuid5", "git") - ); + ); } private AnalysisPropertyDto insertAnalysisPropertyDto(int valueLength) { diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/AnalysisPropertiesMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/AnalysisPropertiesMapper.xml index b356165dcd1..d085e0fd203 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/component/AnalysisPropertiesMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/component/AnalysisPropertiesMapper.xml @@ -33,7 +33,7 @@ <select id="selectAnalysisPropertyValueInLastAnalysisPerProject" parameterType="string" resultType="AnalysisPropertyValuePerProject"> select - cp.uuid as "projectUuid", ap.text_value as "propertyValue" + pb.project_uuid as "projectUuid", ap.text_value as "propertyValue" from components cp inner join snapshots s on s.root_component_uuid = cp.uuid inner join analysis_properties ap on ap.analysis_uuid = s.uuid diff --git a/server/sonar-server-common/src/it/java/org/sonar/server/webhook/AsynchronousWebHooksImplIT.java b/server/sonar-server-common/src/it/java/org/sonar/server/webhook/AsynchronousWebHooksImplIT.java index b903fe82604..5d1c8141b4f 100644 --- a/server/sonar-server-common/src/it/java/org/sonar/server/webhook/AsynchronousWebHooksImplIT.java +++ b/server/sonar-server-common/src/it/java/org/sonar/server/webhook/AsynchronousWebHooksImplIT.java @@ -29,6 +29,7 @@ import org.sonar.api.utils.System2; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDbTester; import org.sonar.db.component.ComponentDto; +import org.sonar.db.project.ProjectDto; import org.sonar.db.webhook.WebhookDbTester; import org.sonar.server.async.AsyncExecution; @@ -47,7 +48,7 @@ public class AsynchronousWebHooksImplIT { private final System2 system2 = mock(System2.class); @Rule - public DbTester db = create(system2); + public DbTester db = create(system2, true); private final WebhookDbTester webhookDbTester = db.webhooks(); private final ComponentDbTester componentDbTester = db.components(); @@ -62,14 +63,14 @@ public class AsynchronousWebHooksImplIT { @Test public void send_global_webhooks() { - ComponentDto project = componentDbTester.insertPrivateProject().getMainBranchComponent(); + ProjectDto project = componentDbTester.insertPrivateProject().getProjectDto(); webhookDbTester.insert(newGlobalWebhook().setName("First").setUrl("http://url1"), null, null); webhookDbTester.insert(newGlobalWebhook().setName("Second").setUrl("http://url2"), null, null); caller.enqueueSuccess(NOW, 200, 1_234); caller.enqueueFailure(NOW, new IOException("Fail to connect")); - underTest.sendProjectAnalysisUpdate(new WebHooks.Analysis(project.uuid(), "1", "#1"), () -> mock, mock(LogStatistics.class)); + underTest.sendProjectAnalysisUpdate(new WebHooks.Analysis(project.getUuid(), "1", "#1"), () -> mock, mock(LogStatistics.class)); assertThat(caller.countSent()).isZero(); verifyNoInteractions(deliveryStorage); @@ -78,7 +79,7 @@ public class AsynchronousWebHooksImplIT { assertThat(caller.countSent()).isEqualTo(2); verify(deliveryStorage, times(2)).persist(any(WebhookDelivery.class)); - verify(deliveryStorage).purge(project.uuid()); + verify(deliveryStorage).purge(project.getUuid()); } private static class RecordingAsyncExecution implements AsyncExecution { diff --git a/server/sonar-webserver-api/src/it/java/org/sonar/server/plugins/DetectPluginChangeIT.java b/server/sonar-webserver-api/src/it/java/org/sonar/server/plugins/DetectPluginChangeIT.java index 412565ae931..ef36ce7140f 100644 --- a/server/sonar-webserver-api/src/it/java/org/sonar/server/plugins/DetectPluginChangeIT.java +++ b/server/sonar-webserver-api/src/it/java/org/sonar/server/plugins/DetectPluginChangeIT.java @@ -35,7 +35,7 @@ import static org.mockito.Mockito.when; public class DetectPluginChangeIT { @Rule - public DbTester dbTester = DbTester.create(); + public DbTester dbTester = DbTester.create(true); private final ServerPluginRepository pluginRepository = new ServerPluginRepository(); private final DetectPluginChange detectPluginChange = new DetectPluginChange(pluginRepository, dbTester.getDbClient()); diff --git a/server/sonar-webserver-api/src/it/java/org/sonar/server/rule/CachingRuleFinderIT.java b/server/sonar-webserver-api/src/it/java/org/sonar/server/rule/CachingRuleFinderIT.java index 5d0134b6f29..df8b85bbbe8 100644 --- a/server/sonar-webserver-api/src/it/java/org/sonar/server/rule/CachingRuleFinderIT.java +++ b/server/sonar-webserver-api/src/it/java/org/sonar/server/rule/CachingRuleFinderIT.java @@ -49,7 +49,7 @@ import static org.mockito.Mockito.when; public class CachingRuleFinderIT { @org.junit.Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final DbClient dbClient = dbTester.getDbClient(); private final AlwaysIncreasingSystem2 system2 = new AlwaysIncreasingSystem2(); diff --git a/server/sonar-webserver-api/src/test/java/org/sonar/server/plugins/PluginConsentVerifierTest.java b/server/sonar-webserver-api/src/test/java/org/sonar/server/plugins/PluginConsentVerifierTest.java index 813bac5d10d..86fcf4eb1c0 100644 --- a/server/sonar-webserver-api/src/test/java/org/sonar/server/plugins/PluginConsentVerifierTest.java +++ b/server/sonar-webserver-api/src/test/java/org/sonar/server/plugins/PluginConsentVerifierTest.java @@ -42,7 +42,7 @@ import static org.sonar.core.plugin.PluginType.EXTERNAL; public class PluginConsentVerifierTest { @Rule - public DbTester db = DbTester.create(System2.INSTANCE); + public DbTester db = DbTester.create(System2.INSTANCE, true); @Rule public LogTester logTester = new LogTester(); diff --git a/server/sonar-webserver-api/src/test/java/org/sonar/server/project/ProjectDefaultVisibilityTest.java b/server/sonar-webserver-api/src/test/java/org/sonar/server/project/ProjectDefaultVisibilityTest.java index 3622ea583e4..acf6c291849 100644 --- a/server/sonar-webserver-api/src/test/java/org/sonar/server/project/ProjectDefaultVisibilityTest.java +++ b/server/sonar-webserver-api/src/test/java/org/sonar/server/project/ProjectDefaultVisibilityTest.java @@ -30,7 +30,7 @@ import static org.assertj.core.api.Assertions.assertThatThrownBy; public class ProjectDefaultVisibilityTest { @Rule - public final DbTester db = DbTester.create(); + public final DbTester db = DbTester.create(true); private final ProjectDefaultVisibility underTest = new ProjectDefaultVisibility(db.getDbClient()); diff --git a/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/PersistentSettingsIT.java b/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/PersistentSettingsIT.java index efa71811800..2fb88e57f69 100644 --- a/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/PersistentSettingsIT.java +++ b/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/PersistentSettingsIT.java @@ -33,7 +33,7 @@ import static org.mockito.Mockito.verify; public class PersistentSettingsIT { @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private Settings delegate = new MapSettings(); private SettingsChangeNotifier changeNotifier = mock(SettingsChangeNotifier.class); private PersistentSettings underTest = new PersistentSettings(delegate, dbTester.getDbClient(), changeNotifier); diff --git a/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/StartupMetadataPersisterIT.java b/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/StartupMetadataPersisterIT.java index 89d7050a583..3b31f020c8f 100644 --- a/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/StartupMetadataPersisterIT.java +++ b/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/StartupMetadataPersisterIT.java @@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.assertThat; public class StartupMetadataPersisterIT { @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private StartupMetadata metadata = new StartupMetadata(123_456_789L); private StartupMetadataPersister underTest = new StartupMetadataPersister(metadata, dbTester.getDbClient()); diff --git a/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/serverid/ServerIdManagerIT.java b/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/serverid/ServerIdManagerIT.java index 85754d2e20e..178d99ea61f 100644 --- a/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/serverid/ServerIdManagerIT.java +++ b/server/sonar-webserver-core/src/it/java/org/sonar/server/platform/serverid/ServerIdManagerIT.java @@ -60,7 +60,7 @@ public class ServerIdManagerIT { private static final String CHECKSUM_1 = randomAlphanumeric(12); @Rule - public final DbTester dbTester = DbTester.create(System2.INSTANCE); + public final DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final ServerIdChecksum serverIdChecksum = mock(ServerIdChecksum.class); private final ServerIdFactory serverIdFactory = mock(ServerIdFactory.class); diff --git a/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterMetricsIT.java b/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterMetricsIT.java index 1f1b1db9017..15ceb3456d4 100644 --- a/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterMetricsIT.java +++ b/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterMetricsIT.java @@ -44,7 +44,7 @@ import static org.sonar.core.util.stream.MoreCollectors.uniqueIndex; public class RegisterMetricsIT { @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final UuidFactory uuidFactory = new SequenceUuidFactory(); private final DbClient dbClient = dbTester.getDbClient(); diff --git a/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterPluginsIT.java b/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterPluginsIT.java index 52f24f023df..a52df0e30f4 100644 --- a/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterPluginsIT.java +++ b/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/RegisterPluginsIT.java @@ -51,7 +51,7 @@ public class RegisterPluginsIT { @Rule public TemporaryFolder temp = new TemporaryFolder(); @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final long now = 12345L; private final DbClient dbClient = dbTester.getDbClient(); diff --git a/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/UpgradeSuggestionsCleanerIT.java b/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/UpgradeSuggestionsCleanerIT.java index b621a7e8238..6ad7798b84f 100644 --- a/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/UpgradeSuggestionsCleanerIT.java +++ b/server/sonar-webserver-core/src/it/java/org/sonar/server/startup/UpgradeSuggestionsCleanerIT.java @@ -47,7 +47,7 @@ public class UpgradeSuggestionsCleanerIT { private static final String TASK_UUID = "b8d564dd-4ceb-4dba-8a3d-5fafa2d72cdf"; @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final SonarRuntime sonarRuntime = mock(SonarRuntime.class); private final UpgradeSuggestionsCleaner underTest = new UpgradeSuggestionsCleaner(dbTester.getDbClient(), sonarRuntime); diff --git a/server/sonar-webserver-core/src/it/java/org/sonar/server/webhook/WebhookQGChangeEventListenerIT.java b/server/sonar-webserver-core/src/it/java/org/sonar/server/webhook/WebhookQGChangeEventListenerIT.java index c5b95aa2292..da1561f6320 100644 --- a/server/sonar-webserver-core/src/it/java/org/sonar/server/webhook/WebhookQGChangeEventListenerIT.java +++ b/server/sonar-webserver-core/src/it/java/org/sonar/server/webhook/WebhookQGChangeEventListenerIT.java @@ -44,6 +44,7 @@ import org.sonar.db.DbTester; import org.sonar.db.component.AnalysisPropertyDto; import org.sonar.db.component.BranchDto; import org.sonar.db.component.BranchType; +import org.sonar.db.component.ProjectData; import org.sonar.db.component.SnapshotDto; import org.sonar.db.project.ProjectDto; import org.sonar.server.qualitygate.EvaluatedQualityGate; @@ -71,7 +72,7 @@ public class WebhookQGChangeEventListenerIT { private static final Set<QGChangeEventListener.ChangedIssue> CHANGED_ISSUES_ARE_IGNORED = emptySet(); @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private DbClient dbClient = dbTester.getDbClient(); @@ -267,10 +268,8 @@ public class WebhookQGChangeEventListenerIT { } public ProjectAndBranch insertMainBranch() { - ProjectDto project = dbTester.components().insertPrivateProject().getProjectDto(); - BranchDto branch = dbTester.getDbClient().branchDao().selectByUuid(dbTester.getSession(), project.getUuid()).get(); - dbTester.commit(); - return new ProjectAndBranch(project, branch); + ProjectData project = dbTester.components().insertPrivateProject(); + return new ProjectAndBranch(project.getProjectDto(), project.getMainBranchDto()); } public ProjectAndBranch insertBranch(BranchType type, String branchKey) { diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java index fca9cbc6ae2..0618cc255bf 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/issue/index/AsyncIssueIndexingImplTest.java @@ -65,7 +65,7 @@ import static org.sonar.db.component.SnapshotDto.STATUS_PROCESSED; public class AsyncIssueIndexingImplTest { @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); @Rule public LogTester logTester = new LogTester(); diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckAnyonePermissionsAtStartupTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckAnyonePermissionsAtStartupTest.java index 381a9f7aa91..db0b42ec19f 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckAnyonePermissionsAtStartupTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckAnyonePermissionsAtStartupTest.java @@ -32,6 +32,7 @@ import org.sonar.api.utils.log.LoggerLevel; import org.sonar.db.DbClient; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDto; +import org.sonar.db.project.ProjectDto; import org.sonar.db.user.GroupDto; import static org.assertj.core.api.Assertions.assertThat; @@ -41,7 +42,7 @@ public class CheckAnyonePermissionsAtStartupTest { @ClassRule public static LogTester logTester = new LogTester().setLevel(LoggerLevel.WARN); @Rule - public final DbTester dbTester = DbTester.create(System2.INSTANCE); + public final DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final DbClient dbClient = dbTester.getDbClient(); private final MapSettings settings = new MapSettings(); private final CheckAnyonePermissionsAtStartup underTest = new CheckAnyonePermissionsAtStartup(dbClient, settings.asConfig()); @@ -157,9 +158,9 @@ public class CheckAnyonePermissionsAtStartupTest { private void createPublicProjects(int projectCount, boolean includeAnyonePerm) { IntStream.rangeClosed(1, projectCount).forEach(i -> { - ComponentDto project = dbTester.components().insertPublicProject(p -> p.setKey("key-" + i)).getMainBranchComponent(); + ProjectDto project = dbTester.components().insertPublicProject(p -> p.setKey("key-" + i)).getProjectDto(); if (includeAnyonePerm) { - dbTester.users().insertProjectPermissionOnAnyone("perm-" + i, project); + dbTester.users().insertEntityPermissionOnAnyone("perm-" + i, project); } }); underTest.start(); diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckLanguageSpecificParamsAtStartupTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckLanguageSpecificParamsAtStartupTest.java index 5c2c8fa06fd..99521ea0844 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckLanguageSpecificParamsAtStartupTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/CheckLanguageSpecificParamsAtStartupTest.java @@ -42,7 +42,7 @@ public class CheckLanguageSpecificParamsAtStartupTest { @ClassRule public static LogTester logTester = new LogTester().setLevel(LoggerLevel.WARN); @Rule - public final DbTester dbTester = DbTester.create(System2.INSTANCE); + public final DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final MapSettings settings = new MapSettings(); private final CheckLanguageSpecificParamsAtStartup underTest = new CheckLanguageSpecificParamsAtStartup(settings.asConfig()); diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/AlmConfigurationSectionTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/AlmConfigurationSectionTest.java index 21a7b6ca663..508d982c16b 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/AlmConfigurationSectionTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/AlmConfigurationSectionTest.java @@ -32,7 +32,7 @@ import static org.assertj.core.api.Assertions.tuple; public class AlmConfigurationSectionTest { @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(true); private AlmConfigurationSection underTest = new AlmConfigurationSection(db.getDbClient()); diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/DbConnectionSectionIT.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/DbConnectionSectionIT.java index f5f0e5241d8..3a6407b2d8e 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/DbConnectionSectionIT.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/DbConnectionSectionIT.java @@ -36,7 +36,7 @@ import static org.sonar.process.systeminfo.SystemInfoUtils.attribute; public class DbConnectionSectionIT { @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private final DatabaseVersion databaseVersion = mock(DatabaseVersion.class); private final SonarRuntime runtime = mock(SonarRuntime.class); diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/SettingsSectionTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/SettingsSectionTest.java index a402a307134..9b6aca552c7 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/SettingsSectionTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/monitoring/SettingsSectionTest.java @@ -49,7 +49,7 @@ public class SettingsSectionTest { private static final String PASSWORD_PROPERTY = "sonar.password"; @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private PropertyDefinitions defs = new PropertyDefinitions(System2.INSTANCE, PropertyDefinition.builder(PASSWORD_PROPERTY).type(PropertyType.PASSWORD).build()); private Settings settings = new MapSettings(defs); diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/qualitygate/ProjectsInWarningDaemonTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/qualitygate/ProjectsInWarningDaemonTest.java index 3d4d17d1ecc..ca64dfb02b4 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/qualitygate/ProjectsInWarningDaemonTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/qualitygate/ProjectsInWarningDaemonTest.java @@ -32,7 +32,9 @@ import org.sonar.api.utils.System2; import org.sonar.api.utils.log.LoggerLevel; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDto; +import org.sonar.db.component.ProjectData; import org.sonar.db.metric.MetricDto; +import org.sonar.db.project.ProjectDto; import org.sonar.server.es.EsTester; import org.sonar.server.measure.index.ProjectMeasuresIndex; import org.sonar.server.measure.index.ProjectMeasuresIndexer; @@ -53,7 +55,7 @@ import static org.sonar.server.qualitygate.ProjectsInWarningDaemon.PROJECTS_IN_W public class ProjectsInWarningDaemonTest { @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(true); @Rule public EsTester es = EsTester.create(); @Rule @@ -115,15 +117,15 @@ public class ProjectsInWarningDaemonTest { public void stop_thread_when_number_of_projects_in_warning_reach_zero() throws InterruptedException { allowLockToBeAcquired(); MetricDto qualityGateStatus = insertQualityGateStatusMetric(); - ComponentDto project = insertProjectInWarning(qualityGateStatus); + ProjectData project = insertProjectInWarning(qualityGateStatus); underTest.notifyStart(); assertProjectsInWarningValue(1L); // Set quality gate status of the project to OK => No more projects in warning db.getDbClient().liveMeasureDao().insertOrUpdate(db.getSession(), - newLiveMeasure(project, qualityGateStatus).setData(Metric.Level.OK.name()).setValue(null)); + newLiveMeasure(project.getMainBranchComponent(), qualityGateStatus).setData(Metric.Level.OK.name()).setValue(null)); db.commit(); - projectMeasuresIndexer.indexOnAnalysis(project.uuid()); + projectMeasuresIndexer.indexOnAnalysis(project.projectUuid()); assertProjectsInWarningValue(0L); assertThat(logger.logs(Level.INFO)) @@ -208,11 +210,11 @@ public class ProjectsInWarningDaemonTest { .orElse(0L); } - private ComponentDto insertProjectInWarning(MetricDto qualityGateStatus) { - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); + private ProjectData insertProjectInWarning(MetricDto qualityGateStatus) { + ProjectData project = db.components().insertPrivateProject(); db.measures().insertLiveMeasure(project, qualityGateStatus, lm -> lm.setData(WARN.name()).setValue(null)); - authorizationIndexerTester.allowOnlyAnyone(project); - projectMeasuresIndexer.indexOnAnalysis(project.uuid()); + authorizationIndexerTester.allowOnlyAnyone(project.getProjectDto()); + projectMeasuresIndexer.indexOnAnalysis(project.projectUuid()); return project; } diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/rule/RegisterRulesTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/rule/RegisterRulesTest.java index 89a8a76de27..dd1ca1e7cfe 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/rule/RegisterRulesTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/rule/RegisterRulesTest.java @@ -130,7 +130,7 @@ public class RegisterRulesTest { private final TestSystem2 system = new TestSystem2().setNow(DATE1.getTime()); @org.junit.Rule - public DbTester db = DbTester.create(system); + public DbTester db = DbTester.create(system, true); @org.junit.Rule public EsTester es = EsTester.create(); @org.junit.Rule diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java index 113fcaeb441..3ed6b292343 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/startup/RegisterPermissionTemplatesTest.java @@ -43,7 +43,7 @@ import static org.sonar.server.property.InternalProperties.DEFAULT_PROJECT_TEMPL public class RegisterPermissionTemplatesTest { @Rule - public DbTester db = DbTester.create(System2.INSTANCE); + public DbTester db = DbTester.create(System2.INSTANCE, true); @Rule public LogTester logTester = new LogTester(); diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java index fe33ad00647..52755ce7ca7 100644 --- a/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java +++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/telemetry/TelemetryDataLoaderImplTest.java @@ -48,6 +48,7 @@ import org.sonar.db.DbTester; import org.sonar.db.alm.setting.AlmSettingDto; import org.sonar.db.component.AnalysisPropertyDto; import org.sonar.db.component.ComponentDto; +import org.sonar.db.component.ProjectData; import org.sonar.db.component.SnapshotDto; import org.sonar.db.metric.MetricDto; import org.sonar.db.newcodeperiod.NewCodePeriodType; @@ -102,7 +103,7 @@ public class TelemetryDataLoaderImplTest { private final TestSystem2 system2 = new TestSystem2().setNow(NOW); @Rule - public DbTester db = DbTester.create(system2); + public DbTester db = DbTester.create(system2, true); private final FakeServer server = new FakeServer(); private final PluginRepository pluginRepository = mock(PluginRepository.class); @@ -166,27 +167,29 @@ public class TelemetryDataLoaderImplTest { MetricDto coverage = db.measures().insertMetric(m -> m.setKey(COVERAGE_KEY)); MetricDto nclocDistrib = db.measures().insertMetric(m -> m.setKey(NCLOC_LANGUAGE_DISTRIBUTION_KEY)); - ComponentDto project1 = db.components().insertPrivateProject().getMainBranchComponent(); - db.measures().insertLiveMeasure(project1, lines, m -> m.setValue(110d)); - db.measures().insertLiveMeasure(project1, ncloc, m -> m.setValue(110d)); - db.measures().insertLiveMeasure(project1, coverage, m -> m.setValue(80d)); - db.measures().insertLiveMeasure(project1, nclocDistrib, m -> m.setValue(null).setData("java=70;js=30;kotlin=10")); - db.measures().insertLiveMeasure(project1, bugsDto, m -> m.setValue(1d)); - db.measures().insertLiveMeasure(project1, vulnerabilitiesDto, m -> m.setValue(1d).setData((String) null)); - db.measures().insertLiveMeasure(project1, securityHotspotsDto, m -> m.setValue(1d).setData((String) null)); - db.measures().insertLiveMeasure(project1, developmentCostDto, m -> m.setData("50").setValue(null)); - db.measures().insertLiveMeasure(project1, technicalDebtDto, m -> m.setValue(5d).setData((String) null)); - - ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent(); - db.measures().insertLiveMeasure(project2, lines, m -> m.setValue(200d)); - db.measures().insertLiveMeasure(project2, ncloc, m -> m.setValue(200d)); - db.measures().insertLiveMeasure(project2, coverage, m -> m.setValue(80d)); - db.measures().insertLiveMeasure(project2, nclocDistrib, m -> m.setValue(null).setData("java=180;js=20")); - - SnapshotDto project1Analysis = db.components().insertSnapshot(project1, t -> t.setLast(true).setBuildDate(analysisDate)); - SnapshotDto project2Analysis = db.components().insertSnapshot(project2, t -> t.setLast(true).setBuildDate(analysisDate)); - db.measures().insertMeasure(project1, project1Analysis, nclocDistrib, m -> m.setData("java=70;js=30;kotlin=10")); - db.measures().insertMeasure(project2, project2Analysis, nclocDistrib, m -> m.setData("java=180;js=20")); + ProjectData projectData1 = db.components().insertPrivateProject(); + ComponentDto mainBranch1 = projectData1.getMainBranchComponent(); + db.measures().insertLiveMeasure(mainBranch1, lines, m -> m.setValue(110d)); + db.measures().insertLiveMeasure(mainBranch1, ncloc, m -> m.setValue(110d)); + db.measures().insertLiveMeasure(mainBranch1, coverage, m -> m.setValue(80d)); + db.measures().insertLiveMeasure(mainBranch1, nclocDistrib, m -> m.setValue(null).setData("java=70;js=30;kotlin=10")); + db.measures().insertLiveMeasure(mainBranch1, bugsDto, m -> m.setValue(1d)); + db.measures().insertLiveMeasure(mainBranch1, vulnerabilitiesDto, m -> m.setValue(1d).setData((String) null)); + db.measures().insertLiveMeasure(mainBranch1, securityHotspotsDto, m -> m.setValue(1d).setData((String) null)); + db.measures().insertLiveMeasure(mainBranch1, developmentCostDto, m -> m.setData("50").setValue(null)); + db.measures().insertLiveMeasure(mainBranch1, technicalDebtDto, m -> m.setValue(5d).setData((String) null)); + + ProjectData projectData2 = db.components().insertPrivateProject(); + ComponentDto mainBranch2 = projectData2.getMainBranchComponent(); + db.measures().insertLiveMeasure(mainBranch2, lines, m -> m.setValue(200d)); + db.measures().insertLiveMeasure(mainBranch2, ncloc, m -> m.setValue(200d)); + db.measures().insertLiveMeasure(mainBranch2, coverage, m -> m.setValue(80d)); + db.measures().insertLiveMeasure(mainBranch2, nclocDistrib, m -> m.setValue(null).setData("java=180;js=20")); + + SnapshotDto project1Analysis = db.components().insertSnapshot(mainBranch1, t -> t.setLast(true).setBuildDate(analysisDate)); + SnapshotDto project2Analysis = db.components().insertSnapshot(mainBranch2, t -> t.setLast(true).setBuildDate(analysisDate)); + db.measures().insertMeasure(mainBranch1, project1Analysis, nclocDistrib, m -> m.setData("java=70;js=30;kotlin=10")); + db.measures().insertMeasure(mainBranch2, project2Analysis, nclocDistrib, m -> m.setData("java=180;js=20")); insertAnalysisProperty(project1Analysis, "prop-uuid-1", SONAR_ANALYSIS_DETECTEDCI, "ci-1"); insertAnalysisProperty(project2Analysis, "prop-uuid-2", SONAR_ANALYSIS_DETECTEDCI, "ci-2"); @@ -198,21 +201,21 @@ public class TelemetryDataLoaderImplTest { db.almSettings().insertGitHubAlmSetting(); AlmSettingDto almSettingDto = db.almSettings().insertAzureAlmSetting(a -> a.setUrl("https://dev.azure.com")); AlmSettingDto gitHubAlmSetting = db.almSettings().insertGitHubAlmSetting(a -> a.setUrl("https://api.github.com")); - db.almSettings().insertAzureProjectAlmSetting(almSettingDto, db.components().getProjectDtoByMainBranch(project1)); - db.almSettings().insertGitlabProjectAlmSetting(gitHubAlmSetting, db.components().getProjectDtoByMainBranch(project2)); + db.almSettings().insertAzureProjectAlmSetting(almSettingDto, projectData1.getProjectDto()); + db.almSettings().insertGitlabProjectAlmSetting(gitHubAlmSetting, projectData2.getProjectDto()); // quality gates QualityGateDto qualityGate1 = db.qualityGates().insertQualityGate(qg -> qg.setName("QG1").setBuiltIn(true)); QualityGateDto qualityGate2 = db.qualityGates().insertQualityGate(qg -> qg.setName("QG2")); // link one project to a non-default QG - db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(project1), qualityGate1); + db.qualityGates().associateProjectToQualityGate(db.components().getProjectDtoByMainBranch(mainBranch1), qualityGate1); - var branch1 = db.components().insertProjectBranch(project1, branchDto -> branchDto.setKey("reference")); - var branch2 = db.components().insertProjectBranch(project1, branchDto -> branchDto.setKey("custom")); + var branch1 = db.components().insertProjectBranch(mainBranch1, branchDto -> branchDto.setKey("reference")); + var branch2 = db.components().insertProjectBranch(mainBranch1, branchDto -> branchDto.setKey("custom")); - var ncd1 = db.newCodePeriods().insert(project1.uuid(), NewCodePeriodType.NUMBER_OF_DAYS, "30"); - var ncd2 = db.newCodePeriods().insert(project1.uuid(), branch2.branchUuid(), NewCodePeriodType.REFERENCE_BRANCH, "reference"); + var ncd1 = db.newCodePeriods().insert(projectData1.projectUuid(), NewCodePeriodType.NUMBER_OF_DAYS, "30"); + var ncd2 = db.newCodePeriods().insert(projectData1.projectUuid(), branch2.branchUuid(), NewCodePeriodType.REFERENCE_BRANCH, "reference"); var instanceNcdId = NewCodeDefinition.getInstanceDefault().hashCode(); var projectNcdId = new NewCodeDefinition(NewCodePeriodType.NUMBER_OF_DAYS.name(), "30", "project").hashCode(); @@ -240,11 +243,11 @@ public class TelemetryDataLoaderImplTest { assertThat(data.getProjects()) .extracting(TelemetryData.Project::projectUuid, TelemetryData.Project::language, TelemetryData.Project::loc, TelemetryData.Project::lastAnalysis) .containsExactlyInAnyOrder( - tuple(project1.uuid(), "java", 70L, analysisDate), - tuple(project1.uuid(), "js", 30L, analysisDate), - tuple(project1.uuid(), "kotlin", 10L, analysisDate), - tuple(project2.uuid(), "java", 180L, analysisDate), - tuple(project2.uuid(), "js", 20L, analysisDate)); + tuple(projectData1.projectUuid(), "java", 70L, analysisDate), + tuple(projectData1.projectUuid(), "js", 30L, analysisDate), + tuple(projectData1.projectUuid(), "kotlin", 10L, analysisDate), + tuple(projectData2.projectUuid(), "java", 180L, analysisDate), + tuple(projectData2.projectUuid(), "js", 20L, analysisDate)); assertThat(data.getProjectStatistics()) .extracting(ProjectStatistics::getBranchCount, ProjectStatistics::getPullRequestCount, ProjectStatistics::getQualityGate, ProjectStatistics::getScm, ProjectStatistics::getCi, ProjectStatistics::getDevopsPlatform, @@ -261,8 +264,8 @@ public class TelemetryDataLoaderImplTest { .containsExactlyInAnyOrder( tuple(branch1.uuid(), projectNcdId), tuple(branch2.uuid(), branchNcdId), - tuple(project1.uuid(), projectNcdId), - tuple(project2.uuid(), instanceNcdId)); + tuple(mainBranch1.uuid(), projectNcdId), + tuple(mainBranch2.uuid(), instanceNcdId)); assertThat(data.getNewCodeDefinitions()) .extracting(NewCodeDefinition::scope, NewCodeDefinition::type, NewCodeDefinition::value) @@ -286,22 +289,24 @@ public class TelemetryDataLoaderImplTest { MetricDto qg = db.measures().insertMetric(m -> m.setKey(ALERT_STATUS_KEY)); - ComponentDto project1 = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectData projectData1 = db.components().insertPrivateProject(); + ComponentDto mainBranch1 = projectData1.getMainBranchComponent(); - ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectData projectData2 = db.components().insertPrivateProject(); + ComponentDto mainBranch2 = projectData2.getMainBranchComponent(); - SnapshotDto project1Analysis1 = db.components().insertSnapshot(project1, t -> t.setLast(true).setBuildDate(analysisDate)); - SnapshotDto project1Analysis2 = db.components().insertSnapshot(project1, t -> t.setLast(true).setBuildDate(analysisDate)); - SnapshotDto project2Analysis = db.components().insertSnapshot(project2, t -> t.setLast(true).setBuildDate(analysisDate)); - db.measures().insertMeasure(project1, project1Analysis1, qg, pm -> pm.setData("OK")); - db.measures().insertMeasure(project1, project1Analysis2, qg, pm -> pm.setData("ERROR")); - db.measures().insertMeasure(project2, project2Analysis, qg, pm -> pm.setData("ERROR")); + SnapshotDto project1Analysis1 = db.components().insertSnapshot(mainBranch1, t -> t.setLast(true).setBuildDate(analysisDate)); + SnapshotDto project1Analysis2 = db.components().insertSnapshot(mainBranch1, t -> t.setLast(true).setBuildDate(analysisDate)); + SnapshotDto project2Analysis = db.components().insertSnapshot(mainBranch2, t -> t.setLast(true).setBuildDate(analysisDate)); + db.measures().insertMeasure(mainBranch1, project1Analysis1, qg, pm -> pm.setData("OK")); + db.measures().insertMeasure(mainBranch1, project1Analysis2, qg, pm -> pm.setData("ERROR")); + db.measures().insertMeasure(mainBranch2, project2Analysis, qg, pm -> pm.setData("ERROR")); - var branch1 = db.components().insertProjectBranch(project1, branchDto -> branchDto.setKey("reference")); - var branch2 = db.components().insertProjectBranch(project1, branchDto -> branchDto.setKey("custom")); + var branch1 = db.components().insertProjectBranch(mainBranch1, branchDto -> branchDto.setKey("reference")); + var branch2 = db.components().insertProjectBranch(mainBranch1, branchDto -> branchDto.setKey("custom")); - db.newCodePeriods().insert(project1.uuid(), NewCodePeriodType.NUMBER_OF_DAYS, "30"); - db.newCodePeriods().insert(project1.uuid(), branch2.branchUuid(), NewCodePeriodType.REFERENCE_BRANCH, "reference"); + db.newCodePeriods().insert(projectData1.projectUuid(), NewCodePeriodType.NUMBER_OF_DAYS, "30"); + db.newCodePeriods().insert(projectData1.projectUuid(), branch2.branchUuid(), NewCodePeriodType.REFERENCE_BRANCH, "reference"); var instanceNcdId = NewCodeDefinition.getInstanceDefault().hashCode(); var projectNcdId = new NewCodeDefinition(NewCodePeriodType.NUMBER_OF_DAYS.name(), "30", "project").hashCode(); @@ -314,8 +319,8 @@ public class TelemetryDataLoaderImplTest { .containsExactlyInAnyOrder( tuple(branch1.uuid(), projectNcdId, 0, 0), tuple(branch2.uuid(), branchNcdId, 0, 0), - tuple(project1.uuid(), projectNcdId, 1, 2), - tuple(project2.uuid(), instanceNcdId, 0, 1)); + tuple(mainBranch1.uuid(), projectNcdId, 1, 2), + tuple(mainBranch2.uuid(), instanceNcdId, 0, 1)); } @@ -349,30 +354,31 @@ public class TelemetryDataLoaderImplTest { MetricDto coverage = db.measures().insertMetric(m -> m.setKey(COVERAGE_KEY)); MetricDto nclocDistrib = db.measures().insertMetric(m -> m.setKey(NCLOC_LANGUAGE_DISTRIBUTION_KEY)); - ComponentDto project = db.components().insertPublicProject().getMainBranchComponent(); - db.measures().insertLiveMeasure(project, lines, m -> m.setValue(110d)); - db.measures().insertLiveMeasure(project, ncloc, m -> m.setValue(110d)); - db.measures().insertLiveMeasure(project, coverage, m -> m.setValue(80d)); - db.measures().insertLiveMeasure(project, nclocDistrib, m -> m.setValue(null).setData("java=70;js=30;kotlin=10")); + ProjectData projectData = db.components().insertPublicProject(); + ComponentDto mainBranch = projectData.getMainBranchComponent(); + db.measures().insertLiveMeasure(mainBranch, lines, m -> m.setValue(110d)); + db.measures().insertLiveMeasure(mainBranch, ncloc, m -> m.setValue(110d)); + db.measures().insertLiveMeasure(mainBranch, coverage, m -> m.setValue(80d)); + db.measures().insertLiveMeasure(mainBranch, nclocDistrib, m -> m.setValue(null).setData("java=70;js=30;kotlin=10")); - ComponentDto branch = db.components().insertProjectBranch(project, b -> b.setBranchType(BRANCH)); + ComponentDto branch = db.components().insertProjectBranch(mainBranch, b -> b.setBranchType(BRANCH)); db.measures().insertLiveMeasure(branch, lines, m -> m.setValue(180d)); db.measures().insertLiveMeasure(branch, ncloc, m -> m.setValue(180d)); db.measures().insertLiveMeasure(branch, coverage, m -> m.setValue(80d)); db.measures().insertLiveMeasure(branch, nclocDistrib, m -> m.setValue(null).setData("java=100;js=50;kotlin=30")); - SnapshotDto project1Analysis = db.components().insertSnapshot(project, t -> t.setLast(true)); + SnapshotDto project1Analysis = db.components().insertSnapshot(mainBranch, t -> t.setLast(true)); SnapshotDto project2Analysis = db.components().insertSnapshot(branch, t -> t.setLast(true)); - db.measures().insertMeasure(project, project1Analysis, nclocDistrib, m -> m.setData("java=70;js=30;kotlin=10")); + db.measures().insertMeasure(mainBranch, project1Analysis, nclocDistrib, m -> m.setData("java=70;js=30;kotlin=10")); db.measures().insertMeasure(branch, project2Analysis, nclocDistrib, m -> m.setData("java=100;js=50;kotlin=30")); TelemetryData data = communityUnderTest.load(); assertThat(data.getProjects()).extracting(TelemetryData.Project::projectUuid, TelemetryData.Project::language, TelemetryData.Project::loc) .containsExactlyInAnyOrder( - tuple(project.uuid(), "java", 100L), - tuple(project.uuid(), "js", 50L), - tuple(project.uuid(), "kotlin", 30L)); + tuple(projectData.projectUuid(), "java", 100L), + tuple(projectData.projectUuid(), "js", 50L), + tuple(projectData.projectUuid(), "kotlin", 30L)); assertThat(data.getProjectStatistics()) .extracting(ProjectStatistics::getBranchCount, ProjectStatistics::getPullRequestCount, ProjectStatistics::getScm, ProjectStatistics::getCi) @@ -385,11 +391,11 @@ public class TelemetryDataLoaderImplTest { server.setId("AU-TpxcB-iU5OvuD2FL7").setVersion("7.5.4"); when(editionProvider.get()).thenReturn(Optional.of(COMMUNITY)); - ComponentDto project = db.components().insertPublicProject().getMainBranchComponent(); + ProjectData project = db.components().insertPublicProject(); - ComponentDto branch = db.components().insertProjectBranch(project, b -> b.setBranchType(BRANCH)); + ComponentDto branch = db.components().insertProjectBranch(project.getMainBranchComponent(), b -> b.setBranchType(BRANCH)); - db.newCodePeriods().insert(project.uuid(), branch.branchUuid(), NewCodePeriodType.NUMBER_OF_DAYS, "30"); + db.newCodePeriods().insert(project.projectUuid(), branch.branchUuid(), NewCodePeriodType.NUMBER_OF_DAYS, "30"); var projectNcdId = new NewCodeDefinition(NewCodePeriodType.NUMBER_OF_DAYS.name(), "30", "project").hashCode(); diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/component/index/ComponentIndexSearchTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/component/index/ComponentIndexSearchTest.java index 7d32bcd743d..9f0414d5e4b 100644 --- a/server/sonar-webserver-es/src/test/java/org/sonar/server/component/index/ComponentIndexSearchTest.java +++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/component/index/ComponentIndexSearchTest.java @@ -28,6 +28,9 @@ import org.sonar.api.resources.Qualifiers; import org.sonar.api.utils.System2; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDto; +import org.sonar.db.component.ProjectData; +import org.sonar.db.entity.EntityDto; +import org.sonar.db.project.ProjectDto; import org.sonar.server.es.EsTester; import org.sonar.server.es.SearchIdResult; import org.sonar.server.es.SearchOptions; @@ -43,7 +46,7 @@ public class ComponentIndexSearchTest { @Rule public EsTester es = EsTester.create(); @Rule - public DbTester db = DbTester.create(System2.INSTANCE); + public DbTester db = DbTester.create(System2.INSTANCE, true); @Rule public UserSessionRule userSession = UserSessionRule.standalone().logIn(); @Rule @@ -55,79 +58,84 @@ public class ComponentIndexSearchTest { @Test public void filter_by_name() { - ComponentDto ignoredProject = db.components().insertPrivateProject(p -> p.setName("ignored project")).getMainBranchComponent(); - ComponentDto project = db.components().insertPrivateProject(p -> p.setName("Project Shiny name")).getMainBranchComponent(); - index(ignoredProject, project); + ProjectData ignoredProject = db.components().insertPrivateProject(p -> p.setName("ignored project")); + ProjectData project = db.components().insertPrivateProject(p -> p.setName("Project Shiny name")); + index(ignoredProject.getProjectDto(), project.getProjectDto()); SearchIdResult<String> result = underTest.search(ComponentQuery.builder().setQuery("shiny").build(), new SearchOptions()); - assertThat(result.getUuids()).containsExactlyInAnyOrder(project.uuid()); + assertThat(result.getUuids()).containsExactlyInAnyOrder(project.projectUuid()); } @Test public void filter_by_key_with_exact_match() { - ComponentDto ignoredProject = db.components().insertPrivateProject(p -> p.setKey("ignored-project")).getMainBranchComponent(); - ComponentDto project = db.components().insertPrivateProject(p -> p.setKey("shiny-project")).getMainBranchComponent(); + ProjectData ignoredProject = db.components().insertPrivateProject(p -> p.setKey("ignored-project")); + ProjectData project = db.components().insertPrivateProject(p -> p.setKey("shiny-project")); db.components().insertPrivateProject(p -> p.setKey("another-shiny-project")).getMainBranchComponent(); - index(ignoredProject, project); + index(ignoredProject.getProjectDto(), project.getProjectDto()); SearchIdResult<String> result = underTest.search(ComponentQuery.builder().setQuery("shiny-project").build(), new SearchOptions()); - assertThat(result.getUuids()).containsExactlyInAnyOrder(project.uuid()); + assertThat(result.getUuids()).containsExactlyInAnyOrder(project.projectUuid()); } @Test public void filter_by_qualifier() { - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectData project = db.components().insertPrivateProject(); ComponentDto portfolio = db.components().insertPrivatePortfolio(); - index(project); - index(portfolio); + index(project.getProjectDto()); + index(db.components().getPortfolioDto(portfolio)); SearchIdResult<String> result = underTest.search(ComponentQuery.builder().setQualifiers(singleton(Qualifiers.PROJECT)).build(), new SearchOptions()); - assertThat(result.getUuids()).containsExactlyInAnyOrder(project.uuid()); + assertThat(result.getUuids()).containsExactlyInAnyOrder(project.projectUuid()); } @Test public void order_by_name_case_insensitive() { - ComponentDto project2 = db.components().insertPrivateProject(p -> p.setName("PROJECT 2")).getMainBranchComponent(); - ComponentDto project3 = db.components().insertPrivateProject(p -> p.setName("project 3")).getMainBranchComponent(); - ComponentDto project1 = db.components().insertPrivateProject(p -> p.setName("Project 1")).getMainBranchComponent(); - index(project1, project2, project3); + ProjectData project2 = db.components().insertPrivateProject(p -> p.setName("PROJECT 2")); + ProjectData project3 = db.components().insertPrivateProject(p -> p.setName("project 3")); + ProjectData project1 = db.components().insertPrivateProject(p -> p.setName("Project 1")); + index(project1.getProjectDto(), project2.getProjectDto(), project3.getProjectDto()); SearchIdResult<String> result = underTest.search(ComponentQuery.builder().build(), new SearchOptions()); - assertThat(result.getUuids()).containsExactly(project1.uuid(), project2.uuid(), project3.uuid()); + assertThat(result.getUuids()).containsExactly(project1.projectUuid(), + project2.projectUuid(), + project3.projectUuid()); } @Test public void paginate_results() { - List<ComponentDto> projects = IntStream.range(0, 9) - .mapToObj(i -> db.components().insertPrivateProject(p -> p.setName("project " + i)).getMainBranchComponent()) + List<ProjectData> projects = IntStream.range(0, 9) + .mapToObj(i -> db.components().insertPrivateProject(p -> p.setName("project " + i))) .toList(); - index(projects.toArray(new ComponentDto[0])); + ProjectDto[] projectDtos = projects.stream().map(p -> p.getProjectDto()).toArray(ProjectDto[]::new); + index(projectDtos); SearchIdResult<String> result = underTest.search(ComponentQuery.builder().build(), new SearchOptions().setPage(2, 3)); - assertThat(result.getUuids()).containsExactlyInAnyOrder(projects.get(3).uuid(), projects.get(4).uuid(), projects.get(5).uuid()); + assertThat(result.getUuids()).containsExactlyInAnyOrder(projects.get(3).projectUuid(), + projects.get(4).projectUuid(), + projects.get(5).projectUuid()); } @Test public void filter_unauthorized_components() { - ComponentDto unauthorizedProject = db.components().insertPrivateProject().getMainBranchComponent(); - ComponentDto project1 = db.components().insertPrivateProject().getMainBranchComponent(); - ComponentDto project2 = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectDto unauthorizedProject = db.components().insertPrivateProject().getProjectDto(); + ProjectDto project1 = db.components().insertPrivateProject().getProjectDto(); + ProjectDto project2 = db.components().insertPrivateProject().getProjectDto(); indexer.indexAll(); authorizationIndexerTester.allowOnlyAnyone(project1); authorizationIndexerTester.allowOnlyAnyone(project2); SearchIdResult<String> result = underTest.search(ComponentQuery.builder().build(), new SearchOptions()); - assertThat(result.getUuids()).containsExactlyInAnyOrder(project1.uuid(), project2.uuid()) - .doesNotContain(unauthorizedProject.uuid()); + assertThat(result.getUuids()).containsExactlyInAnyOrder(project1.getUuid(), project2.getUuid()) + .doesNotContain(unauthorizedProject.getUuid()); } - private void index(ComponentDto... components) { + private void index(EntityDto... components) { indexer.indexAll(); Arrays.stream(components).forEach(authorizationIndexerTester::allowOnlyAnyone); } diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/es/RecoveryIndexerTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/es/RecoveryIndexerTest.java index a87e495aa10..44d133b3b3f 100644 --- a/server/sonar-webserver-es/src/test/java/org/sonar/server/es/RecoveryIndexerTest.java +++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/es/RecoveryIndexerTest.java @@ -67,7 +67,7 @@ public class RecoveryIndexerTest { @Rule public EsTester es = EsTester.createCustom(); @Rule - public DbTester db = DbTester.create(system2); + public DbTester db = DbTester.create(system2, true); @Rule public LogTester logTester = new LogTester().setLevel(TRACE); @Rule diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java index c9adbb2cede..2e888fdb0ef 100644 --- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java +++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexSyncProgressCheckerTest.java @@ -37,6 +37,7 @@ import org.sonar.db.ce.CeQueueDto; import org.sonar.db.ce.CeQueueDto.Status; import org.sonar.db.ce.CeTaskTypes; import org.sonar.db.component.ComponentDto; +import org.sonar.db.component.ProjectData; import org.sonar.db.project.ProjectDto; import org.sonar.server.es.EsIndexSyncInProgressException; @@ -51,7 +52,7 @@ public class IssueIndexSyncProgressCheckerTest { private final System2 system2 = new System2(); @Rule - public DbTester db = DbTester.create(System2.INSTANCE); + public DbTester db = DbTester.create(System2.INSTANCE, true); private final IssueIndexSyncProgressChecker underTest = new IssueIndexSyncProgressChecker(db.getDbClient()); @@ -82,16 +83,16 @@ public class IssueIndexSyncProgressCheckerTest { public void return_has_failure_true_if_exists_task() { assertThat(underTest.getIssueSyncProgress(db.getSession()).hasFailures()).isFalse(); - ProjectDto projectDto1 = insertProjectWithBranches(false, 0); - insertCeActivity("TASK_1", projectDto1, SUCCESS); + ProjectData projectData1 = insertProjectWithBranches(false, 0); + insertCeActivity("TASK_1", projectData1, SUCCESS); - ProjectDto projectDto2 = insertProjectWithBranches(false, 0); - insertCeActivity("TASK_2", projectDto2, SUCCESS); + ProjectData projectData2 = insertProjectWithBranches(false, 0); + insertCeActivity("TASK_2", projectData2, SUCCESS); assertThat(underTest.getIssueSyncProgress(db.getSession()).hasFailures()).isFalse(); - ProjectDto projectDto3 = insertProjectWithBranches(true, 0); - insertCeActivity("TASK_3", projectDto3, FAILED); + ProjectData projectData3 = insertProjectWithBranches(true, 0); + insertCeActivity("TASK_3", projectData3, FAILED); assertThat(underTest.getIssueSyncProgress(db.getSession()).hasFailures()).isTrue(); } @@ -205,10 +206,10 @@ public class IssueIndexSyncProgressCheckerTest { @Test public void checkIfAnyComponentsNeedIssueSync_throws_exception_if_all_components_have_need_issue_sync_TRUE() { - ProjectDto projectDto1 = insertProjectWithBranches(true, 0); - ProjectDto projectDto2 = insertProjectWithBranches(true, 0); + ProjectData projectData1 = insertProjectWithBranches(true, 0); + ProjectData projectData2 = insertProjectWithBranches(true, 0); DbSession session = db.getSession(); - List<String> projectKeys = Arrays.asList(projectDto1.getKey(), projectDto2.getKey()); + List<String> projectKeys = Arrays.asList(projectData1.getProjectDto().getKey(), projectData2.getProjectDto().getKey()); assertThatThrownBy(() -> underTest.checkIfAnyComponentsNeedIssueSync(session, projectKeys)) .isInstanceOf(EsIndexSyncInProgressException.class) .hasFieldOrPropertyWithValue("httpCode", 503) @@ -218,18 +219,18 @@ public class IssueIndexSyncProgressCheckerTest { @Test public void checkIfAnyComponentsNeedIssueSync_does_not_throw_exception_if_all_components_have_need_issue_sync_FALSE() { underTest.checkIfAnyComponentsNeedIssueSync(db.getSession(), Collections.emptyList()); - ProjectDto projectDto1 = insertProjectWithBranches(false, 0); - ProjectDto projectDto2 = insertProjectWithBranches(false, 0); - underTest.checkIfAnyComponentsNeedIssueSync(db.getSession(), Arrays.asList(projectDto1.getKey(), projectDto2.getKey())); + ProjectData projectData1 = insertProjectWithBranches(false, 0); + ProjectData projectData2 = insertProjectWithBranches(false, 0); + underTest.checkIfAnyComponentsNeedIssueSync(db.getSession(), Arrays.asList(projectData1.getProjectDto().getKey(), projectData2.getProjectDto().getKey())); } @Test public void checkIfAnyComponentsNeedIssueSync_throws_exception_if_at_least_one_component_has_need_issue_sync_TRUE() { - ProjectDto projectDto1 = insertProjectWithBranches(false, 0); - ProjectDto projectDto2 = insertProjectWithBranches(true, 0); + ProjectData projectData1 = insertProjectWithBranches(false, 0); + ProjectData projectData2 = insertProjectWithBranches(true, 0); DbSession session = db.getSession(); - List<String> projectKeys = Arrays.asList(projectDto1.getKey(), projectDto2.getKey()); + List<String> projectKeys = Arrays.asList(projectData1.getProjectDto().getKey(), projectData2.getProjectDto().getKey()); assertThatThrownBy(() -> underTest.checkIfAnyComponentsNeedIssueSync(session, projectKeys)) .isInstanceOf(EsIndexSyncInProgressException.class) .hasFieldOrPropertyWithValue("httpCode", 503) @@ -238,15 +239,15 @@ public class IssueIndexSyncProgressCheckerTest { @Test public void checkIfComponentNeedIssueSync_single_component() { - ProjectDto projectDto1 = insertProjectWithBranches(true, 0); - ProjectDto projectDto2 = insertProjectWithBranches(false, 0); + ProjectData projectData1 = insertProjectWithBranches(true, 0); + ProjectData projectData2 = insertProjectWithBranches(false, 0); DbSession session = db.getSession(); // do nothing when need issue sync false - underTest.checkIfComponentNeedIssueSync(session, projectDto2.getKey()); + underTest.checkIfComponentNeedIssueSync(session, projectData2.getProjectDto().getKey()); // throws if flag set to TRUE - String key = projectDto1.getKey(); + String key = projectData1.getProjectDto().getKey(); assertThatThrownBy(() -> underTest.checkIfComponentNeedIssueSync(session, key)) .isInstanceOf(EsIndexSyncInProgressException.class) .hasFieldOrPropertyWithValue("httpCode", 503) @@ -255,14 +256,14 @@ public class IssueIndexSyncProgressCheckerTest { @Test public void checkIfAnyComponentsNeedIssueSync_single_view_subview_or_app() { - ProjectDto projectDto1 = insertProjectWithBranches(true, 0); + ProjectData projectData1 = insertProjectWithBranches(true, 0); ComponentDto app = db.components().insertPublicApplication().getMainBranchComponent(); ComponentDto view = db.components().insertPrivatePortfolio(); ComponentDto subview = db.components().insertSubView(view); DbSession session = db.getSession(); - List<String> appViewOrSubviewKeys = Arrays.asList(projectDto1.getKey(), app.getKey(), view.getKey(), subview.getKey()); + List<String> appViewOrSubviewKeys = Arrays.asList(projectData1.getProjectDto().getKey(), app.getKey(), view.getKey(), subview.getKey()); // throws if flag set to TRUE assertThatThrownBy(() -> underTest.checkIfAnyComponentsNeedIssueSync(session, @@ -287,32 +288,32 @@ public class IssueIndexSyncProgressCheckerTest { @Test public void doProjectNeedIssueSync() { - ProjectDto projectDto1 = insertProjectWithBranches(false, 0); - assertThat(underTest.doProjectNeedIssueSync(db.getSession(), projectDto1.getUuid())).isFalse(); - ProjectDto projectDto2 = insertProjectWithBranches(true, 0); - assertThat(underTest.doProjectNeedIssueSync(db.getSession(), projectDto2.getUuid())).isTrue(); + ProjectData projectData1 = insertProjectWithBranches(false, 0); + assertThat(underTest.doProjectNeedIssueSync(db.getSession(), projectData1.getProjectDto().getUuid())).isFalse(); + ProjectData projectData2 = insertProjectWithBranches(true, 0); + assertThat(underTest.doProjectNeedIssueSync(db.getSession(), projectData2.getProjectDto().getUuid())).isTrue(); } @Test public void findProjectUuidsWithIssuesSyncNeed() { - ProjectDto projectDto1 = insertProjectWithBranches(false, 0); - ProjectDto projectDto2 = insertProjectWithBranches(false, 0); - ProjectDto projectDto3 = insertProjectWithBranches(true, 0); - ProjectDto projectDto4 = insertProjectWithBranches(true, 0); + ProjectData projectData1 = insertProjectWithBranches(false, 0); + ProjectData projectData2 = insertProjectWithBranches(false, 0); + ProjectData projectData3 = insertProjectWithBranches(true, 0); + ProjectData projectData4 = insertProjectWithBranches(true, 0); assertThat(underTest.findProjectUuidsWithIssuesSyncNeed(db.getSession(), - Arrays.asList(projectDto1.getUuid(), projectDto2.getUuid(), projectDto3.getUuid(), projectDto4.getUuid()))) - .containsOnly(projectDto3.getUuid(), projectDto4.getUuid()); + Arrays.asList(projectData1.getProjectDto().getUuid(), projectData2.getProjectDto().getUuid(), projectData3.getProjectDto().getUuid(), projectData4.getProjectDto().getUuid()))) + .containsOnly(projectData3.getProjectDto().getUuid(), projectData4.getProjectDto().getUuid()); } - private ProjectDto insertProjectWithBranches(boolean needIssueSync, int numberOfBranches) { - ProjectDto projectDto = db.components() + private ProjectData insertProjectWithBranches(boolean needIssueSync, int numberOfBranches) { + ProjectData projectData = db.components() .insertPrivateProject(branchDto -> branchDto.setNeedIssueSync(needIssueSync), c -> { }, p -> { - }).getProjectDto(); + }); IntStream.range(0, numberOfBranches).forEach( - i -> db.components().insertProjectBranch(projectDto, branchDto -> branchDto.setNeedIssueSync(needIssueSync))); - return projectDto; + i -> db.components().insertProjectBranch(projectData.getProjectDto(), branchDto -> branchDto.setNeedIssueSync(needIssueSync))); + return projectData; } private CeQueueDto insertCeQueue(String uuid, CeQueueDto.Status status) { @@ -324,14 +325,14 @@ public class IssueIndexSyncProgressCheckerTest { return queueDto; } - private CeActivityDto insertCeActivity(String uuid, ProjectDto projectDto, CeActivityDto.Status status) { + private CeActivityDto insertCeActivity(String uuid, ProjectData projectData, CeActivityDto.Status status) { CeQueueDto queueDto = new CeQueueDto(); queueDto.setUuid(uuid); queueDto.setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC); CeActivityDto dto = new CeActivityDto(queueDto); - dto.setComponentUuid(projectDto.getUuid()); - dto.setEntityUuid(projectDto.getUuid()); + dto.setComponentUuid(projectData.getMainBranchComponent().uuid()); + dto.setEntityUuid(projectData.projectUuid()); dto.setStatus(status); dto.setTaskType(CeTaskTypes.BRANCH_ISSUE_SYNC); dto.setAnalysisUuid(uuid + "_AA"); diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTestCommon.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTestCommon.java index 4fea3b36ef9..762cf3ddfd4 100644 --- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTestCommon.java +++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueIndexTestCommon.java @@ -52,7 +52,7 @@ public class IssueIndexTestCommon { public UserSessionRule userSessionRule = UserSessionRule.standalone(); protected final System2 system2 = new TestSystem2().setNow(1_500_000_000_000L).setDefaultTimeZone(getTimeZone("GMT-01:00")); @Rule - public DbTester db = DbTester.create(system2); + public DbTester db = DbTester.create(system2, true); private final AsyncIssueIndexing asyncIssueIndexing = mock(AsyncIssueIndexing.class); protected final IssueIndexer issueIndexer = new IssueIndexer(es.client(), db.getDbClient(), new IssueIteratorFactory(db.getDbClient()), asyncIssueIndexing); diff --git a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java index fbd161d712e..9a95f7fb319 100644 --- a/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java +++ b/server/sonar-webserver-es/src/test/java/org/sonar/server/issue/index/IssueQueryFactoryTest.java @@ -69,7 +69,7 @@ public class IssueQueryFactoryTest { @Rule public UserSessionRule userSession = UserSessionRule.standalone(); @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(true); @Rule public LogTester logTester = new LogTester(); @@ -81,7 +81,8 @@ public class IssueQueryFactoryTest { public void create_from_parameters() { String ruleAdHocName = "New Name"; UserDto user = db.users().insertUser(u -> u.setLogin("joanna")); - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectData projectData = db.components().insertPrivateProject(); + ComponentDto project = projectData.getMainBranchComponent(); ComponentDto file = db.components().insertComponent(newFileDto(project)); RuleDto rule1 = ruleDbTester.insert(r -> r.setAdHocName(ruleAdHocName)); @@ -115,7 +116,7 @@ public class IssueQueryFactoryTest { assertThat(query.statuses()).containsOnly("CLOSED"); assertThat(query.resolutions()).containsOnly("FALSE-POSITIVE"); assertThat(query.resolved()).isTrue(); - assertThat(query.projectUuids()).containsOnly(project.uuid()); + assertThat(query.projectUuids()).containsOnly(projectData.projectUuid()); assertThat(query.files()).containsOnly(file.uuid()); assertThat(query.assignees()).containsOnly(user.getUuid()); assertThat(query.scopes()).containsOnly("TEST", "MAIN"); @@ -316,15 +317,16 @@ public class IssueQueryFactoryTest { ProjectData projectData2 = db.components().insertPublicProject(); ComponentDto project2 = projectData2.getMainBranchComponent(); ProjectData applicationData = db.components().insertPublicApplication(); - ComponentDto application = applicationData.getMainBranchComponent(); - db.components().insertComponents(newProjectCopy("PC1", project1, application)); - db.components().insertComponents(newProjectCopy("PC2", project2, application)); + ComponentDto applicationMainBranch = applicationData.getMainBranchComponent(); + db.components().insertComponents(newProjectCopy("PC1", project1, applicationMainBranch)); + db.components().insertComponents(newProjectCopy("PC2", project2, applicationMainBranch)); userSession.registerApplication(applicationData.getProjectDto()) - .registerProjects(projectData1.getProjectDto(), projectData2.getProjectDto()); + .registerProjects(projectData1.getProjectDto(), projectData2.getProjectDto()) + .registerBranches(applicationData.getMainBranchDto()); - IssueQuery result = underTest.create(new SearchRequest().setComponentUuids(singletonList(application.uuid()))); + IssueQuery result = underTest.create(new SearchRequest().setComponentUuids(singletonList(applicationMainBranch.uuid()))); - assertThat(result.viewUuids()).containsExactlyInAnyOrder(application.uuid()); + assertThat(result.viewUuids()).containsExactlyInAnyOrder(applicationMainBranch.uuid()); } @Test @@ -364,7 +366,8 @@ public class IssueQueryFactoryTest { db.components().insertComponents(newProjectCopy("PC2", project2, application)); db.components().insertComponents(newProjectCopy("PC3", project3, application)); db.components().insertComponents(newProjectCopy("PC4", project4, application)); - userSession.registerApplication(applicationData.getProjectDto()); + userSession.registerApplication(applicationData.getProjectDto()) + .registerBranches(applicationData.getMainBranchDto()); userSession.registerProjects(projectData1.getProjectDto(), projectData2.getProjectDto(), projectData3.getProjectDto(), projectData4.getProjectDto()); IssueQuery result = underTest.create(new SearchRequest() @@ -393,12 +396,13 @@ public class IssueQueryFactoryTest { @Test public void param_componentUuids_enables_search_on_project_tree_by_default() { - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectData projectData = db.components().insertPrivateProject(); + ComponentDto mainBranch = projectData.getMainBranchComponent(); SearchRequest request = new SearchRequest() - .setComponentUuids(asList(project.uuid())); + .setComponentUuids(asList(mainBranch.uuid())); IssueQuery query = underTest.create(request); - assertThat(query.projectUuids()).containsExactly(project.uuid()); + assertThat(query.projectUuids()).containsExactly(projectData.projectUuid()); assertThat(query.onComponentOnly()).isFalse(); } @@ -455,21 +459,22 @@ public class IssueQueryFactoryTest { @Test public void search_issue_from_branch() { - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectData projectData = db.components().insertPrivateProject(); + ComponentDto mainBranch = projectData.getMainBranchComponent(); String branchName = randomAlphanumeric(248); - ComponentDto branch = db.components().insertProjectBranch(project, b -> b.setKey(branchName)); + ComponentDto branch = db.components().insertProjectBranch(mainBranch, b -> b.setKey(branchName)); assertThat(underTest.create(new SearchRequest() .setProjectKeys(singletonList(branch.getKey())) .setBranch(branchName))) .extracting(IssueQuery::branchUuid, query -> new ArrayList<>(query.projectUuids()), IssueQuery::isMainBranch) - .containsOnly(branch.uuid(), singletonList(project.uuid()), false); + .containsOnly(branch.uuid(), singletonList(projectData.projectUuid()), false); assertThat(underTest.create(new SearchRequest() .setComponentKeys(singletonList(branch.getKey())) .setBranch(branchName))) .extracting(IssueQuery::branchUuid, query -> new ArrayList<>(query.projectUuids()), IssueQuery::isMainBranch) - .containsOnly(branch.uuid(), singletonList(project.uuid()), false); + .containsOnly(branch.uuid(), singletonList(projectData.projectUuid()), false); } @Test @@ -517,19 +522,20 @@ public class IssueQueryFactoryTest { @Test public void search_issues_from_main_branch() { - ComponentDto project = db.components().insertPublicProject().getMainBranchComponent(); - db.components().insertProjectBranch(project); + ProjectData projectData = db.components().insertPublicProject(); + ComponentDto mainBranch = projectData.getMainBranchComponent(); + db.components().insertProjectBranch(mainBranch); assertThat(underTest.create(new SearchRequest() - .setProjectKeys(singletonList(project.getKey())) + .setProjectKeys(singletonList(projectData.projectKey())) .setBranch(DEFAULT_MAIN_BRANCH_NAME))) .extracting(IssueQuery::branchUuid, query -> new ArrayList<>(query.projectUuids()), IssueQuery::isMainBranch) - .containsOnly(project.uuid(), singletonList(project.uuid()), true); + .containsOnly(mainBranch.uuid(), singletonList(projectData.projectUuid()), true); assertThat(underTest.create(new SearchRequest() - .setComponentKeys(singletonList(project.getKey())) + .setComponentKeys(singletonList(mainBranch.getKey())) .setBranch(DEFAULT_MAIN_BRANCH_NAME))) .extracting(IssueQuery::branchUuid, query -> new ArrayList<>(query.projectUuids()), IssueQuery::isMainBranch) - .containsOnly(project.uuid(), singletonList(project.uuid()), true); + .containsOnly(mainBranch.uuid(), singletonList(projectData.projectUuid()), true); } @Test @@ -546,11 +552,12 @@ public class IssueQueryFactoryTest { .registerProjects(projectData1.getProjectDto(), projectData2.getProjectDto()) .addProjectPermission(USER, applicationData.getProjectDto()) .addProjectPermission(USER, projectData1.getProjectDto()) - .addProjectPermission(USER, projectData2.getProjectDto()); + .addProjectPermission(USER, projectData2.getProjectDto()) + .registerBranches(applicationData.getMainBranchDto()); assertThat(underTest.create(new SearchRequest() .setComponentKeys(singletonList(application.getKey()))) - .viewUuids()).containsExactly(application.uuid()); + .viewUuids()).containsExactly(applicationData.getMainBranchComponent().uuid()); } @Test @@ -560,10 +567,11 @@ public class IssueQueryFactoryTest { String branchName2 = "app-branch2"; ComponentDto applicationBranch1 = db.components().insertProjectBranch(application, a -> a.setKey(branchName1)); ComponentDto applicationBranch2 = db.components().insertProjectBranch(application, a -> a.setKey(branchName2)); - ComponentDto project1 = db.components().insertPrivateProject(p -> p.setKey("prj1")).getMainBranchComponent(); - ComponentDto project1Branch1 = db.components().insertProjectBranch(project1); - db.components().insertComponent(newFileDto(project1Branch1, project1.uuid())); - ComponentDto project1Branch2 = db.components().insertProjectBranch(project1); + ProjectData projectData1 = db.components().insertPrivateProject(p -> p.setKey("prj1")); + ComponentDto mainBranch1 = projectData1.getMainBranchComponent(); + ComponentDto project1Branch1 = db.components().insertProjectBranch(mainBranch1); + db.components().insertComponent(newFileDto(project1Branch1, mainBranch1.uuid())); + ComponentDto project1Branch2 = db.components().insertProjectBranch(mainBranch1); ComponentDto project2 = db.components().insertPrivateProject(p -> p.setKey("prj2")).getMainBranchComponent(); db.components().insertComponents(newProjectCopy(project1Branch1, applicationBranch1)); db.components().insertComponents(newProjectCopy(project2, applicationBranch1)); @@ -579,10 +587,10 @@ public class IssueQueryFactoryTest { // Search on project1Branch1 assertThat(underTest.create(new SearchRequest() .setComponentKeys(singletonList(applicationBranch1.getKey())) - .setProjectKeys(singletonList(project1.getKey())) + .setProjectKeys(singletonList(mainBranch1.getKey())) .setBranch(branchName1))) .extracting(IssueQuery::branchUuid, query -> new ArrayList<>(query.projectUuids()), IssueQuery::isMainBranch) - .containsOnly(applicationBranch1.uuid(), singletonList(project1.uuid()), false); + .containsOnly(applicationBranch1.uuid(), singletonList(projectData1.projectUuid()), false); } @Test diff --git a/server/sonar-webserver-pushapi/src/it/java/org/sonar/server/pushapi/scheduler/purge/PushEventsPurgeSchedulerAndExecutorIT.java b/server/sonar-webserver-pushapi/src/it/java/org/sonar/server/pushapi/scheduler/purge/PushEventsPurgeSchedulerAndExecutorIT.java index 0600d517b21..05aa404d9ae 100644 --- a/server/sonar-webserver-pushapi/src/it/java/org/sonar/server/pushapi/scheduler/purge/PushEventsPurgeSchedulerAndExecutorIT.java +++ b/server/sonar-webserver-pushapi/src/it/java/org/sonar/server/pushapi/scheduler/purge/PushEventsPurgeSchedulerAndExecutorIT.java @@ -47,7 +47,7 @@ public class PushEventsPurgeSchedulerAndExecutorIT { private static final long INITIAL_AND_ENQUE_DELAY_MS = 1L; @Rule - public DbTester dbTester = DbTester.create(System2.INSTANCE); + public DbTester dbTester = DbTester.create(System2.INSTANCE, true); private PushEventsPurgeScheduler pushEventsPurgeScheduler; diff --git a/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/hotspots/HotspotChangeEventServiceImplTest.java b/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/hotspots/HotspotChangeEventServiceImplTest.java index ae2a6dd52bd..eb23f13987a 100644 --- a/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/hotspots/HotspotChangeEventServiceImplTest.java +++ b/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/hotspots/HotspotChangeEventServiceImplTest.java @@ -35,7 +35,7 @@ import static org.sonar.test.JsonAssert.assertJson; public class HotspotChangeEventServiceImplTest { @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(true); public final HotspotChangeEventServiceImpl underTest = new HotspotChangeEventServiceImpl(db.getDbClient()); diff --git a/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/qualityprofile/QualityProfileChangeEventServiceImplTest.java b/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/qualityprofile/QualityProfileChangeEventServiceImplTest.java index 0a455a38324..2e20b2656bb 100644 --- a/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/qualityprofile/QualityProfileChangeEventServiceImplTest.java +++ b/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/qualityprofile/QualityProfileChangeEventServiceImplTest.java @@ -31,6 +31,7 @@ import org.junit.Test; import org.sonar.api.rule.RuleKey; import org.sonar.db.DbTester; import org.sonar.db.component.ComponentDto; +import org.sonar.db.component.ProjectData; import org.sonar.db.measure.LiveMeasureDto; import org.sonar.db.metric.MetricDto; import org.sonar.db.project.ProjectDto; @@ -57,7 +58,7 @@ import static org.sonar.server.qualityprofile.ActiveRuleChange.Type.ACTIVATED; public class QualityProfileChangeEventServiceImplTest { @Rule - public DbTester db = DbTester.create(); + public DbTester db = DbTester.create(true); public final QualityProfileChangeEventServiceImpl underTest = new QualityProfileChangeEventServiceImpl(db.getDbClient()); @@ -84,7 +85,7 @@ public class QualityProfileChangeEventServiceImplTest { underTest.distributeRuleChangeEvent(profiles, of(activeRuleChange), "xoo"); - Deque<PushEventDto> events = getProjectEvents(project.getUuid()); + Deque<PushEventDto> events = getProjectEvents(project); assertThat(events).isNotEmpty().hasSize(1); assertThat(events.getFirst()) @@ -95,27 +96,28 @@ public class QualityProfileChangeEventServiceImplTest { assertThat(ruleSetChangedEvent) .contains("\"activatedRules\":[{\"key\":\"repo:ruleKey\"," + - "\"language\":\"xoo\"," + - "\"templateKey\":\"xoo:template-key\"," + - "\"params\":[{\"key\":\"paramChangeKey\",\"value\":\"paramChangeValue\"}]}]," + - "\"deactivatedRules\":[]"); + "\"language\":\"xoo\"," + + "\"templateKey\":\"xoo:template-key\"," + + "\"params\":[{\"key\":\"paramChangeKey\",\"value\":\"paramChangeValue\"}]}]," + + "\"deactivatedRules\":[]"); } @Test public void distributeRuleChangeEvent_when_project_has_only_default_quality_profiles() { String language = "xoo"; - ComponentDto project = db.components().insertPrivateProject().getMainBranchComponent(); + ProjectData projectData = db.components().insertPrivateProject(); + ComponentDto mainBranch = projectData.getMainBranchComponent(); RuleDto templateRule = insertTemplateRule(); QProfileDto defaultQualityProfile = insertDefaultQualityProfile(language); RuleDto rule = insertCustomRule(templateRule, language, "<div>line1\nline2</div>"); ActiveRuleChange activeRuleChange = changeActiveRule(defaultQualityProfile, rule, "paramChangeKey", "paramChangeValue"); - insertQualityProfileLiveMeasure(project, language, NCLOC_LANGUAGE_DISTRIBUTION_KEY); + insertQualityProfileLiveMeasure(mainBranch, projectData.getProjectDto(), language, NCLOC_LANGUAGE_DISTRIBUTION_KEY); db.getSession().commit(); underTest.distributeRuleChangeEvent(List.of(defaultQualityProfile), of(activeRuleChange), language); - Deque<PushEventDto> events = getProjectEvents(project.branchUuid()); + Deque<PushEventDto> events = getProjectEvents(projectData.getProjectDto()); assertThat(events) .hasSize(1); @@ -128,16 +130,16 @@ public class QualityProfileChangeEventServiceImplTest { assertThat(ruleSetChangedEvent) .contains("\"activatedRules\":[{\"key\":\"repo:ruleKey\"," + - "\"language\":\"xoo\"," + - "\"templateKey\":\"xoo:template-key\"," + - "\"params\":[{\"key\":\"paramChangeKey\",\"value\":\"paramChangeValue\"}]}]," + - "\"deactivatedRules\":[]"); + "\"language\":\"xoo\"," + + "\"templateKey\":\"xoo:template-key\"," + + "\"params\":[{\"key\":\"paramChangeKey\",\"value\":\"paramChangeValue\"}]}]," + + "\"deactivatedRules\":[]"); } - private Deque<PushEventDto> getProjectEvents(String projectUuid) { + private Deque<PushEventDto> getProjectEvents(ProjectDto projectDto) { return db.getDbClient() .pushEventDao() - .selectChunkByProjectUuids(db.getSession(), Set.of(projectUuid), 1L, null, 1); + .selectChunkByProjectUuids(db.getSession(), Set.of(projectDto.getUuid()), 1L, null, 1); } private ActiveRuleChange changeActiveRule(QProfileDto defaultQualityProfile, RuleDto rule, String changeKey, String changeValue) { @@ -177,7 +179,7 @@ public class QualityProfileChangeEventServiceImplTest { @Test public void publishRuleActivationToSonarLintClients() { - ProjectDto projectDao = new ProjectDto().setUuid("project-uuid"); + ProjectDto projectDto = new ProjectDto().setUuid("project-uuid"); QProfileDto activatedQualityProfile = QualityProfileTesting.newQualityProfileDto(); activatedQualityProfile.setLanguage("xoo"); db.qualityProfiles().insert(activatedQualityProfile); @@ -199,9 +201,9 @@ public class QualityProfileChangeEventServiceImplTest { db.getDbClient().activeRuleDao().insertParam(db.getSession(), activeRule2, activeRuleParam2); db.getSession().commit(); - underTest.publishRuleActivationToSonarLintClients(projectDao, activatedQualityProfile, deactivatedQualityProfile); + underTest.publishRuleActivationToSonarLintClients(projectDto, activatedQualityProfile, deactivatedQualityProfile); - Deque<PushEventDto> events = getProjectEvents(projectDao.getUuid()); + Deque<PushEventDto> events = getProjectEvents(projectDto); assertThat(events).isNotEmpty().hasSize(1); assertThat(events.getFirst()) @@ -212,21 +214,21 @@ public class QualityProfileChangeEventServiceImplTest { assertThat(ruleSetChangedEvent) .contains("\"activatedRules\":[{\"key\":\"repo:ruleKey\"," + - "\"language\":\"xoo\",\"severity\":\"" + Common.Severity.forNumber(rule1.getSeverity()).name() + "\"," + - "\"params\":[{\"key\":\"" + activeRuleParam1.getKey() + "\",\"value\":\"" + activeRuleParam1.getValue() + "\"}]}]," + - "\"deactivatedRules\":[\"repo2:ruleKey2\"]"); + "\"language\":\"xoo\",\"severity\":\"" + Common.Severity.forNumber(rule1.getSeverity()).name() + "\"," + + "\"params\":[{\"key\":\"" + activeRuleParam1.getKey() + "\",\"value\":\"" + activeRuleParam1.getValue() + "\"}]}]," + + "\"deactivatedRules\":[\"repo2:ruleKey2\"]"); } - private void insertQualityProfileLiveMeasure(ComponentDto project, String language, String metricKey) { + private void insertQualityProfileLiveMeasure(ComponentDto branch, ProjectDto projectDto, String language, String metricKey) { MetricDto metric = insertMetric(metricKey); Consumer<LiveMeasureDto> configureLiveMeasure = liveMeasure -> liveMeasure .setMetricUuid(metric.getUuid()) - .setComponentUuid(project.uuid()) - .setProjectUuid(project.uuid()) + .setComponentUuid(branch.uuid()) + .setProjectUuid(projectDto.getUuid()) .setData(language + "=" + nextInt(10)); - db.measures().insertLiveMeasure(project, metric, configureLiveMeasure); + db.measures().insertLiveMeasure(branch, metric, configureLiveMeasure); } private MetricDto insertMetric(String metricKey) { diff --git a/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/scheduler/polling/PushEventPollSchedulerTest.java b/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/scheduler/polling/PushEventPollSchedulerTest.java index c50a12f9475..f88eb44c467 100644 --- a/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/scheduler/polling/PushEventPollSchedulerTest.java +++ b/server/sonar-webserver-pushapi/src/test/java/org/sonar/server/pushapi/scheduler/polling/PushEventPollSchedulerTest.java @@ -55,7 +55,7 @@ public class PushEventPollSchedulerTest { private final Configuration config = mock(Configuration.class); @Rule - public DbTester db = DbTester.create(system2); + public DbTester db = DbTester.create(system2, true); private final SyncPushEventExecutorService executorService = new SyncPushEventExecutorService(); diff --git a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java index 63bb550608d..4a73f0d8ad2 100644 --- a/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java +++ b/server/sonar-webserver-webapi/src/it/java/org/sonar/server/ce/ws/ActivityActionIT.java @@ -96,7 +96,7 @@ public class ActivityActionIT { public DbTester db = DbTester.create(System2.INSTANCE, true); private final TaskFormatter formatter = new TaskFormatter(db.getDbClient(), System2.INSTANCE); - private final ActivityAction underTest = new ActivityAction(userSession, db.getDbClient(), formatter, new CeTaskProcessor[] {mock(CeTaskProcessor.class)}); + private final ActivityAction underTest = new ActivityAction(userSession, db.getDbClient(), formatter, new CeTaskProcessor[]{mock(CeTaskProcessor.class)}); private final WsActionTester ws = new WsActionTester(underTest); @Test diff --git a/server/sonar-webserver/src/it/java/org/sonar/server/platform/web/SonarLintConnectionFilterIT.java b/server/sonar-webserver/src/it/java/org/sonar/server/platform/web/SonarLintConnectionFilterIT.java index ff14e8d21f2..8a2c97b4f12 100644 --- a/server/sonar-webserver/src/it/java/org/sonar/server/platform/web/SonarLintConnectionFilterIT.java +++ b/server/sonar-webserver/src/it/java/org/sonar/server/platform/web/SonarLintConnectionFilterIT.java @@ -45,7 +45,7 @@ public class SonarLintConnectionFilterIT { private final TestSystem2 system2 = new TestSystem2(); @Rule - public DbTester dbTester = DbTester.create(system2); + public DbTester dbTester = DbTester.create(system2, true); @Test public void update() throws IOException { |