X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Ftracelibgo%2Ftracing_test.go;fp=pkg%2Ftracelibgo%2Ftracing_test.go;h=e5ede67c4cdeee52ac11815564f3b43bcc163acc;hb=ddcdb2e4318b9150352f15a7263024fff1ed41e2;hp=86a61ce635d816e4538938ef8b3d516845fefea3;hpb=ec2463b984499df638d1a342dad7ba730d8a04c3;p=ric-plt%2Ftracelibgo.git diff --git a/pkg/tracelibgo/tracing_test.go b/pkg/tracelibgo/tracing_test.go index 86a61ce..e5ede67 100644 --- a/pkg/tracelibgo/tracing_test.go +++ b/pkg/tracelibgo/tracing_test.go @@ -18,15 +18,114 @@ package tracelibgo import ( + "os" "testing" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/suite" ) -func TestTracerCreate(t *testing.T) { +type ConfMakerTestSuite struct { + suite.Suite + cm confMaker +} + +func (suite *ConfMakerTestSuite) SetupTest() { + suite.cm = confMaker{"foo"} +} + +func (suite *ConfMakerTestSuite) TearDownTest() { + os.Unsetenv(tracingEnabledEnv) + os.Unsetenv(jaegerSamplerTypeEnv) + os.Unsetenv(jaegerSamplerParamEnv) + os.Unsetenv(jaegerAgentAddrEnv) + os.Unsetenv(jaegerLogLevelEnv) +} + +func (suite *ConfMakerTestSuite) TestTracingIsDisabledByDefault() { + suite.False(suite.cm.IsTracingEnabled()) +} + +func (suite *ConfMakerTestSuite) TestTracingCanBeEnabledWithEnvVar() { + os.Setenv(tracingEnabledEnv, "1") + suite.True(suite.cm.IsTracingEnabled()) + os.Setenv(tracingEnabledEnv, "true") + suite.True(suite.cm.IsTracingEnabled()) +} + +func (suite *ConfMakerTestSuite) TestTracingEnabledWithUnknownValueResultsDisabled() { + os.Setenv(tracingEnabledEnv, "0") + suite.False(suite.cm.IsTracingEnabled()) + os.Setenv(tracingEnabledEnv, "foo") + suite.False(suite.cm.IsTracingEnabled()) +} + +func (suite *ConfMakerTestSuite) TestSamplerTypeDefaultIsConst() { + suite.Equal("const", suite.cm.getSamplerConfig().Type) +} + +func (suite *ConfMakerTestSuite) TestSamplerTypeParamDefault() { + suite.Equal(0.001, suite.cm.getSamplerConfig().Param) +} + +func (suite *ConfMakerTestSuite) TestSamplerTypeCanBeDefined() { + os.Setenv(jaegerSamplerTypeEnv, "probabilistic") + suite.Equal("probabilistic", suite.cm.getSamplerConfig().Type) +} + +func (suite *ConfMakerTestSuite) TestIfSamplerParamIsInvalidZeroValueIsUsed() { + os.Setenv(jaegerSamplerParamEnv, "foo") + suite.Equal(0.0, suite.cm.getSamplerConfig().Param) +} + +func (suite *ConfMakerTestSuite) TestAgentAddrCanBeDefined() { + os.Setenv(jaegerAgentAddrEnv, "1.1.1.1:1111") + suite.Equal("1.1.1.1:1111", suite.cm.getReporterConfig().LocalAgentHostPort) +} + +func (suite *ConfMakerTestSuite) TestAgentAddressPortIsOptional() { + os.Setenv(jaegerAgentAddrEnv, "1.1.1.1") + suite.Equal("1.1.1.1:6831", suite.cm.getReporterConfig().LocalAgentHostPort) +} + +func (suite *ConfMakerTestSuite) TestLoggingLevelDefaultIsErr() { + suite.Equal(logErr, suite.cm.getLoggingLevel()) +} + +func (suite *ConfMakerTestSuite) TestLoggingLevelCanBeConfigured() { + os.Setenv(jaegerLogLevelEnv, "error") + suite.Equal(logErr, suite.cm.getLoggingLevel()) + os.Setenv(jaegerLogLevelEnv, "all") + suite.Equal(logAll, suite.cm.getLoggingLevel()) + os.Setenv(jaegerLogLevelEnv, "none") + suite.Equal(logNone, suite.cm.getLoggingLevel()) +} + +func (suite *ConfMakerTestSuite) TestConfiguredTracerCreate() { + os.Setenv(tracingEnabledEnv, "1") + os.Setenv(jaegerSamplerParamEnv, "const") + os.Setenv(jaegerSamplerParamEnv, "1") + os.Setenv(jaegerAgentAddrEnv, "127.0.0.1:6831") + tracer, closer := CreateTracer("foo") + suite.NotNil(tracer) + suite.NotNil(closer) +} + +func (suite *ConfMakerTestSuite) TestIfTracerCreationFailsDisabledTracerIsReturned() { + os.Setenv(tracingEnabledEnv, "1") + tracer, closer := CreateTracer("") // Empty name is an error + suite.NotNil(tracer) + suite.NotNil(closer) +} + +func TestConfMakerSuite(t *testing.T) { + suite.Run(t, new(ConfMakerTestSuite)) +} + +func TestDefaultTracerCreate(t *testing.T) { tracer, closer := CreateTracer("foo") assert.NotNil(t, tracer) assert.NotNil(t, closer) err := closer.Close() assert.Nil(t, err) } -