Expose hazelcast cluster info
[cps.git] / cps-service / src / test / groovy / org / onap / cps / cache / HazelcastCacheConfigSpec.groovy
index 8efd485..022cd74 100644 (file)
@@ -20,6 +20,8 @@
 
 package org.onap.cps.cache
 
+import com.hazelcast.config.Config
+import com.hazelcast.config.RestEndpointGroup
 import spock.lang.Specification
 
 class HazelcastCacheConfigSpec extends Specification {
@@ -45,10 +47,30 @@ class HazelcastCacheConfigSpec extends Specification {
             } else {
                 assert result.config.queueConfigs.isEmpty()
             }
+        and: 'if applicable it has a set config with the expected name'
+            if (expectSetConfig) {
+                assert result.config.setConfigs.values()[0].name == 'my set config'
+            } else {
+                assert result.config.setConfigs.isEmpty()
+            }
         where: 'the following configs are used'
-            scenario       | config                                                    || expectMapConfig | expectQueueConfig
-            'Map Config'   | HazelcastCacheConfig.createMapConfig('my map config')     || true            | false
-            'Queue Config' | HazelcastCacheConfig.createQueueConfig('my queue config') || false           | true
+            scenario       | config                                                    || expectMapConfig | expectQueueConfig | expectSetConfig
+            'Map Config'   | HazelcastCacheConfig.createMapConfig('my map config')     || true            | false             | false
+            'Queue Config' | HazelcastCacheConfig.createQueueConfig('my queue config') || false           | true              | false
+            'Set Config'   | HazelcastCacheConfig.createSetConfig('my set config')     || false           | false             | true
+    }
+
+    def 'Verify Hazelcast Cluster Information'() {
+        given: 'a test configuration'
+            def testConfig = new Config()
+        when: 'cluster information is exposed'
+            objectUnderTest.exposeClusterInformation(testConfig)
+        then: 'REST api configs are enabled'
+            assert testConfig.networkConfig.restApiConfig.enabled
+        and: 'only health check and cluster read are enabled'
+            def enabledGroups = testConfig.networkConfig.restApiConfig.enabledGroups
+            assert enabledGroups.size() == 2
+            assert enabledGroups.containsAll([RestEndpointGroup.CLUSTER_READ, RestEndpointGroup.HEALTH_CHECK])
     }
 
 }