import org.onap.cps.TestUtils
import org.onap.cps.spi.CpsModulePersistenceService
import org.onap.cps.spi.exceptions.ModelValidationException
+import org.onap.cps.spi.model.ExtendedModuleReference
import org.onap.cps.spi.model.ModuleReference
import org.spockframework.spring.SpringBean
import org.springframework.beans.factory.annotation.Autowired
@Autowired
CpsModuleServiceImpl objectUnderTest
- def 'Create schema set'() {
+ def 'Create schema set.'() {
given: 'Valid yang resource as name-to-content map'
def yangResourcesNameToContentMap = TestUtils.getYangResourcesAsMap('bookstore.yang')
when: 'Create schema set method is invoked'
1 * mockModuleStoreService.storeSchemaSet('someDataspace', 'someSchemaSet', yangResourcesNameToContentMap)
}
+ def 'Create schema set from new modules and existing modules.'() {
+ given: 'a list of existing modules module reference'
+ def moduleReferenceForExistingModule = new ExtendedModuleReference("test", "test.org", "2021-10-12")
+ def listOfExistingModulesModuleReference = [moduleReferenceForExistingModule]
+ when: 'create schema set from modules method is invoked'
+ objectUnderTest.createSchemaSetFromModules("someDataspaceName", "someSchemaSetName", [newModule: "newContent"], listOfExistingModulesModuleReference)
+ then: 'processing is delegated to persistence service'
+ 1 * mockModuleStoreService.storeSchemaSetFromModules("someDataspaceName", "someSchemaSetName", [newModule: "newContent"], listOfExistingModulesModuleReference)
+
+ }
+
def 'Create schema set from invalid resources'() {
given: 'Invalid yang resource as name-to-content map'
def yangResourcesNameToContentMap = TestUtils.getYangResourcesAsMap('invalid.yang')
then: 'the correct schema set is returned'
result.getName().contains('someSchemaSet')
result.getDataspaceName().contains('someDataspace')
- result.getModuleReferences().contains(new ModuleReference('stores', 'org:onap:ccsdk:sample', '2020-09-15'))
+ result.getExtendedModuleReferences().contains(new ExtendedModuleReference('stores', 'org:onap:ccsdk:sample', '2020-09-15'))
}
def 'Schema set caching.'() {
def 'Get all yang resources module references.'(){
given: 'an already present module reference'
+ def moduleReferences = [new ExtendedModuleReference()]
+ mockModuleStoreService.getYangResourceModuleReferences('someDataspaceName') >> moduleReferences
+ expect: 'the list provided by persistence service is returned as result'
+ objectUnderTest.getYangResourceModuleReferences('someDataspaceName') == moduleReferences
+ }
+
+
+ def 'Get all yang resources module references for the given dataspace name and anchor name.'(){
+ given: 'the module store service service returns a list module references'
def moduleReferences = [new ModuleReference()]
- mockModuleStoreService.getAllYangResourcesModuleReferences() >> moduleReferences
+ mockModuleStoreService.getYangResourceModuleReferences('someDataspaceName', 'someAnchorName') >> moduleReferences
expect: 'the list provided by persistence service is returned as result'
- objectUnderTest.getAllYangResourcesModuleReferences() == moduleReferences
+ objectUnderTest.getYangResourcesModuleReferences('someDataspaceName', 'someAnchorName') == moduleReferences
}
}