File: OtlpSerializerTest.php

package info (click to toggle)
mediawiki 1%3A1.43.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 417,464 kB
  • sloc: php: 1,062,949; javascript: 664,290; sql: 9,714; python: 5,458; xml: 3,489; sh: 1,131; makefile: 64
file content (40 lines) | stat: -rw-r--r-- 1,199 bytes parent folder | download
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
<?php
namespace Wikimedia\Tests\Telemetry;

use MediaWikiUnitTestCase;
use Wikimedia\Telemetry\OtlpSerializer;

/**
 * @covers \Wikimedia\Telemetry\OtlpSerializer
 */
class OtlpSerializerTest extends MediaWikiUnitTestCase {
	/**
	 * @dataProvider provideKeyValuePairSerializationData
	 */
	public function testKeyValuePairSerialization( array $input, array $expected ): void {
		$actual = OtlpSerializer::serializeKeyValuePairs( $input );

		$this->assertSame( $expected, $actual );
	}

	public static function provideKeyValuePairSerializationData(): iterable {
		yield 'empty data' => [ [], [] ];
		yield 'mixed data' => [
			[
				'string-value' => 'string',
				'numeric-value' => 123,
				'float-value' => 1.5,
				'object-value' => new \stdClass(),
				'boolean-value' => true,
				'list-value' => [ 'a', 'b' ]
			],
			[
				[ 'key' => 'string-value', 'value' => [ 'stringValue' => 'string' ] ],
				[ 'key' => 'numeric-value', 'value' => [ 'intValue' => 123 ] ],
				[ 'key' => 'float-value', 'value' => [ 'doubleValue' => 1.5 ] ],
				[ 'key' => 'boolean-value', 'value' => [ 'boolValue' => true ] ],
				[ 'key' => 'list-value', 'value' => [ 'arrayValue' => [ 'a', 'b' ] ] ]
			]
		];
	}
}