X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ri%2Fsrc%2Ftest%2Fgroovy%2Forg%2Fonap%2Fcps%2Fspi%2Fimpl%2FCpsAdminPersistenceServiceSpec.groovy;h=f486cb76d0a0079fc7c91ad627468fbc0371b3c3;hb=refs%2Fchanges%2F41%2F127541%2F32;hp=2218014ec11abb17f291104f25651f1022be62bb;hpb=cdc85a32069485641b0c8c37f8d7c4e6727e336a;p=cps.git diff --git a/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsAdminPersistenceServiceSpec.groovy b/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsAdminPersistenceServiceSpec.groovy index 2218014ec..f486cb76d 100644 --- a/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsAdminPersistenceServiceSpec.groovy +++ b/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsAdminPersistenceServiceSpec.groovy @@ -1,6 +1,6 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2021 Nordix Foundation + * Copyright (C) 2021-2022 Nordix Foundation * Modifications Copyright (C) 2021 Pantheon.tech * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ @@ -22,6 +22,7 @@ package org.onap.cps.spi.impl +import org.mockito.Mock import org.onap.cps.spi.CpsAdminPersistenceService import org.onap.cps.spi.exceptions.AlreadyDefinedException import org.onap.cps.spi.exceptions.AnchorNotFoundException @@ -30,19 +31,24 @@ import org.onap.cps.spi.exceptions.DataspaceNotFoundException import org.onap.cps.spi.exceptions.SchemaSetNotFoundException import org.onap.cps.spi.exceptions.ModuleNamesNotFoundException import org.onap.cps.spi.model.Anchor +import org.onap.cps.spi.model.CmHandleQueryParameters import org.springframework.beans.factory.annotation.Autowired import org.springframework.test.context.jdbc.Sql +import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper class CpsAdminPersistenceServiceSpec extends CpsPersistenceSpecBase { @Autowired CpsAdminPersistenceService objectUnderTest + @Mock + ObjectMapper objectMapper + static final String SET_DATA = '/data/anchor.sql' + static final String SET_FRAGMENT_DATA = '/data/fragment.sql' static final String SAMPLE_DATA_FOR_ANCHORS_WITH_MODULES = '/data/anchors-schemaset-modules.sql' static final String DATASPACE_WITH_NO_DATA = 'DATASPACE-002-NO-DATA' - static final Integer DELETED_ANCHOR_ID = 3001 - static final Long DELETED_FRAGMENT_ID = 4001 + static final Integer DELETED_ANCHOR_ID = 3002 @Sql(CLEAR_DATA) def 'Create and retrieve a new dataspace.'() { @@ -150,10 +156,9 @@ class CpsAdminPersistenceServiceSpec extends CpsPersistenceSpecBase { @Sql([CLEAR_DATA, SET_DATA]) def 'Delete anchor'() { when: 'delete anchor action is invoked' - objectUnderTest.deleteAnchor(DATASPACE_NAME, ANCHOR_NAME1) - then: 'anchor and associated data fragment are deleted' + objectUnderTest.deleteAnchor(DATASPACE_NAME, ANCHOR_NAME2) + then: 'anchor is deleted' assert anchorRepository.findById(DELETED_ANCHOR_ID).isEmpty() - assert fragmentRepository.findById(DELETED_FRAGMENT_ID).isEmpty() } @Sql([CLEAR_DATA, SET_DATA]) @@ -221,4 +226,20 @@ class CpsAdminPersistenceServiceSpec extends CpsPersistenceSpecBase { 'dataspace contains schemasets' | 'DATASPACE-003' || DataspaceInUseException | 'contains 1 schemaset(s)' } + @Sql([CLEAR_DATA, SET_FRAGMENT_DATA]) + def 'Retrieve cm handle ids when #scenario.'() { + when: 'the service is invoked' + def cmHandleQueryParameters = new CmHandleQueryParameters() + cmHandleQueryParameters.setPublicProperties(publicProperties) + def returnedCmHandles = objectUnderTest.queryCmHandles(cmHandleQueryParameters) + then: 'the correct expected cm handles are returned' + returnedCmHandles == expectedCmHandleIds + where: 'the following data is used' + scenario | publicProperties || expectedCmHandleIds + 'single matching property' | ['Contact' : 'newemailforstore@bookstore.com'] || ['PNFDemo2', 'PNFDemo', 'PNFDemo4'] as Set + 'public property dont match' | ['wont_match' : 'wont_match'] || [] as Set + '2 properties, only one match (and)' | ['Contact' : 'newemailforstore@bookstore.com', 'Contact2': 'newemailforstore2@bookstore.com'] || ['PNFDemo4'] as Set + '2 properties, no match (and)' | ['Contact' : 'newemailforstore@bookstore.com', 'Contact2': ''] || [] as Set + 'No public properties - return all cm handles' | [ : ] || ['PNFDemo3', 'PNFDemo', 'PNFDemo2', 'PNFDemo4'] as Set + } }