summaryrefslogtreecommitdiff
path: root/vendor/jonahgeorge/jaeger-client-php/tests/Jaeger/SpanTest.php
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-10-20 17:12:29 +0300
committerAndrew Dolgov <[email protected]>2023-10-20 21:13:39 +0300
commitcdd7ad020e165fe680703b6d3319b908b682fb7a (patch)
treeb51eb09b7b4587e8fbc5624ac8d88d28cfcd0b04 /vendor/jonahgeorge/jaeger-client-php/tests/Jaeger/SpanTest.php
parent45a9ff0c88cbd33892ff16ab837e9059937d656e (diff)
jaeger-client -> opentelemetry
Diffstat (limited to 'vendor/jonahgeorge/jaeger-client-php/tests/Jaeger/SpanTest.php')
-rw-r--r--vendor/jonahgeorge/jaeger-client-php/tests/Jaeger/SpanTest.php293
1 files changed, 0 insertions, 293 deletions
diff --git a/vendor/jonahgeorge/jaeger-client-php/tests/Jaeger/SpanTest.php b/vendor/jonahgeorge/jaeger-client-php/tests/Jaeger/SpanTest.php
deleted file mode 100644
index d23879680..000000000
--- a/vendor/jonahgeorge/jaeger-client-php/tests/Jaeger/SpanTest.php
+++ /dev/null
@@ -1,293 +0,0 @@
-<?php
-
-namespace Jaeger\Tests;
-
-use Jaeger\Reporter\NullReporter;
-use Jaeger\Sampler\ConstSampler;
-use Jaeger\Span;
-use Jaeger\SpanContext;
-use Jaeger\Thrift\Agent\Zipkin\AnnotationType;
-use Jaeger\Tracer;
-use PHPUnit\Framework\TestCase;
-use const Jaeger\SAMPLED_FLAG;
-
-class SpanTest extends TestCase
-{
- /**
- * @var Tracer
- */
- private $tracer;
-
- /**
- * @var SpanContext
- */
- private $context;
-
- /**
- * {@inheritdoc}
- */
- public function setUp(): void
- {
- $this->tracer = new Tracer('test-service', new NullReporter, new ConstSampler);
- $this->context = new SpanContext(0, 0,0, SAMPLED_FLAG);
- }
-
- /**
- * {@inheritdoc}
- */
- protected function tearDown(): void
- {
- $this->tracer = null;
- $this->context = null;
- }
-
- /** @test */
- public function shouldProperlyInitializeAtConstructTime(): void
- {
- $tags = [
- 'foo-1' => 'test-component-1',
- 'foo-2' => 'test-component-2',
- 'foo-3' => 'test-component-3',
- ];
-
- $span = new Span($this->context, $this->tracer, 'test-operation', $tags);
-
- $this->assertEquals( 3, count($span->getTags()));
- $this->assertEquals($this->tracer, $span->getTracer());
- $this->assertEquals(false, $span->isDebug());
- $this->assertEquals(null, $span->getEndTime());
- }
-
- /** @test */
- public function shouldSetComponentThroughTag(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
-
- $span->setTag('component', 'libredis');
-
- $spanReflection = new \ReflectionClass(Span::class);
- $component = $spanReflection->getProperty('component');
- $component->setAccessible(true);
-
- $this->assertEquals( 0, count($span->getTags()));
- $this->assertEquals( 'libredis', $component->getValue($span));
- $this->assertEquals( 'libredis', $span->getComponent());
- }
-
- /** @test */
- public function shouldSetTags(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
-
- $this->assertEquals( 0, count($span->getTags()));
-
- $span->setTags([
- 'foo-1' => 'test-component-1',
- 'foo-2' => 'test-component-2',
- 'foo-3' => 'test-component-3',
- ]);
-
- $this->assertEquals( 3, count($span->getTags()));
- }
-
- /** @test */
- public function shouldSetDifferentTypeOfTags() {
- $span = new Span($this->context, $this->tracer, 'test-operation');
-
- $this->assertEquals( 0, count($span->getTags()));
-
- $span->setTags([
- 'tag-bool1' => true,
- 'tag-bool2' => false,
- 'tag-int' => 1234567,
- 'tag-float' => 1.23456,
- 'tag-string' => "hello-world"
- ]);
-
- $tags = array_values($span->getTags());
- $this->assertEquals( 5, count($tags));
-
- $index = 0;
- $this->assertTrue($tags[$index]->annotation_type === AnnotationType::BOOL);
- $this->assertTrue($tags[$index]->value === true);
- $this->assertTrue($tags[$index]->key === 'tag-bool1');
- $index++;
-
- $this->assertTrue($tags[$index]->annotation_type === AnnotationType::BOOL);
- $this->assertTrue($tags[$index]->value === false);
- $this->assertTrue($tags[$index]->key === 'tag-bool2');
- $index++;
-
- $this->assertTrue($tags[$index]->annotation_type === AnnotationType::I64);
- $this->assertTrue($tags[$index]->value === 1234567);
- $this->assertTrue($tags[$index]->key === 'tag-int');
- $index++;
-
- $this->assertTrue($tags[$index]->annotation_type === AnnotationType::DOUBLE);
- $this->assertTrue($tags[$index]->value === 1.23456);
- $this->assertTrue($tags[$index]->key === 'tag-float');
- $index++;
-
- $this->assertTrue($tags[$index]->annotation_type === AnnotationType::STRING);
- $this->assertTrue($tags[$index]->value === "hello-world");
- $this->assertTrue($tags[$index]->key === 'tag-string');
- }
-
- /** @test */
- public function shouldOverwriteTheSameTag(): void
- {
- // Given
- $span = new Span($this->context, $this->tracer, 'test-operation');
-
- // When
- $span->setTag('foo', 'test-component-1');
- $span->setTag('foo', 'test-component-2');
-
- // Then
- $this->assertEquals( 1, count($span->getTags()));
- $this->assertEquals( 'test-component-2', $span->getTags()['foo']->value);
- }
- /** @test */
- public function shouldAddLogRecordsToTheSpan(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
-
- $fields01 = [
- 'event' => 'error',
- 'message' => 'dummy error message',
- ];
- $fields02 = [
- 'foo' => 'bar',
- ];
-
- $dateTime01 = new \DateTime('+5 seconds');
- $dateTime02 = $dateTime01->getTimestamp();
- $dateTime03 = microtime(true) + 5;
-
- $span->log($fields01, $dateTime01);
- $span->log($fields02, $dateTime01->getTimestamp()*1000000);
- $span->log($fields02, $dateTime03);
- $span->log($fields02);
-
- $logs = $span->getLogs();
-
- $this->assertCount(4, $logs);
-
- $this->assertIsInt($logs[0]['timestamp']);
- $this->assertEquals((int)($dateTime01->format('U.u')*1000000), $logs[0]['timestamp']);
- $this->assertSame($fields01, $logs[0]['fields']);
-
- $this->assertIsInt($logs[1]['timestamp']);
- $this->assertSame($dateTime02*1000000, $logs[1]['timestamp']);
- $this->assertSame($fields02, $logs[1]['fields']);
-
- $this->assertIsInt($logs[2]['timestamp']);
- $this->assertSame((int) ($dateTime03 * 1000000), $logs[2]['timestamp']);
- $this->assertSame($fields02, $logs[2]['fields']);
-
- $this->assertIsInt($logs[3]['timestamp']);
- $this->assertSame($fields02, $logs[3]['fields']);
- }
-
- /** @test */
- public function timingDefaultTimes(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
- $span->finish();
-
- $this->assertEquals(0.0, round(($span->getEndTime() - $span->getStartTime()) / 1000000));
- }
-
- /** @test */
- public function timingSetStartTimeAsDateTime(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation', [], new \DateTime('-2 seconds'));
- $span->finish();
-
- $this->assertSpanDuration($span);
- }
-
- /** @test */
- public function timingSetEndTimeAsDateTime(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
-
- $endTime = new \DateTime('+2 seconds');
- // add microseconds because php < 7.1 has a bug
- // https://bugs.php.net/bug.php?id=48225
- if (version_compare(phpversion(), '7.1', '<')) {
- list($usec) = explode(' ', microtime());
- $endTime = \DateTime::createFromFormat('U.u', $endTime->format('U')+$usec);
- }
- $span->finish($endTime);
-
- $this->assertSpanDuration($span);
- }
-
- /** @test */
- public function timingSetStartTimeAsInt(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation', [], (int) round((microtime(true) - 2) * 1000000));
- $span->finish();
-
- $this->assertSpanDuration($span);
- }
-
- /** @test */
- public function timingSetEndTimeAsInt(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
- $span->finish((int) round((microtime(true) + 2) * 1000000));
-
- $this->assertSpanDuration($span);
- }
-
- /** @test */
- public function timingSetStartTimeAsFloat(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation', [], microtime(true) - 2);
- $span->finish();
-
- $this->assertSpanDuration($span);
- }
-
- /** @test */
- public function timingSetEndTimeAsFloat(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
- $span->finish(microtime(true) + 2);
-
- $this->assertSpanDuration($span);
- }
-
- /** @test */
- public function timingSetMixedTimes(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation', [], new \DateTime());
- $span->finish(microtime(true) + 2);
-
- $this->assertSpanDuration($span);
- }
-
- protected function assertSpanDuration(Span $span): void
- {
- $this->assertEquals(2, (int)(($span->getEndTime() - $span->getStartTime()) / 1000000));
- }
-
- /** @test */
- public function invalidStartTime(): void
- {
- $this->expectException(\InvalidArgumentException::class);
- $this->expectExceptionMessage('Time should be one of the types int|float|DateTime|null, got string.');
- $span = new Span($this->context, $this->tracer, 'test-operation', [], 'string');
- }
-
- /** @test */
- public function invalidEndTime(): void
- {
- $span = new Span($this->context, $this->tracer, 'test-operation');
- $this->expectException(\InvalidArgumentException::class);
- $this->expectExceptionMessage('Time should be one of the types int|float|DateTime|null, got array.');
- $span->finish([]);
- }
-}