Retrieve an Anchor for a given dataspace by anchor name - Service layer
Part of story already done in CPS-135
Issue-ID: CPS-55
Signed-off-by: Rishi.Chail <rishi.chail@est.tech>
Change-Id: I0c4ae551f5c85866ce543fbb27b18ffff7d80462
diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java
old mode 100644
new mode 100755
index 853bd95..ed89c43
--- a/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java
+++ b/cps-service/src/main/java/org/onap/cps/api/CpsAdminService.java
@@ -57,4 +57,14 @@
*/
@NonNull
Collection<Anchor> getAnchors(@NonNull String dataspaceName);
+
+ /**
+ * Get an anchor in the given dataspace using the anchor name.
+ *
+ * @param dataspaceName dataspace name
+ * @param anchorName anchor name
+ * @return an anchor
+ */
+ @NonNull
+ Anchor getAnchor(@NonNull String dataspaceName, @NonNull String anchorName);
}
diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
old mode 100644
new mode 100755
index 0cb85fd..09550f1
--- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
+++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
@@ -47,4 +47,9 @@
public Collection<Anchor> getAnchors(final String dataspaceName) {
return cpsAdminPersistenceService.getAnchors(dataspaceName);
}
-}
+
+ @Override
+ public Anchor getAnchor(final String dataspaceName, final String anchorName) {
+ return cpsAdminPersistenceService.getAnchor(dataspaceName, anchorName);
+ }
+}
\ No newline at end of file
diff --git a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy
index 5aaa340..7c0c626 100755
--- a/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/api/impl/CpsAdminServiceImplSpec.groovy
@@ -32,25 +32,33 @@
objectUnderTest.cpsAdminPersistenceService = mockCpsAdminPersistenceService
}
- def 'Create dataspace method invokes persistence service'() {
+ def 'Create dataspace method invokes persistence service.'() {
when: 'Create dataspace method is invoked'
objectUnderTest.createDataspace('someDataspace')
then: 'The persistence service method is invoked with same parameters'
1 * mockCpsAdminPersistenceService.createDataspace('someDataspace')
}
- def 'Create anchor method invokes persistence service'() {
+ def 'Create anchor method invokes persistence service.'() {
when: 'Create anchor method is invoked'
objectUnderTest.createAnchor('someDataspace', 'someSchemaSet', 'someAnchorName')
then: 'The persistence service method is invoked with same parameters'
1 * mockCpsAdminPersistenceService.createAnchor('someDataspace', 'someSchemaSet', 'someAnchorName')
}
- def 'Retrieve all anchors for dataspace'() {
+ def 'Retrieve all anchors for dataspace.'() {
given: 'that anchor is associated with the dataspace'
Collection<Anchor> anchorCollection = Arrays.asList(new Anchor())
mockCpsAdminPersistenceService.getAnchors('someDataspace') >> { anchorCollection }
expect: 'the collection provided by persistence service is returned as result'
objectUnderTest.getAnchors('someDataspace') == anchorCollection
}
-}
+
+ def 'Retrieve anchor for dataspace and provided anchor name.'() {
+ given: 'that anchor name is associated with the dataspace'
+ Anchor anchor = new Anchor()
+ mockCpsAdminPersistenceService.getAnchor('someDataspace','someAnchor') >> anchor
+ expect: 'the anchor provided by persistence service is returned as result'
+ objectUnderTest.getAnchor('someDataspace','someAnchor') == anchor
+ }
+}
\ No newline at end of file