1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
<?php
namespace Jaeger\Tests\Codec;
use Jaeger\Codec\ZipkinCodec;
use Jaeger\SpanContext;
use PHPUnit\Framework\TestCase;
use const Jaeger\DEBUG_FLAG;
use const Jaeger\SAMPLED_FLAG;
class ZipkinCodecTest extends TestCase
{
/** @var ZipkinCodec */
private $codec;
function setUp(): void
{
$this->codec = new ZipkinCodec;
}
function testInject()
{
// Given
$traceId = 123;
$spanId = 456;
$parentId = 789;
$spanContext = new SpanContext(
$traceId,
$spanId,
$parentId,
SAMPLED_FLAG
);
$carrier = [];
// When
$this->codec->inject($spanContext, $carrier);
// Then
$this->assertEquals('7b', $carrier['X-B3-TraceId']);
$this->assertEquals('1c8', $carrier['X-B3-SpanId']);
$this->assertEquals('315', $carrier['X-B3-ParentSpanId']);
$this->assertSame(1, $carrier['X-B3-Flags']);
}
function testExtract()
{
// Given
$carrier = [
'x-b3-traceid' => 'a53bf337d7e455e1',
'x-b3-spanid' => '153bf227d1f455a1',
'x-b3-parentspanid' => 'a53bf337d7e455e1',
'x-b3-flags' => '1',
];
// When
$spanContext = $this->codec->extract($carrier);
// Then
$this->assertEquals(new SpanContext(
'-6540366612654696991',
'1530082751262512545',
'-6540366612654696991',
DEBUG_FLAG
), $spanContext);
}
function testExtractWithoutParentSpanId()
{
// Given
$carrier = [
'x-b3-traceid' => '8d824d69da5f50d9',
'x-b3-spanid' => '8d824d69da5f50d9',
'x-b3-flags' => '1',
];
// When
$spanContext = $this->codec->extract($carrier);
// Then
$this->assertEquals(new SpanContext(
'-8249946450358742823',
'-8249946450358742823',
'0',
DEBUG_FLAG
), $spanContext);
}
function testExtractInvalidHeader()
{
// Given
$carrier = [
'x-b3-traceid' => 'zzzz',
'x-b3-spanid' => '463ac35c9f6413ad48485a3953bb6124',
'x-b3-flags' => '1',
];
// When
$spanContext = $this->codec->extract($carrier);
// Then
$this->assertEquals(null, $spanContext);
}
}
|