summaryrefslogtreecommitdiff
path: root/vendor/opentracing/opentracing/tests/OpenTracing/Mock/MockSpanContextTest.php
blob: 501450b24d4fddf7929dcb269dbdff5d5c5734a0 (plain)
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
<?php

declare(strict_types=1);

namespace OpenTracing\Tests\Mock;

use OpenTracing\Mock\MockSpanContext;
use PHPUnit\Framework\TestCase;

final class MockSpanContextTest extends TestCase
{
    private const TRACE_ID = 123987;
    private const SPAN_ID = 555632;
    private const IS_SAMPLED = true;
    private const BAGGAGE_ITEM_KEY = 'test_key';
    private const BAGGAGE_ITEM_VALUE = 'test_value';

    public function testCreateAsRootSuccess()
    {
        $parentContext = MockSpanContext::createAsRoot();
        $childContext = MockSpanContext::createAsChildOf($parentContext);

        $this->assertEquals($parentContext->getTraceId(), $childContext->getTraceId());
    }

    public function testCreateMockSpanContextSuccess()
    {
        $spanContext = MockSpanContext::create(
            self::TRACE_ID,
            self::SPAN_ID,
            self::IS_SAMPLED,
            [self::BAGGAGE_ITEM_KEY => self::BAGGAGE_ITEM_VALUE]
        );

        $this->assertEquals($spanContext->getTraceId(), self::TRACE_ID);
        $this->assertEquals($spanContext->getSpanId(), self::SPAN_ID);
        $this->assertEquals($spanContext->isSampled(), self::IS_SAMPLED);
        $this->assertEquals([self::BAGGAGE_ITEM_KEY => self::BAGGAGE_ITEM_VALUE], iterator_to_array($spanContext));
        $this->assertEquals(self::BAGGAGE_ITEM_VALUE, $spanContext->getBaggageItem(self::BAGGAGE_ITEM_KEY));
    }

    public function testAddBaggageItemSuccess()
    {
        $spanContext = MockSpanContext::create(
            self::TRACE_ID,
            self::SPAN_ID,
            self::IS_SAMPLED
        );
        $this->assertEmpty(iterator_to_array($spanContext));

        $spanContext = $spanContext->withBaggageItem(self::BAGGAGE_ITEM_KEY, self::BAGGAGE_ITEM_VALUE);
        $this->assertEquals([self::BAGGAGE_ITEM_KEY => self::BAGGAGE_ITEM_VALUE], iterator_to_array($spanContext));
    }
}