Device heartbeat listener
[cps.git] / cps-service / src / test / groovy / org / onap / cps / cache / HazelcastCacheConfigSpec.groovy
1 /*
2  *  ============LICENSE_START=======================================================
3  *  Copyright (C) 2023 Nordix Foundation
4  *  ================================================================================
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  *  SPDX-License-Identifier: Apache-2.0
18  *  ============LICENSE_END=========================================================
19  */
20
21 package org.onap.cps.cache
22
23 import spock.lang.Specification
24
25 class HazelcastCacheConfigSpec extends Specification {
26
27     def objectUnderTest = new HazelcastCacheConfig()
28
29     def 'Create Hazelcast instance with a #scenario'() {
30         given: 'a cluster name'
31             objectUnderTest.clusterName = 'my cluster'
32         when: 'an hazelcast instance is created (name has to be unique)'
33             def result = objectUnderTest.createHazelcastInstance(scenario, config)
34         then: 'the instance is created and has the correct name'
35             assert result.name == scenario
36         and: 'if applicable it has a map config with the expected name'
37             if (expectMapConfig) {
38                 assert result.config.mapConfigs.values()[0].name == 'my map config'
39             } else {
40                 assert result.config.mapConfigs.isEmpty()
41             }
42         and: 'if applicable it has a queue config with the expected name'
43             if (expectQueueConfig) {
44                 assert result.config.queueConfigs.values()[0].name == 'my queue config'
45             } else {
46                 assert result.config.queueConfigs.isEmpty()
47             }
48         and: 'if applicable it has a set config with the expected name'
49             if (expectSetConfig) {
50                 assert result.config.setConfigs.values()[0].name == 'my set config'
51             } else {
52                 assert result.config.setConfigs.isEmpty()
53             }
54         where: 'the following configs are used'
55             scenario       | config                                                    || expectMapConfig | expectQueueConfig | expectSetConfig
56             'Map Config'   | HazelcastCacheConfig.createMapConfig('my map config')     || true            | false             | false
57             'Queue Config' | HazelcastCacheConfig.createQueueConfig('my queue config') || false           | true              | false
58             'Set Config'   | HazelcastCacheConfig.createSetConfig('my set config')     || false           | false             | true
59     }
60
61 }