...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package resource_test
16
17 import (
18 "context"
19 "fmt"
20 "os"
21 "testing"
22
23 "github.com/stretchr/testify/assert"
24
25 "go.opentelemetry.io/otel/sdk/resource"
26 semconv "go.opentelemetry.io/otel/semconv/v1.21.0"
27 )
28
29 func TestDetect(t *testing.T) {
30 cases := []struct {
31 name string
32 schema1, schema2 string
33 isErr bool
34 }{
35 {
36 name: "different schema urls",
37 schema1: "https://opentelemetry.io/schemas/1.3.0",
38 schema2: "https://opentelemetry.io/schemas/1.4.0",
39 isErr: true,
40 },
41 {
42 name: "same schema url",
43 schema1: "https://opentelemetry.io/schemas/1.4.0",
44 schema2: "https://opentelemetry.io/schemas/1.4.0",
45 isErr: false,
46 },
47 }
48
49 for _, c := range cases {
50 t.Run(fmt.Sprintf("case-%s", c.name), func(t *testing.T) {
51 d1 := resource.StringDetector(c.schema1, semconv.HostNameKey, os.Hostname)
52 d2 := resource.StringDetector(c.schema2, semconv.HostNameKey, os.Hostname)
53 r, err := resource.Detect(context.Background(), d1, d2)
54 assert.NotNil(t, r)
55 if c.isErr {
56 assert.Error(t, err)
57 } else {
58 assert.NoError(t, err)
59 }
60 })
61 }
62 }
63
View as plain text