From 7fcdebebd3ca4b451c802bdb19d664bf5ad2f22f Mon Sep 17 00:00:00 2001 From: IrisTuntun Date: Mon, 29 Mar 2021 16:41:03 -0700 Subject: [PATCH 1/5] Fix testCollectorEndpoint typo and add tag assertions in jaeger_test --- CHANGELOG.md | 4 ++++ exporters/trace/jaeger/jaeger_test.go | 21 ++++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 226f05bf600..f738deb14d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,10 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm Instead, `"go.opentelemetry.io/otel/trace".SpanContextFromContex` can be used to return the current Span. If needed, that Span's `SpanContext.IsRemote()` can then be used to determine if it is remote or not. (#1731) +### Fixed + +- Fixes the typo `testCollectorEnpoint` to `testCollectorEndpoint` and added assertion on `gen.Batch` process. (#TBD) + ## [0.19.0] - 2021-03-18 ### Added diff --git a/exporters/trace/jaeger/jaeger_test.go b/exporters/trace/jaeger/jaeger_test.go index 0226d79a8a0..00adf00f711 100644 --- a/exporters/trace/jaeger/jaeger_test.go +++ b/exporters/trace/jaeger/jaeger_test.go @@ -277,24 +277,24 @@ func TestNewRawExporterShouldFailIfCollectorUnset(t *testing.T) { assert.Error(t, err) } -type testCollectorEnpoint struct { +type testCollectorEndpoint struct { batchesUploaded []*gen.Batch } -func (c *testCollectorEnpoint) upload(batch *gen.Batch) error { +func (c *testCollectorEndpoint) upload(batch *gen.Batch) error { c.batchesUploaded = append(c.batchesUploaded, batch) return nil } -var _ batchUploader = (*testCollectorEnpoint)(nil) +var _ batchUploader = (*testCollectorEndpoint)(nil) func withTestCollectorEndpoint() func() (batchUploader, error) { return func() (batchUploader, error) { - return &testCollectorEnpoint{}, nil + return &testCollectorEndpoint{}, nil } } -func withTestCollectorEndpointInjected(ce *testCollectorEnpoint) func() (batchUploader, error) { +func withTestCollectorEndpointInjected(ce *testCollectorEndpoint) func() (batchUploader, error) { return func() (batchUploader, error) { return ce, nil } @@ -330,7 +330,7 @@ func TestExporter_ExportSpan(t *testing.T) { assert.True(t, span.SpanContext().IsValid()) exp.Flush() - tc := exp.uploader.(*testCollectorEnpoint) + tc := exp.uploader.(*testCollectorEndpoint) assert.True(t, len(tc.batchesUploaded) == 1) assert.True(t, len(tc.batchesUploaded[0].GetSpans()) == 1) } @@ -903,14 +903,17 @@ func TestNewExporterPipelineWithOptions(t *testing.T) { const ( serviceName = "test-service" eventCountLimit = 10 + tagKey = "key" + tagVal = "val" ) - testCollector := &testCollectorEnpoint{} + testCollector := &testCollectorEndpoint{} tp, spanFlush, err := NewExportPipeline( withTestCollectorEndpointInjected(testCollector), WithSDKOptions( sdktrace.WithResource(resource.NewWithAttributes( semconv.ServiceNameKey.String(serviceName), + attribute.String(tagKey, tagVal), )), sdktrace.WithSpanLimits(sdktrace.SpanLimits{ EventCountLimit: eventCountLimit, @@ -936,4 +939,8 @@ func TestNewExporterPipelineWithOptions(t *testing.T) { assert.True(t, len(uploadedBatch.GetSpans()) == 1) uploadedSpan := uploadedBatch.GetSpans()[0] assert.Equal(t, eventCountLimit, len(uploadedSpan.GetLogs())) + + assert.Equal(t, 1, len(uploadedBatch.GetProcess().GetTags())) + assert.Equal(t, tagKey, uploadedBatch.GetProcess().GetTags()[0].GetKey()) + assert.Equal(t, tagVal, uploadedBatch.GetProcess().GetTags()[0].GetVStr()) } From 24ea276e139f589757616faa69f50d2403a8e3dc Mon Sep 17 00:00:00 2001 From: IrisTuntun Date: Mon, 29 Mar 2021 17:23:06 -0700 Subject: [PATCH 2/5] add PR number for CHANGLOG --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f738deb14d6..277151e6078 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,7 +30,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ### Fixed -- Fixes the typo `testCollectorEnpoint` to `testCollectorEndpoint` and added assertion on `gen.Batch` process. (#TBD) +- Fixes the typo `testCollectorEnpoint` to `testCollectorEndpoint` and added assertion on `gen.Batch` process. (#1753) ## [0.19.0] - 2021-03-18 From f071098c0dfd06715d9c3b72cfca003269738293 Mon Sep 17 00:00:00 2001 From: IrisTuntun Date: Tue, 30 Mar 2021 10:16:31 -0700 Subject: [PATCH 3/5] add tag and sevicename assetions in TestExporter_ExportSpan --- exporters/trace/jaeger/jaeger_test.go | 43 +++++++++++++++++---------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/exporters/trace/jaeger/jaeger_test.go b/exporters/trace/jaeger/jaeger_test.go index 00adf00f711..e2ba640a990 100644 --- a/exporters/trace/jaeger/jaeger_test.go +++ b/exporters/trace/jaeger/jaeger_test.go @@ -301,14 +301,23 @@ func withTestCollectorEndpointInjected(ce *testCollectorEndpoint) func() (batchU } func TestExporter_ExportSpan(t *testing.T) { + envStore, err := ottest.SetEnvVariables(map[string]string{ + envDisabled: "false", + }) + require.NoError(t, err) + defer func() { + require.NoError(t, envStore.Restore()) + }() + const ( serviceName = "test-service" tagKey = "key" tagVal = "val" ) - // Create Jaeger Exporter - exp, err := NewRawExporter( - withTestCollectorEndpoint(), + + testCollector := &testCollectorEndpoint{} + tp, spanFlush, err := NewExportPipeline( + withTestCollectorEndpointInjected(testCollector), WithSDKOptions( sdktrace.WithResource(resource.NewWithAttributes( semconv.ServiceNameKey.String(serviceName), @@ -316,23 +325,25 @@ func TestExporter_ExportSpan(t *testing.T) { )), ), ) - assert.NoError(t, err) - - tp := sdktrace.NewTracerProvider( - sdktrace.WithSampler(sdktrace.AlwaysSample()), - sdktrace.WithSyncer(exp), - ) otel.SetTracerProvider(tp) - _, span := otel.Tracer("test-tracer").Start(context.Background(), "test-span") - span.End() + tracer := otel.Tracer("test-tracer") + for i := 0; i < 3; i++ { + _, span := tracer.Start(context.Background(), fmt.Sprintf("test-span-%d", i)) + span.End() + assert.True(t, span.SpanContext().IsValid()) + } - assert.True(t, span.SpanContext().IsValid()) + spanFlush() + batchesUploaded := testCollector.batchesUploaded + assert.True(t, len(batchesUploaded) == 1) + uploadedBatch := batchesUploaded[0] + assert.Equal(t, serviceName, uploadedBatch.GetProcess().GetServiceName()) + assert.True(t, len(uploadedBatch.GetSpans()) == 3) - exp.Flush() - tc := exp.uploader.(*testCollectorEndpoint) - assert.True(t, len(tc.batchesUploaded) == 1) - assert.True(t, len(tc.batchesUploaded[0].GetSpans()) == 1) + assert.Equal(t, 1, len(uploadedBatch.GetProcess().GetTags())) + assert.Equal(t, tagKey, uploadedBatch.GetProcess().GetTags()[0].GetKey()) + assert.Equal(t, tagVal, uploadedBatch.GetProcess().GetTags()[0].GetVStr()) } func Test_spanSnapshotToThrift(t *testing.T) { From 64e9452a7603923b04897bdf61905dd47e52f8a8 Mon Sep 17 00:00:00 2001 From: IrisTuntun Date: Tue, 30 Mar 2021 10:28:36 -0700 Subject: [PATCH 4/5] update assert.Equal to assert.Len and revert CHANGLOG --- CHANGELOG.md | 4 ---- exporters/trace/jaeger/jaeger_test.go | 14 +++++++------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 277151e6078..226f05bf600 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,10 +28,6 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm Instead, `"go.opentelemetry.io/otel/trace".SpanContextFromContex` can be used to return the current Span. If needed, that Span's `SpanContext.IsRemote()` can then be used to determine if it is remote or not. (#1731) -### Fixed - -- Fixes the typo `testCollectorEnpoint` to `testCollectorEndpoint` and added assertion on `gen.Batch` process. (#1753) - ## [0.19.0] - 2021-03-18 ### Added diff --git a/exporters/trace/jaeger/jaeger_test.go b/exporters/trace/jaeger/jaeger_test.go index e2ba640a990..b4c0aea48e7 100644 --- a/exporters/trace/jaeger/jaeger_test.go +++ b/exporters/trace/jaeger/jaeger_test.go @@ -336,12 +336,12 @@ func TestExporter_ExportSpan(t *testing.T) { spanFlush() batchesUploaded := testCollector.batchesUploaded - assert.True(t, len(batchesUploaded) == 1) + assert.Len(t, batchesUploaded, 1) uploadedBatch := batchesUploaded[0] assert.Equal(t, serviceName, uploadedBatch.GetProcess().GetServiceName()) - assert.True(t, len(uploadedBatch.GetSpans()) == 3) + assert.Len(t, uploadedBatch.GetSpans(), 3) - assert.Equal(t, 1, len(uploadedBatch.GetProcess().GetTags())) + assert.Len(t, uploadedBatch.GetProcess().GetTags(), 1) assert.Equal(t, tagKey, uploadedBatch.GetProcess().GetTags()[0].GetKey()) assert.Equal(t, tagVal, uploadedBatch.GetProcess().GetTags()[0].GetVStr()) } @@ -944,14 +944,14 @@ func TestNewExporterPipelineWithOptions(t *testing.T) { assert.True(t, span.SpanContext().IsValid()) batchesUploaded := testCollector.batchesUploaded - assert.True(t, len(batchesUploaded) == 1) + assert.Len(t, batchesUploaded, 1) uploadedBatch := batchesUploaded[0] assert.Equal(t, serviceName, uploadedBatch.GetProcess().GetServiceName()) - assert.True(t, len(uploadedBatch.GetSpans()) == 1) + assert.Len(t, uploadedBatch.GetSpans(), 1) uploadedSpan := uploadedBatch.GetSpans()[0] - assert.Equal(t, eventCountLimit, len(uploadedSpan.GetLogs())) + assert.Len(t, uploadedSpan.GetLogs(), eventCountLimit) - assert.Equal(t, 1, len(uploadedBatch.GetProcess().GetTags())) + assert.Len(t, uploadedBatch.GetProcess().GetTags(), 1) assert.Equal(t, tagKey, uploadedBatch.GetProcess().GetTags()[0].GetKey()) assert.Equal(t, tagVal, uploadedBatch.GetProcess().GetTags()[0].GetVStr()) } From a63eae5ca373d1a7fd1b495c2ec97b2d6478ddbb Mon Sep 17 00:00:00 2001 From: IrisTuntun Date: Wed, 31 Mar 2021 12:47:30 -0700 Subject: [PATCH 5/5] update assert.Len to require.Len --- exporters/trace/jaeger/jaeger_test.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/exporters/trace/jaeger/jaeger_test.go b/exporters/trace/jaeger/jaeger_test.go index b4c0aea48e7..c4b11dd06aa 100644 --- a/exporters/trace/jaeger/jaeger_test.go +++ b/exporters/trace/jaeger/jaeger_test.go @@ -336,12 +336,12 @@ func TestExporter_ExportSpan(t *testing.T) { spanFlush() batchesUploaded := testCollector.batchesUploaded - assert.Len(t, batchesUploaded, 1) + require.Len(t, batchesUploaded, 1) uploadedBatch := batchesUploaded[0] assert.Equal(t, serviceName, uploadedBatch.GetProcess().GetServiceName()) assert.Len(t, uploadedBatch.GetSpans(), 3) - assert.Len(t, uploadedBatch.GetProcess().GetTags(), 1) + require.Len(t, uploadedBatch.GetProcess().GetTags(), 1) assert.Equal(t, tagKey, uploadedBatch.GetProcess().GetTags()[0].GetKey()) assert.Equal(t, tagVal, uploadedBatch.GetProcess().GetTags()[0].GetVStr()) } @@ -944,14 +944,14 @@ func TestNewExporterPipelineWithOptions(t *testing.T) { assert.True(t, span.SpanContext().IsValid()) batchesUploaded := testCollector.batchesUploaded - assert.Len(t, batchesUploaded, 1) + require.Len(t, batchesUploaded, 1) uploadedBatch := batchesUploaded[0] assert.Equal(t, serviceName, uploadedBatch.GetProcess().GetServiceName()) - assert.Len(t, uploadedBatch.GetSpans(), 1) + require.Len(t, uploadedBatch.GetSpans(), 1) uploadedSpan := uploadedBatch.GetSpans()[0] assert.Len(t, uploadedSpan.GetLogs(), eventCountLimit) - assert.Len(t, uploadedBatch.GetProcess().GetTags(), 1) + require.Len(t, uploadedBatch.GetProcess().GetTags(), 1) assert.Equal(t, tagKey, uploadedBatch.GetProcess().GetTags()[0].GetKey()) assert.Equal(t, tagVal, uploadedBatch.GetProcess().GetTags()[0].GetVStr()) }