From 0238998ff777b82e6a5ddbd83f7f47b8dde12054 Mon Sep 17 00:00:00 2001 From: mpriyank Date: Fri, 1 Jul 2022 14:47:09 +0100 Subject: Distributed map setup for Module and Data Sync - Introduce the hazelcast dependency and check how the builds react to it. - Data Sync and Module Sync Map config. - Added basic test scenarios. - Updating the artifact-id from hazelcast-all to hazelcast-spring and version is 4.2.5. (5.1.2 is latest but has known vulnerabilities) - Refactored the code as per the onsite review session - Upcoming : Actual sub-task which will use the distributed maps in respective use cases. Issue-ID: CPS-1050 Change-Id: I60314c4ff95c267b186b20862aef93a5c389a971 Signed-off-by: mpriyank --- .../SynchronizationSemaphoresConfigSpec.groovy | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationSemaphoresConfigSpec.groovy (limited to 'cps-ncmp-service/src/test') diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationSemaphoresConfigSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationSemaphoresConfigSpec.groovy new file mode 100644 index 000000000..fe7ed9eeb --- /dev/null +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/embeddedcache/SynchronizationSemaphoresConfigSpec.groovy @@ -0,0 +1,49 @@ +/* + * ============LICENSE_START======================================================== + * Copyright (C) 2022 Nordix Foundation + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * ============LICENSE_END========================================================= + */ + +package org.onap.cps.ncmp.api.impl.config.embeddedcache + +import com.hazelcast.core.Hazelcast +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.boot.test.context.SpringBootTest +import org.springframework.test.context.ContextConfiguration +import spock.lang.Specification + +@SpringBootTest +@ContextConfiguration(classes = [SynchronizationSemaphoresConfig]) +class SynchronizationSemaphoresConfigSpec extends Specification { + + @Autowired + private Map moduleSyncSemaphore; + + @Autowired + private Map dataSyncSemaphore; + + def 'Embedded Sync Semaphores'() { + expect: 'system is able to create an instance of ModuleSyncSemaphore' + assert null != moduleSyncSemaphore + and: 'system is able to create an instance of DataSyncSemaphore' + assert null != dataSyncSemaphore + and: 'we have 2 instances' + assert Hazelcast.allHazelcastInstances.size() == 2 + and: 'the names match' + assert Hazelcast.allHazelcastInstances.name == ['moduleSyncSemaphore', 'dataSyncSemaphore'] + } +} -- cgit 1.2.3-korg