Merge "CPS Delta API: Update action for delta service"
[cps.git] / cps-service / src / test / groovy / org / onap / cps / api / impl / E2ENetworkSliceSpec.groovy
index 75f2974..140dfaa 100755 (executable)
@@ -1,9 +1,9 @@
 /*\r
  * ============LICENSE_START=======================================================\r
- * Copyright (C) 2021-2023 Nordix Foundation.\r
+ * Copyright (C) 2021-2024 Nordix Foundation.\r
  * Modifications Copyright (C) 2021-2022 Bell Canada.\r
  * Modifications Copyright (C) 2021 Pantheon.tech\r
- * Modifications Copyright (C) 2022 TechMahindra Ltd.\r
+ * Modifications Copyright (C) 2022-2023 TechMahindra Ltd.\r
  * ================================================================================\r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
  * you may not use this file except in compliance with the License.\r
 package org.onap.cps.api.impl\r
 \r
 import org.onap.cps.TestUtils\r
-import org.onap.cps.api.CpsAdminService\r
-import org.onap.cps.notification.NotificationService\r
+import org.onap.cps.api.CpsAnchorService\r
+import org.onap.cps.api.CpsDeltaService\r
 import org.onap.cps.spi.CpsDataPersistenceService\r
 import org.onap.cps.spi.CpsModulePersistenceService\r
 import org.onap.cps.spi.model.Anchor\r
 import org.onap.cps.spi.utils.CpsValidator\r
-import org.onap.cps.utils.TimedYangParser\r
-import org.onap.cps.utils.YangUtils\r
+import org.onap.cps.utils.ContentType\r
+import org.onap.cps.utils.YangParser\r
+import org.onap.cps.utils.YangParserHelper\r
 import org.onap.cps.yang.TimedYangTextSchemaSourceSetBuilder\r
 import org.onap.cps.yang.YangTextSchemaSourceSetBuilder\r
 import spock.lang.Specification\r
@@ -39,18 +40,17 @@ import spock.lang.Specification
 class E2ENetworkSliceSpec extends Specification {\r
     def mockModuleStoreService = Mock(CpsModulePersistenceService)\r
     def mockDataStoreService = Mock(CpsDataPersistenceService)\r
-    def mockCpsAdminService = Mock(CpsAdminService)\r
-    def mockNotificationService = Mock(NotificationService)\r
+    def mockCpsAnchorService = Mock(CpsAnchorService)\r
     def mockYangTextSchemaSourceSetCache = Mock(YangTextSchemaSourceSetCache)\r
     def mockCpsValidator = Mock(CpsValidator)\r
     def timedYangTextSchemaSourceSetBuilder = new TimedYangTextSchemaSourceSetBuilder()\r
-    def timedYangParser = new TimedYangParser()\r
+    def yangParser = new YangParser(new YangParserHelper(), mockYangTextSchemaSourceSetCache)\r
+    def mockCpsDeltaService = Mock(CpsDeltaService)\r
 \r
     def cpsModuleServiceImpl = new CpsModuleServiceImpl(mockModuleStoreService,\r
-            mockYangTextSchemaSourceSetCache, mockCpsAdminService, mockCpsValidator,timedYangTextSchemaSourceSetBuilder)\r
+            mockYangTextSchemaSourceSetCache, mockCpsAnchorService, mockCpsValidator,timedYangTextSchemaSourceSetBuilder)\r
 \r
-    def cpsDataServiceImpl = new CpsDataServiceImpl(mockDataStoreService, mockCpsAdminService,\r
-            mockYangTextSchemaSourceSetCache, mockNotificationService, mockCpsValidator, timedYangParser)\r
+    def cpsDataServiceImpl = new CpsDataServiceImpl(mockDataStoreService, mockCpsAnchorService, mockCpsValidator, yangParser, mockCpsDeltaService)\r
 \r
     def dataspaceName = 'someDataspace'\r
     def anchorName = 'someAnchor'\r
@@ -89,7 +89,7 @@ class E2ENetworkSliceSpec extends Specification {
         and : 'a valid json is provided for the model'\r
             def jsonData = TestUtils.getResourceFileContent('e2e/basic/cps-Cavsta-Data.txt')\r
         and : 'all the further dependencies are mocked '\r
-            mockCpsAdminService.getAnchor(dataspaceName, anchorName) >>\r
+            mockCpsAnchorService.getAnchor(dataspaceName, anchorName) >>\r
                     new Anchor().builder().name(anchorName).schemaSetName(schemaSetName).dataspaceName(dataspaceName).build()\r
             mockYangTextSchemaSourceSetCache.get(dataspaceName, schemaSetName) >>\r
                     YangTextSchemaSourceSetBuilder.of(yangResourcesNameToContentMap)\r
@@ -122,7 +122,7 @@ class E2ENetworkSliceSpec extends Specification {
         and : 'a valid json is provided for the model'\r
             def jsonData = TestUtils.getResourceFileContent('e2e/basic/cps-ran-inventory-data.json')\r
         and : 'all the further dependencies are mocked '\r
-            mockCpsAdminService.getAnchor('someDataspace', 'someAnchor') >>\r
+            mockCpsAnchorService.getAnchor('someDataspace', 'someAnchor') >>\r
                     new Anchor().builder().name('someAnchor').schemaSetName('someSchemaSet').dataspaceName(dataspaceName).build()\r
             mockYangTextSchemaSourceSetCache.get('someDataspace', 'someSchemaSet') >> YangTextSchemaSourceSetBuilder.of(yangResourcesNameToContentMap)\r
             mockModuleStoreService.getYangSchemaResources('someDataspace', 'someSchemaSet') >> schemaContext\r
@@ -164,6 +164,6 @@ class E2ENetworkSliceSpec extends Specification {
         expect: 'schema context is built with no exception indicating the schema set being valid '\r
             def schemaContext = YangTextSchemaSourceSetBuilder.of(yangResourcesNameToContentMap).getSchemaContext()\r
         and: 'data is parsed with no exception indicating the model match'\r
-            YangUtils.parseJsonData(jsonData, schemaContext) != null\r
+            new YangParserHelper().parseData(ContentType.JSON, jsonData, schemaContext, '') != null\r
     }\r
 }\r