aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'server/sonar-db-dao/src/test')
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependencyDtoTest.java51
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaIssueReleaseDtoTest.java18
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaReleaseDtoTest.java26
3 files changed, 94 insertions, 1 deletions
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependencyDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependencyDtoTest.java
index bf899451fcb..ac2e97a0d65 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependencyDtoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependencyDtoTest.java
@@ -20,6 +20,7 @@
package org.sonar.db.sca;
import java.util.List;
+import javax.annotation.Nullable;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
@@ -41,6 +42,54 @@ class ScaDependencyDtoTest {
}
@Test
+ void test_identity_shouldIgnoreUuidAndUpdatableFields() {
+ var scaDependencyDto = new ScaDependencyDto("scaDependencyUuid",
+ "scaReleaseUuid",
+ true,
+ "compile",
+ "some/path",
+ "another/path",
+ List.of(List.of("pkg:npm/IGNORED@1.0.0")),
+ 1L,
+ 2L);
+ var scaDependencyDtoDifferentButSameIdentity = new ScaDependencyDto("differentUuid",
+ "scaReleaseUuid",
+ true,
+ "compile",
+ "some/path",
+ "another/path",
+ List.of(List.of("pkg:npm/DIFFERENT_ALSO_IGNORED@1.0.0")),
+ 42L,
+ 57L);
+ assertThat(scaDependencyDto.identity()).isEqualTo(scaDependencyDtoDifferentButSameIdentity.identity());
+ assertThat(scaDependencyDto).isNotEqualTo(scaDependencyDtoDifferentButSameIdentity);
+ }
+
+ @Test
+ void test_identity_changingScaReleaseUuid() {
+ var scaDependencyDto = new ScaDependencyDto("scaDependencyUuid",
+ "scaReleaseUuid",
+ true,
+ "compile",
+ "some/path",
+ "another/path",
+ List.of(List.of("pkg:npm/IGNORED@1.0.0")),
+ 1L,
+ 2L);
+ var scaDependencyDtoChangedReleaseUuid = new ScaDependencyDto("scaDependencyUuid",
+ "scaReleaseUuidDifferent",
+ true,
+ "compile",
+ "some/path",
+ "another/path",
+ List.of(List.of("pkg:npm/IGNORED@1.0.0")),
+ 1L,
+ 2L);
+ assertThat(scaDependencyDto.identity()).isNotEqualTo(scaDependencyDtoChangedReleaseUuid.identity());
+ assertThat(scaDependencyDto.identity().withScaReleaseUuid("scaReleaseUuidDifferent")).isEqualTo(scaDependencyDtoChangedReleaseUuid.identity());
+ }
+
+ @Test
void test_primaryDependencyFilePath() {
ScaDependencyDto withUserDependencyFilePath = newScaDependencyDto("manifest");
assertThat(withUserDependencyFilePath.primaryDependencyFilePath()).isEqualTo("manifest");
@@ -48,7 +97,7 @@ class ScaDependencyDtoTest {
assertThat(withoutUserDependencyFilePath.primaryDependencyFilePath()).isEqualTo("lockfileDependencyFilePath");
}
- private ScaDependencyDto newScaDependencyDto(String userDependencyFilePath) {
+ private ScaDependencyDto newScaDependencyDto(@Nullable String userDependencyFilePath) {
return new ScaDependencyDto("dependencyUuid",
"scaReleaseUuid",
true,
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaIssueReleaseDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaIssueReleaseDtoTest.java
index 1a6a33a955a..e1df2cfd1c2 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaIssueReleaseDtoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaIssueReleaseDtoTest.java
@@ -35,4 +35,22 @@ class ScaIssueReleaseDtoTest {
2L);
assertThat(scaIssueReleaseDto.toBuilder().build()).isEqualTo(scaIssueReleaseDto);
}
+
+ @Test
+ void test_identity_shouldIgnoreUuidAndUpdatableFields() {
+ var scaIssueReleaseDto = new ScaIssueReleaseDto("sca-issue-release-uuid",
+ "sca-issue-uuid",
+ "sca-release-uuid",
+ ScaSeverity.INFO,
+ 1L,
+ 2L);
+ var scaIssueReleaseDtoDifferentButSameIdentity = new ScaIssueReleaseDto("differentUuid",
+ "sca-issue-uuid",
+ "sca-release-uuid",
+ ScaSeverity.HIGH,
+ 10L,
+ 20L);
+ assertThat(scaIssueReleaseDto.identity()).isEqualTo(scaIssueReleaseDtoDifferentButSameIdentity.identity());
+ assertThat(scaIssueReleaseDto).isNotEqualTo(scaIssueReleaseDtoDifferentButSameIdentity);
+ }
}
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaReleaseDtoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaReleaseDtoTest.java
index 3b493e3c2a7..5883c348ff2 100644
--- a/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaReleaseDtoTest.java
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaReleaseDtoTest.java
@@ -39,4 +39,30 @@ class ScaReleaseDtoTest {
2L);
assertThat(scaReleaseDto.toBuilder().build()).isEqualTo(scaReleaseDto);
}
+
+ @Test
+ void test_identity_shouldIgnoreUuidAndUpdatableFields() {
+ var scaReleaseDto = new ScaReleaseDto("scaReleaseUuid",
+ "componentUuid",
+ "packageUrl",
+ PackageManager.MAVEN,
+ "foo:bar",
+ "1.0.0",
+ "MIT",
+ true,
+ 1L,
+ 2L);
+ var scaReleaseDtoDifferentButSameIdentity = new ScaReleaseDto("differentUuid",
+ "componentUuidDifferent",
+ "packageUrl",
+ PackageManager.NPM,
+ "foo:bar-different",
+ "2.0.0",
+ "GPL-3.0",
+ false,
+ 10L,
+ 30L);
+ assertThat(scaReleaseDto.identity()).isEqualTo(scaReleaseDtoDifferentButSameIdentity.identity());
+ assertThat(scaReleaseDto).isNotEqualTo(scaReleaseDtoDifferentButSameIdentity);
+ }
}