aboutsummaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service/src/test/groovy/org/onap
diff options
context:
space:
mode:
authorToine Siebelink <toine.siebelink@est.tech>2024-06-05 07:11:05 +0000
committerGerrit Code Review <gerrit@onap.org>2024-06-05 07:11:05 +0000
commit026e4d2cfc38468a75c035c832b8fd04d66ce4d8 (patch)
tree19a8d90ca7cc06f5209ec0945121dc7d1730e0a5 /cps-ncmp-service/src/test/groovy/org/onap
parentc056bee2fc0f52055464839248abfa4d16c8f89c (diff)
parent2293486de5c408c2c9c27205f1167747df6e1d42 (diff)
Merge "Added OpenTelemetry to CPS"
Diffstat (limited to 'cps-ncmp-service/src/test/groovy/org/onap')
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/OpenTelemetryConfigSpec.groovy81
-rw-r--r--cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/kafka/KafkaConfigSpec.groovy4
2 files changed, 84 insertions, 1 deletions
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/OpenTelemetryConfigSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/OpenTelemetryConfigSpec.groovy
new file mode 100644
index 000000000..07395cf5b
--- /dev/null
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/OpenTelemetryConfigSpec.groovy
@@ -0,0 +1,81 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2024 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
+
+import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter
+import io.opentelemetry.exporter.otlp.trace.OtlpGrpcSpanExporter
+import io.opentelemetry.sdk.extension.trace.jaeger.sampler.JaegerRemoteSampler
+import org.spockframework.spring.SpringBean
+import org.springframework.boot.actuate.autoconfigure.observation.ObservationRegistryCustomizer
+import spock.lang.Shared
+import spock.lang.Specification
+
+class OpenTelemetryConfigSpec extends Specification{
+
+ @Shared
+ @SpringBean
+ OpenTelemetryConfig openTelemetryConfig = new OpenTelemetryConfig()
+
+ def setupSpec() {
+ openTelemetryConfig.tracingExporterEndpointUrl="http://tracingExporterEndpointUrl"
+ openTelemetryConfig.jaegerRemoteSamplerUrl="http://jaegerremotesamplerurl"
+ openTelemetryConfig.serviceId ="cps-application"
+ }
+
+ def 'OpenTelemetryConfig Construction.'() {
+ expect: 'the system can create an instance'
+ new OpenTelemetryConfig() != null
+ }
+
+ def 'OTLP Exporter creation with Grpc protocol'(){
+ when: 'an OTLP exporter is created'
+ def result = openTelemetryConfig.createOtlpExporterGrpc()
+ then: 'an OTLP Exporter is created'
+ assert result instanceof OtlpGrpcSpanExporter
+ }
+
+ def 'OTLP Exporter creation with HTTP protocol'(){
+ when: 'an OTLP exporter is created'
+ def result = openTelemetryConfig.createOtlpExporterHttp()
+ then: 'an OTLP Exporter is created'
+ assert result instanceof OtlpHttpSpanExporter
+ and:
+ assert result.builder.endpoint=="http://tracingExporterEndpointUrl"
+ }
+
+ def 'Jaeger Remote Sampler Creation'(){
+ when: 'an OTLP exporter is created'
+ def result = openTelemetryConfig.createJaegerRemoteSampler()
+ then: 'an OTLP Exporter is created'
+ assert result instanceof JaegerRemoteSampler
+ and:
+ assert result.delegate.type=="remoteSampling"
+ and:
+ assert result.delegate.url.toString().startsWith("http://jaegerremotesamplerurl")
+ }
+
+ def 'Skipping Acutator endpoints'(){
+ when: 'an OTLP exporter is created'
+ def result = openTelemetryConfig.skipActuatorEndpointsFromObservation()
+ then: 'an OTLP Exporter is created'
+ assert result instanceof ObservationRegistryCustomizer
+ }
+}
diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/kafka/KafkaConfigSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/kafka/KafkaConfigSpec.groovy
index 16f27d081..4d3fd6616 100644
--- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/kafka/KafkaConfigSpec.groovy
+++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/api/impl/config/kafka/KafkaConfigSpec.groovy
@@ -18,7 +18,7 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.cps.ncmp.api.impl.config.kafka;
+package org.onap.cps.ncmp.api.impl.config.kafka
import io.cloudevents.CloudEvent
import io.cloudevents.kafka.CloudEventDeserializer
@@ -31,12 +31,14 @@ import org.springframework.boot.test.context.SpringBootTest
import org.springframework.kafka.core.KafkaTemplate
import org.springframework.kafka.support.serializer.JsonDeserializer
import org.springframework.kafka.support.serializer.JsonSerializer
+import org.springframework.test.context.TestPropertySource
import spock.lang.Shared
import spock.lang.Specification
@SpringBootTest(classes = [KafkaProperties, KafkaConfig])
@EnableSharedInjection
@EnableConfigurationProperties
+@TestPropertySource(properties = ["cps.tracing.enabled=true"])
class KafkaConfigSpec extends Specification {
@Shared