aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToine Siebelink <toine.siebelink@est.tech>2021-09-21 10:51:45 +0000
committerGerrit Code Review <gerrit@onap.org>2021-09-21 10:51:45 +0000
commitcf2482c1fa1b7b9d9638e7c658807e8ab35069b4 (patch)
tree8239aef72f5a9771399a1d3a49c6716586efc874
parent11250258e55f943d790f1ecc7c81fab38b3421b2 (diff)
parent052b755e28b160ed26676e720ed922e5a83c300a (diff)
Merge "Updating fetch all yang modules queries and tests"
-rw-r--r--cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java34
-rw-r--r--cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceIntegrationSpec.groovy3
-rw-r--r--cps-ri/src/test/resources/data/schemaset.sql8
3 files changed, 24 insertions, 21 deletions
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java
index b16b284a2a..764e2dfc74 100644
--- a/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java
+++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java
@@ -38,29 +38,31 @@ public interface YangResourceRepository extends JpaRepository<YangResourceEntity
List<YangResourceEntity> findAllByChecksumIn(@NotNull Set<String> checksum);
@Query(value = "SELECT DISTINCT\n"
- + "yr.module_name AS module_name,\n"
- + "yr.revision AS revision\n"
+ + "yang_resource.module_name AS module_name,\n"
+ + "yang_resource.revision AS revision\n"
+ "FROM\n"
- + "dataspace d\n"
- + "JOIN schema_set ss ON ss.dataspace_id = d.id\n"
- + "JOIN schema_set_yang_resources ssyr ON ssyr.schema_set_id = ss.id\n"
- + "JOIN yang_resource yr ON yr.id = ssyr.yang_resource_id\n"
+ + "dataspace dataspace\n"
+ + "JOIN schema_set schema_set ON schema_set.dataspace_id = dataspace.id\n"
+ + "JOIN schema_set_yang_resources schema_set_yang_resource ON schema_set_yang_resource.schema_set_id = "
+ + "schema_set.id\n"
+ + "JOIN yang_resource yang_resource ON yang_resource.id = schema_set_yang_resource.yang_resource_id\n"
+ "WHERE\n"
- + "d.name = :dataspaceName", nativeQuery = true)
+ + "dataspace.name = :dataspaceName", nativeQuery = true)
Set<YangResourceModuleReference> findAllModuleReferences(@Param("dataspaceName") String dataspaceName);
@Query(value = "SELECT DISTINCT\n"
- + "yr.module_Name AS module_name,\n"
- + "yr.revision AS revision\n"
+ + "yang_resource.module_Name AS module_name,\n"
+ + "yang_resource.revision AS revision\n"
+ "FROM\n"
- + "dataspace d\n"
- + "JOIN anchor a ON a.dataspace_id = d.id\n"
- + "JOIN schema_set ss ON ss.dataspace_id = a.dataspace_id\n"
- + "JOIN schema_set_yang_resources ssyr ON ssyr.schema_set_id = ss.id\n"
- + "JOIN yang_resource yr ON yr.id = ssyr.yang_resource_id\n"
+ + "dataspace dataspace\n"
+ + "JOIN anchor anchor ON anchor.dataspace_id = dataspace.id\n"
+ + "JOIN schema_set schema_set ON schema_set.id = anchor.schema_set_id\n"
+ + "JOIN schema_set_yang_resources schema_set_yang_resource ON schema_set_yang_resource.schema_set_id = "
+ + "schema_set.id\n"
+ + "JOIN yang_resource yang_resource ON yang_resource.id = schema_set_yang_resource.yang_resource_id\n"
+ "WHERE\n"
- + "d.name = :dataspaceName AND\n"
- + "a.name =:anchorName", nativeQuery = true)
+ + "dataspace.name = :dataspaceName AND\n"
+ + "anchor.name =:anchorName", nativeQuery = true)
Set<YangResourceModuleReference> findAllModuleReferences(
@Param("dataspaceName") String dataspaceName, @Param("anchorName") String anchorName);
diff --git a/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceIntegrationSpec.groovy b/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceIntegrationSpec.groovy
index 7e42200799..a223e7135f 100644
--- a/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceIntegrationSpec.groovy
+++ b/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceIntegrationSpec.groovy
@@ -154,8 +154,7 @@ class CpsModulePersistenceServiceIntegrationSpec extends CpsPersistenceSpecBase
when: 'all yang resources module references are retrieved for the given anchor'
def result = objectUnderTest.getYangResourceModuleReferences(dataspaceName, anchorName)
then: 'the correct module names and revisions are returned'
- result.sort() == [new ModuleReference(moduleName: null, revision: null), new ModuleReference(moduleName: 'MODULE-NAME-002', revision: 'REVISION-002'),
- new ModuleReference(moduleName: 'MODULE-NAME-003', revision: 'REVISION-002'),
+ result.sort() == [ new ModuleReference(moduleName: 'MODULE-NAME-003', revision: 'REVISION-002'),
new ModuleReference(moduleName: 'MODULE-NAME-004', revision: 'REVISION-004')]
}
diff --git a/cps-ri/src/test/resources/data/schemaset.sql b/cps-ri/src/test/resources/data/schemaset.sql
index 61600356b9..2b0a8961b6 100644
--- a/cps-ri/src/test/resources/data/schemaset.sql
+++ b/cps-ri/src/test/resources/data/schemaset.sql
@@ -29,7 +29,8 @@ INSERT INTO SCHEMA_SET (ID, NAME, DATASPACE_ID) VALUES
(2100, 'SCHEMA-SET-100', 1001), -- for removal, not referenced by anchors
(2101, 'SCHEMA-SET-101', 1001), -- for removal, having anchor and data associated
(2003, 'SCHEMA-SET-003', 1002),
- (2004, 'SCHEMA-SET-004', 1002);
+ (2004, 'SCHEMA-SET-004', 1002),
+ (2005, 'SCHEMA-SET-005', 1001);
INSERT INTO YANG_RESOURCE (ID, NAME, CONTENT, CHECKSUM, MODULE_NAME, REVISION) VALUES
(3001, 'module1@2020-02-02.yang', 'CONTENT-001', 'e8bdda931099310de66532e08c3fafec391db29f55c81927b168f6aa8f81b73b',null,null),
@@ -42,14 +43,15 @@ INSERT INTO YANG_RESOURCE (ID, NAME, CONTENT, CHECKSUM, MODULE_NAME, REVISION) V
INSERT INTO SCHEMA_SET_YANG_RESOURCES (SCHEMA_SET_ID, YANG_RESOURCE_ID) VALUES
(2001, 3001), (2001, 3002),
- (2002, 3003), (2002, 3004),
+ (2002, 3003), (2005, 3004),
(2100, 3003), (2100, 3100), -- orphan removal case
(2101, 3003), (2101, 3004),
(2003, 3005), (2004, 3006);
INSERT INTO ANCHOR (ID, NAME, DATASPACE_ID, SCHEMA_SET_ID) VALUES -- anchors for removal
(6001, 'ANCHOR1', 1001, 2101),
- (6002, 'ANCHOR2', 1001, 2101);
+ (6002, 'ANCHOR2', 1001, 2101),
+ (6003, 'ANCHOR3', 1001, 2005);
INSERT INTO FRAGMENT (ID, XPATH, ANCHOR_ID, DATASPACE_ID) VALUES
(7001, '/XPATH', 6001, 1001); \ No newline at end of file