You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2024/07/29 08:24:02 UTC

(camel-k) 02/02: Adding sourceless test for telemetry trait

This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 54f6102ae59af24c7411eefaae1a685ccac5b48a
Author: hernanguardado <he...@datagrate.com>
AuthorDate: Fri Jul 26 19:41:02 2024 -0400

    Adding sourceless test for telemetry trait
---
 addons/telemetry/telemetry_test.go | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/addons/telemetry/telemetry_test.go b/addons/telemetry/telemetry_test.go
index b721da29f..1543780c7 100644
--- a/addons/telemetry/telemetry_test.go
+++ b/addons/telemetry/telemetry_test.go
@@ -91,6 +91,37 @@ func TestTelemetryTraitWithValues(t *testing.T) {
 	assert.Equal(t, "${camel.k.telemetry.samplerParentBased}", e.ApplicationProperties["quarkus.opentelemetry.tracer.sampler.parent-based"])
 }
 
+func TestTelemetryForSourceless(t *testing.T) {
+	e := createEnvironment(t, camel.QuarkusCatalog)
+	// CamelCatalog not necessarily available during a sourceless deployment
+	e.CamelCatalog = nil
+	telemetry := NewTelemetryTrait()
+	tt, _ := telemetry.(*telemetryTrait)
+	tt.Enabled = pointer.Bool(true)
+	tt.Auto = pointer.Bool(false)
+	tt.Endpoint = "http://endpoint3"
+	tt.ServiceName = "Test"
+	tt.Sampler = "ratio"
+	tt.SamplerRatio = "0.001"
+	tt.SamplerParentBased = pointer.Bool(false)
+	assert.True(t, tt.isForcefullyEnabled())
+
+	ok, condition, err := telemetry.Configure(e)
+	require.NoError(t, err)
+	assert.True(t, ok)
+	assert.Nil(t, condition)
+
+	err = telemetry.Apply(e)
+	require.NoError(t, err)
+
+	assert.Empty(t, e.ApplicationProperties["quarkus.opentelemetry.enabled"])
+	assert.Equal(t, "http://endpoint3", e.ApplicationProperties["camel.k.telemetry.endpoint"])
+	assert.Equal(t, "service.name=Test", e.ApplicationProperties["camel.k.telemetry.serviceName"])
+	assert.Equal(t, "ratio", e.ApplicationProperties["camel.k.telemetry.sampler"])
+	assert.Equal(t, "0.001", e.ApplicationProperties["camel.k.telemetry.samplerRatio"])
+	assert.Equal(t, boolean.FalseString, e.ApplicationProperties["camel.k.telemetry.samplerParentBased"])
+}
+
 func createEnvironment(t *testing.T, catalogGen func() (*camel.RuntimeCatalog, error)) *trait.Environment {
 	t.Helper()