8
8
"fmt"
9
9
"io"
10
10
"net/http"
11
+ "strconv"
11
12
"testing"
12
13
13
14
pb "github.com/DataDog/datadog-agent/pkg/proto/pbgo/trace"
@@ -28,7 +29,7 @@ var data = [2]any{
28
29
2 : "elasticsearch.version" ,
29
30
3 : "7.0" ,
30
31
4 : "my-name" ,
31
- 5 : "X " ,
32
+ 5 : "numeric_attribute " ,
32
33
6 : "my-service" ,
33
34
7 : "my-resource" ,
34
35
8 : "_sampling_priority_v1" ,
@@ -86,26 +87,27 @@ func TestTracePayloadV05Unmarshalling(t *testing.T) {
86
87
require .NoError (t , traces .UnmarshalMsgDictionary (payload ), "Must not error when marshaling content" )
87
88
req , _ := http .NewRequest (http .MethodPost , "/v0.5/traces" , io .NopCloser (bytes .NewReader (payload )))
88
89
89
- translated := ToTraces (& pb.TracerPayload {
90
- LanguageName : req .Header .Get (header .Lang ),
91
- LanguageVersion : req .Header .Get (header .LangVersion ),
92
- TracerVersion : req .Header .Get (header .TracerVersion ),
93
- Chunks : traceChunksFromTraces (traces ),
94
- }, req )
90
+ tracePayloads , _ := HandleTracesPayload (req )
91
+ assert .Len (t , tracePayloads , 1 , "Expected one translated payload" )
92
+ tracePayload := tracePayloads [0 ]
93
+ translated := ToTraces (tracePayload , req )
95
94
assert .Equal (t , 1 , translated .SpanCount (), "Span Count wrong" )
96
95
span := translated .ResourceSpans ().At (0 ).ScopeSpans ().At (0 ).Spans ().At (0 )
97
96
assert .NotNil (t , span )
98
- assert .Equal (t , 9 , span .Attributes ().Len (), "missing attributes" )
97
+ assert .Equal (t , "my-name" , span .Name ())
98
+ assert .Equal (t , 10 , span .Attributes ().Len (), "missing attributes" )
99
99
value , exists := span .Attributes ().Get ("service.name" )
100
- serviceVersionValue , _ := span .Attributes ().Get ("service.version" )
101
100
assert .True (t , exists , "service.name missing" )
102
101
assert .Equal (t , "my-service" , value .AsString (), "service.name attribute value incorrect" )
103
- assert . Equal ( t , "my-name" , span .Name () )
102
+ serviceVersionValue , _ := span .Attributes (). Get ( "service.version" )
104
103
assert .Equal (t , "1.0.1" , serviceVersionValue .AsString ())
105
104
spanResource , _ := span .Attributes ().Get ("dd.span.Resource" )
106
105
assert .Equal (t , "my-resource" , spanResource .Str ())
107
106
spanResource1 , _ := span .Attributes ().Get ("sampling.priority" )
108
107
assert .Equal (t , fmt .Sprintf ("%f" , 1.0 ), spanResource1 .Str ())
108
+ numericAttributeValue , _ := span .Attributes ().Get ("numeric_attribute" )
109
+ numericAttributeFloat , _ := strconv .ParseFloat (numericAttributeValue .AsString (), 64 )
110
+ assert .Equal (t , 1.2 , numericAttributeFloat )
109
111
}
110
112
111
113
func TestTracePayloadV07Unmarshalling (t * testing.T ) {
0 commit comments