aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-dao/src
diff options
context:
space:
mode:
authorJavier García Orduña <javier.garcia@sonarsource.com>2025-02-10 09:11:22 +0100
committersonartech <sonartech@sonarsource.com>2025-02-19 20:03:12 +0000
commitc57cc761d6997f839407fcb98db91b24bf83eb13 (patch)
tree24119f5e967332f5fccbd2cb90059e9236f11dca /server/sonar-db-dao/src
parentbb40b3b17279e64d21f757ba4295148fd0214b75 (diff)
downloadsonarqube-c57cc761d6997f839407fcb98db91b24bf83eb13.tar.gz
sonarqube-c57cc761d6997f839407fcb98db91b24bf83eb13.zip
SQRP-188 Add filtering to "search" dependencies REST API
Diffstat (limited to 'server/sonar-db-dao/src')
-rw-r--r--server/sonar-db-dao/src/it/java/org/sonar/db/sca/ScaDependenciesDaoIT.java132
-rw-r--r--server/sonar-db-dao/src/main/java/org/sonar/db/sca/ScaDependenciesQuery.java12
-rw-r--r--server/sonar-db-dao/src/main/resources/org/sonar/db/sca/ScaDependenciesMapper.xml16
-rw-r--r--server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependenciesQueryTest.java39
-rw-r--r--server/sonar-db-dao/src/testFixtures/java/org/sonar/db/sca/ScaDependenciesDbTester.java72
5 files changed, 174 insertions, 97 deletions
diff --git a/server/sonar-db-dao/src/it/java/org/sonar/db/sca/ScaDependenciesDaoIT.java b/server/sonar-db-dao/src/it/java/org/sonar/db/sca/ScaDependenciesDaoIT.java
index acc2dc567d0..9f96f5cff22 100644
--- a/server/sonar-db-dao/src/it/java/org/sonar/db/sca/ScaDependenciesDaoIT.java
+++ b/server/sonar-db-dao/src/it/java/org/sonar/db/sca/ScaDependenciesDaoIT.java
@@ -21,8 +21,6 @@ package org.sonar.db.sca;
import java.util.List;
import java.util.Map;
-import java.util.function.Consumer;
-import javax.annotation.Nullable;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;
import org.sonar.api.utils.System2;
@@ -35,8 +33,6 @@ import static org.assertj.core.api.Assertions.assertThat;
class ScaDependenciesDaoIT {
- private static final String PROJECT_BRANCH_UUID = "branchUuid";
-
@RegisterExtension
private final DbTester db = DbTester.create(System2.INSTANCE);
@@ -44,7 +40,8 @@ class ScaDependenciesDaoIT {
@Test
void insert_shouldPersistScaDependencies() {
- var scaDependencyDto = insertScaDependency();
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
List<Map<String, Object>> select = db.select(db.getSession(), "select * from sca_dependencies");
assertThat(select).hasSize(1);
@@ -70,7 +67,8 @@ class ScaDependenciesDaoIT {
@Test
void deleteByUuid_shouldDeleteScaDependencies() {
- var scaDependencyDto = insertScaDependency();
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
List<Map<String, Object>> select = db.select(db.getSession(), "select * from sca_dependencies");
assertThat(select).isNotEmpty();
@@ -83,7 +81,8 @@ class ScaDependenciesDaoIT {
@Test
void selectByUuid_shouldLoadScaDependency() {
- var scaDependencyDto = insertScaDependency();
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
var loadedOptional = scaDependenciesDao.selectByUuid(db.getSession(), scaDependencyDto.uuid());
@@ -92,10 +91,10 @@ class ScaDependenciesDaoIT {
@Test
void selectByQuery_shouldReturnScaDependencies_whenQueryByBranchUuid() {
- ProjectData projectData = db.components().insertPublicProject();
- ScaDependencyDto scaDependencyDto = db.getScaDependenciesDbTester().insertScaDependency(projectData.mainBranchUuid());
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
- ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(projectData.mainBranchUuid(), null);
+ ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(componentDto.branchUuid(), null, null, null);
List<ScaDependencyDto> results = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesQuery, Pagination.all());
assertThat(results).hasSize(1);
@@ -104,12 +103,13 @@ class ScaDependenciesDaoIT {
@Test
void selectByQuery_shouldReturnPaginatedScaDependencies() {
- ScaDependencyDto scaDependencyDto1 = insertScaDependency("1");
- ScaDependencyDto scaDependencyDto2 = insertScaDependency("2");
- ScaDependencyDto scaDependencyDto3 = insertScaDependency("3");
- ScaDependencyDto scaDependencyDto4 = insertScaDependency("4");
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto1 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
+ ScaDependencyDto scaDependencyDto2 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "2", true, PackageManager.MAVEN, "foo.bar");
+ ScaDependencyDto scaDependencyDto3 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "3", true, PackageManager.MAVEN, "foo.bar");
+ ScaDependencyDto scaDependencyDto4 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "4", true, PackageManager.MAVEN, "foo.bar");
- ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(PROJECT_BRANCH_UUID, null);
+ ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(componentDto.branchUuid(), null, null, null);
List<ScaDependencyDto> page1Results = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesQuery, Pagination.forPage(1).andSize(2));
List<ScaDependencyDto> page2Results = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesQuery, Pagination.forPage(2).andSize(2));
@@ -122,36 +122,75 @@ class ScaDependenciesDaoIT {
}
@Test
- void selectByQuery_shouldPartiallyMatchLongName_whenQueriedByText() {
- ScaDependencyDto projectDepSearched = insertScaDependency("sEArched");
- insertScaDependency("notWanted");
- ScaDependencyDto projectDepSearchAsWell = insertScaDependency("sEArchedAsWell");
- insertScaDependency("notwantedeither");
-
- ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(PROJECT_BRANCH_UUID, "long_nameSearCHed");
+ void selectByQuery_shouldPartiallyMatchPackageName_whenQueriedByText() {
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto1 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
+ @SuppressWarnings("unused")
+ ScaDependencyDto scaDependencyDto2 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "2", true, PackageManager.MAVEN, "bar.mee");
+ ScaDependencyDto scaDependencyDto3 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "3", true, PackageManager.MAVEN, "foo.bar.me");
+ @SuppressWarnings("unused")
+ ScaDependencyDto scaDependencyDto4 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "4", true, PackageManager.MAVEN, "some.foo.bar");
+
+ ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(componentDto.branchUuid(), null, null, "foo.bar");
List<ScaDependencyDto> results = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesQuery, Pagination.all());
assertThat(results).hasSize(2);
- assertThat(results.get(0)).usingRecursiveComparison().isEqualTo(projectDepSearched);
- assertThat(results.get(1)).usingRecursiveComparison().isEqualTo(projectDepSearchAsWell);
+ assertThat(results.get(0)).usingRecursiveComparison().isEqualTo(scaDependencyDto1);
+ assertThat(results.get(1)).usingRecursiveComparison().isEqualTo(scaDependencyDto3);
+
+ ScaDependenciesQuery scaDependenciesCaseInsensitiveQuery = new ScaDependenciesQuery(componentDto.branchUuid(), null, null, "Foo.Bar");
+ List<ScaDependencyDto> resultsCaseInsensitive = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesCaseInsensitiveQuery, Pagination.all());
+
+ assertThat(resultsCaseInsensitive).hasSize(2);
+ assertThat(resultsCaseInsensitive.get(0)).usingRecursiveComparison().isEqualTo(scaDependencyDto1);
+ assertThat(resultsCaseInsensitive.get(1)).usingRecursiveComparison().isEqualTo(scaDependencyDto3);
}
@Test
- void selectByQuery_shouldExactlyMatchKee_whenQueriedByText() {
- ScaDependencyDto projectDepSearched = insertScaDependency("1", dto -> dto.setKey("keySearched"));
- insertScaDependency("2", dto -> dto.setKey("KEySearCHed"));
- insertScaDependency("3", dto -> dto.setKey("some_keySearched"));
+ void selectByQuery_shouldReturnScaDependencies_whenQueryByDirect() {
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto1 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
+ ScaDependencyDto scaDependencyDto2 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "2", false, PackageManager.MAVEN, "foo.bar");
- ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(PROJECT_BRANCH_UUID, "keySearched");
- List<ScaDependencyDto> results = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesQuery, Pagination.all());
+ ScaDependenciesQuery scaDependenciesDirectQuery = new ScaDependenciesQuery(componentDto.branchUuid(), true, null, null);
+ List<ScaDependencyDto> resultsDirect = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesDirectQuery, Pagination.all());
- assertThat(results).hasSize(1);
- assertThat(results.get(0)).usingRecursiveComparison().isEqualTo(projectDepSearched);
+ assertThat(resultsDirect).hasSize(1);
+ assertThat(resultsDirect.get(0)).usingRecursiveComparison().isEqualTo(scaDependencyDto1);
+
+ ScaDependenciesQuery scaDependenciesNoDirectQuery = new ScaDependenciesQuery(componentDto.branchUuid(), false, null, null);
+ List<ScaDependencyDto> resultsNoDirect = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesNoDirectQuery, Pagination.all());
+
+ assertThat(resultsNoDirect).hasSize(1);
+ assertThat(resultsNoDirect.get(0)).usingRecursiveComparison().isEqualTo(scaDependencyDto2);
+ }
+
+ @Test
+ void selectByQuery_shouldReturnScaDependencies_whenQueryByPackageManager() {
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto1 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
+ ScaDependencyDto scaDependencyDto2 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "2", true, PackageManager.NPM, "foo.bar");
+ ScaDependencyDto scaDependencyDto3 = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "3", true, PackageManager.CARGO, "foo.bar");
+
+ ScaDependenciesQuery scaDependenciesMavenQuery = new ScaDependenciesQuery(componentDto.branchUuid(), null, List.of(PackageManager.MAVEN.name()), null);
+ List<ScaDependencyDto> resultsMaven = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesMavenQuery, Pagination.all());
+
+ assertThat(resultsMaven).hasSize(1);
+ assertThat(resultsMaven.get(0)).usingRecursiveComparison().isEqualTo(scaDependencyDto1);
+
+ ScaDependenciesQuery scaDependenciesNpmAndCargoQuery = new ScaDependenciesQuery(componentDto.branchUuid(), null,
+ List.of(PackageManager.NPM.name(), PackageManager.CARGO.name()), null);
+ List<ScaDependencyDto> resultsNpm = scaDependenciesDao.selectByQuery(db.getSession(), scaDependenciesNpmAndCargoQuery, Pagination.all());
+
+ assertThat(resultsNpm).hasSize(2);
+ assertThat(resultsNpm.get(0)).usingRecursiveComparison().isEqualTo(scaDependencyDto2);
+ assertThat(resultsNpm.get(1)).usingRecursiveComparison().isEqualTo(scaDependencyDto3);
}
@Test
void update_shouldUpdateScaDependency() {
- ScaDependencyDto scaDependencyDto = insertScaDependency();
+ ComponentDto componentDto = prepareComponentDto("1");
+ ScaDependencyDto scaDependencyDto = db.getScaDependenciesDbTester().insertScaDependency(componentDto.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
ScaDependencyDto updatedScaDependency =
scaDependencyDto.toBuilder().setUpdatedAt(scaDependencyDto.updatedAt() + 1).setVersion("newVersion").build();
@@ -181,27 +220,20 @@ class ScaDependenciesDaoIT {
@Test
void countByQuery_shouldReturnTheTotalOfDependencies() {
- insertScaDependency("sEArched");
- insertScaDependency("notWanted");
- insertScaDependency("sEArchedAsWell");
- db.getScaDependenciesDbTester().insertScaDependency("another_branch_uuid", "searched");
+ ComponentDto componentDto1 = prepareComponentDto("1");
+ db.getScaDependenciesDbTester().insertScaDependency(componentDto1.uuid(), "1", true, PackageManager.MAVEN, "foo.bar");
+ db.getScaDependenciesDbTester().insertScaDependency(componentDto1.uuid(), "2", true, PackageManager.MAVEN, "foo.bar.mee");
+ db.getScaDependenciesDbTester().insertScaDependency(componentDto1.uuid(), "3", true, PackageManager.MAVEN, "bar.foo");
- ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(PROJECT_BRANCH_UUID, "long_nameSearCHed");
+ ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery(componentDto1.branchUuid(), null, null, "foo");
assertThat(scaDependenciesDao.countByQuery(db.getSession(), scaDependenciesQuery)).isEqualTo(2);
- assertThat(scaDependenciesDao.countByQuery(db.getSession(), new ScaDependenciesQuery(PROJECT_BRANCH_UUID, null))).isEqualTo(3);
- assertThat(scaDependenciesDao.countByQuery(db.getSession(), new ScaDependenciesQuery("another_branch_uuid", null))).isEqualTo(1);
+ assertThat(scaDependenciesDao.countByQuery(db.getSession(), new ScaDependenciesQuery(componentDto1.branchUuid(), null, null, null))).isEqualTo(3);
+ assertThat(scaDependenciesDao.countByQuery(db.getSession(), new ScaDependenciesQuery("another_branch_uuid", null, null, null))).isZero();
}
- private ScaDependencyDto insertScaDependency() {
- return db.getScaDependenciesDbTester().insertScaDependency(PROJECT_BRANCH_UUID);
- }
-
- private ScaDependencyDto insertScaDependency(String suffix) {
- return insertScaDependency(suffix, null);
- }
-
- private ScaDependencyDto insertScaDependency(String suffix, @Nullable Consumer<ComponentDto> dtoPopulator) {
- return db.getScaDependenciesDbTester().insertScaDependency(PROJECT_BRANCH_UUID, suffix, dtoPopulator);
+ private ComponentDto prepareComponentDto(String suffix) {
+ ProjectData projectData = db.components().insertPublicProject();
+ return db.getScaDependenciesDbTester().insertComponent(projectData.mainBranchUuid(), suffix);
}
}
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/sca/ScaDependenciesQuery.java b/server/sonar-db-dao/src/main/java/org/sonar/db/sca/ScaDependenciesQuery.java
index 7dde3be94b2..5a2c3fca89a 100644
--- a/server/sonar-db-dao/src/main/java/org/sonar/db/sca/ScaDependenciesQuery.java
+++ b/server/sonar-db-dao/src/main/java/org/sonar/db/sca/ScaDependenciesQuery.java
@@ -19,20 +19,26 @@
*/
package org.sonar.db.sca;
+import java.util.List;
import java.util.Locale;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import static org.sonar.db.DaoUtils.buildLikeValue;
-import static org.sonar.db.WildcardPosition.BEFORE_AND_AFTER;
+import static org.sonar.db.WildcardPosition.AFTER;
-public record ScaDependenciesQuery(String branchUuid, @Nullable String query) {
+public record ScaDependenciesQuery(
+ String branchUuid,
+ @Nullable Boolean direct,
+ @Nullable List<String> packageManagers,
+ @Nullable String query
+) {
/**
* Used by MyBatis mapper
*/
@CheckForNull
public String likeQuery() {
- return query == null ? null : buildLikeValue(query, BEFORE_AND_AFTER).toLowerCase(Locale.ENGLISH);
+ return query == null ? null : buildLikeValue(query.toLowerCase(Locale.ENGLISH), AFTER);
}
}
diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/sca/ScaDependenciesMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/sca/ScaDependenciesMapper.xml
index e321a9dd3ce..10ec3da425d 100644
--- a/server/sonar-db-dao/src/main/resources/org/sonar/db/sca/ScaDependenciesMapper.xml
+++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/sca/ScaDependenciesMapper.xml
@@ -70,7 +70,7 @@
<select id="selectByQuery" parameterType="map" resultType="org.sonar.db.sca.ScaDependencyDto">
select <include refid="scaDependenciesColumns"/>
<include refid="sqlSelectByQuery" />
- ORDER BY c.kee ASC
+ ORDER BY sd.created_at ASC
<include refid="org.sonar.db.common.Common.pagination"/>
</select>
@@ -83,11 +83,17 @@
from sca_dependencies sd
inner join components c on sd.component_uuid = c.uuid
where c.branch_uuid = #{query.branchUuid,jdbcType=VARCHAR}
+ <if test="query.direct != null">
+ AND sd.direct = #{query.direct,jdbcType=BOOLEAN}
+ </if>
+ <if test="query.packageManagers != null and !query.packageManagers.isEmpty()">
+ AND sd.package_manager IN
+ <foreach collection="query.packageManagers" open="(" close=")" item="packageManager" separator=",">
+ #{packageManager,jdbcType=VARCHAR}
+ </foreach>
+ </if>
<if test="query.query() != null">
- AND (
- c.kee = #{query.query,jdbcType=VARCHAR}
- OR lower(c.long_name) LIKE #{query.likeQuery} ESCAPE '/'
- )
+ AND lower(sd.package_name) LIKE #{query.likeQuery} ESCAPE '/'
</if>
</sql>
diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependenciesQueryTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependenciesQueryTest.java
new file mode 100644
index 00000000000..0f310ff5ef4
--- /dev/null
+++ b/server/sonar-db-dao/src/test/java/org/sonar/db/sca/ScaDependenciesQueryTest.java
@@ -0,0 +1,39 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2025 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.db.sca;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class ScaDependenciesQueryTest {
+
+ @Test
+ void testLikeQuery() {
+ ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery("branchUuid", null, null, "QUERY");
+ assertEquals("query%", scaDependenciesQuery.likeQuery());
+ }
+
+ @Test
+ void testLikeQueryWithNullQuery() {
+ ScaDependenciesQuery scaDependenciesQuery = new ScaDependenciesQuery("branchUuid", null, null, null);
+ assertNull(scaDependenciesQuery.likeQuery());
+ }
+}
diff --git a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/sca/ScaDependenciesDbTester.java b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/sca/ScaDependenciesDbTester.java
index fec30bea3fa..666660bf524 100644
--- a/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/sca/ScaDependenciesDbTester.java
+++ b/server/sonar-db-dao/src/testFixtures/java/org/sonar/db/sca/ScaDependenciesDbTester.java
@@ -19,14 +19,10 @@
*/
package org.sonar.db.sca;
-import java.util.function.Consumer;
-import javax.annotation.Nullable;
import org.sonar.db.DbClient;
import org.sonar.db.DbTester;
import org.sonar.db.component.ComponentDto;
-import static org.apache.commons.lang3.StringUtils.EMPTY;
-
public class ScaDependenciesDbTester {
private final DbTester db;
private final DbClient dbClient;
@@ -36,51 +32,49 @@ public class ScaDependenciesDbTester {
this.dbClient = db.getDbClient();
}
- public ComponentDto newPackageComponentDto(String branchUuid, String suffix, @Nullable Consumer<ComponentDto> dtoPopulator) {
- var name = "foo:bar";
- ComponentDto componentDto = new ComponentDto().setUuid("uuid" + suffix)
+ public ComponentDto newPackageComponentDto(String branchUuid, String suffix) {
+ return new ComponentDto().setUuid("uuid" + suffix)
.setKey("key" + suffix)
.setUuidPath("uuidPath" + suffix)
- .setName(name + suffix)
+ .setName("name" + suffix)
.setLongName("long_name" + suffix)
.setBranchUuid(branchUuid);
-
- if (dtoPopulator != null) {
- dtoPopulator.accept(componentDto);
- }
-
- return componentDto;
- }
-
- public ScaDependencyDto newScaDependencyDto(ComponentDto componentDto, String suffix) {
- return new ScaDependencyDto("scaDependencyUuid" + suffix,
- componentDto.uuid(),
- "packageUrl" + suffix,
- PackageManager.MAVEN,
- componentDto.name(),
- "1.0.0",
- true,
- "compile",
- "pom.xml",
- "BSD-3-Clause",
- true,
- 1L,
- 2L);
}
- public ScaDependencyDto insertScaDependency(String branchUuid) {
- return insertScaDependency(branchUuid, EMPTY, null);
+ public ComponentDto insertComponent(String branchUuid, String suffix) {
+ ComponentDto componentDto = newPackageComponentDto(branchUuid, suffix);
+ db.components().insertComponent(componentDto);
+ return componentDto;
}
- public ScaDependencyDto insertScaDependency(String branchUuid, String suffix) {
- return insertScaDependency(branchUuid, suffix, null);
+ public ScaDependencyDto newScaDependencyDto(String componentUuid, String suffix, boolean direct, PackageManager packageManager, String packageName) {
+ long now = System.currentTimeMillis();
+ try {
+ return new ScaDependencyDto("scaDependencyUuid" + suffix,
+ componentUuid,
+ "packageUrl" + suffix,
+ packageManager,
+ packageName,
+ "1.0.0",
+ direct,
+ "compile",
+ "pom.xml",
+ "BSD-3-Clause",
+ true,
+ now,
+ now
+ );
+ } finally {
+ try {
+ Thread.sleep(5);
+ } catch (InterruptedException ignored) {
+ // ignore
+ }
+ }
}
- public ScaDependencyDto insertScaDependency(String branchUuid, String suffix, @Nullable Consumer<ComponentDto> dtoPopulator) {
- var componentDto = newPackageComponentDto(branchUuid, suffix, dtoPopulator);
-
- db.components().insertComponent(componentDto);
- var scaDependencyDto = newScaDependencyDto(componentDto, suffix);
+ public ScaDependencyDto insertScaDependency(String componentUuid, String suffix, boolean direct, PackageManager packageManager, String packageName) {
+ ScaDependencyDto scaDependencyDto = newScaDependencyDto(componentUuid, suffix, direct, packageManager, packageName);
dbClient.scaDependenciesDao().insert(db.getSession(), scaDependencyDto);
return scaDependencyDto;
}