aboutsummaryrefslogtreecommitdiffstats
path: root/cps-service
diff options
context:
space:
mode:
authormpriyank <priyank.maheshwari@est.tech>2023-11-27 13:53:12 +0000
committermpriyank <priyank.maheshwari@est.tech>2023-11-27 16:53:28 +0000
commit1ae90809b3d3ccdbd0669145d0e4f9f56d7371cd (patch)
treed765c6191fcf63ad33fcc1e6db5f0b7e81a6ae2c /cps-service
parent605e2ad3d0e612a020d1a3236765e27154132afb (diff)
Expose hazelcast cluster info
- exposing hazelcast cluster and health related rest endpoints to be used in the testware - added test to support it - also added RTD docs Issue-ID: CPS-1980 Change-Id: I926013bee05603a43050b861f677885a2511fffc Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
Diffstat (limited to 'cps-service')
-rw-r--r--cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java7
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/cache/HazelcastCacheConfigSpec.groovy15
2 files changed, 22 insertions, 0 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java b/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java
index 0efabfd3b..660176d5e 100644
--- a/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java
+++ b/cps-service/src/main/java/org/onap/cps/cache/HazelcastCacheConfig.java
@@ -24,6 +24,7 @@ import com.hazelcast.config.Config;
import com.hazelcast.config.MapConfig;
import com.hazelcast.config.NamedConfig;
import com.hazelcast.config.QueueConfig;
+import com.hazelcast.config.RestEndpointGroup;
import com.hazelcast.config.SetConfig;
import com.hazelcast.core.Hazelcast;
import com.hazelcast.core.HazelcastInstance;
@@ -64,6 +65,7 @@ public class HazelcastCacheConfig {
config.setClusterName(clusterName);
config.setClassLoader(org.onap.cps.spi.model.Dataspace.class.getClassLoader());
+ exposeClusterInformation(config);
updateDiscoveryMode(config);
return config;
}
@@ -97,4 +99,9 @@ public class HazelcastCacheConfig {
}
}
+ protected void exposeClusterInformation(final Config config) {
+ config.getNetworkConfig().getRestApiConfig().setEnabled(true)
+ .enableGroups(RestEndpointGroup.HEALTH_CHECK, RestEndpointGroup.CLUSTER_READ);
+ }
+
}
diff --git a/cps-service/src/test/groovy/org/onap/cps/cache/HazelcastCacheConfigSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/cache/HazelcastCacheConfigSpec.groovy
index 415e9fd49..022cd74ea 100644
--- a/cps-service/src/test/groovy/org/onap/cps/cache/HazelcastCacheConfigSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/cache/HazelcastCacheConfigSpec.groovy
@@ -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 {
@@ -58,4 +60,17 @@ class HazelcastCacheConfigSpec extends Specification {
'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])
+ }
+
}