Separate integration and unit tests (#538)
* reorganise tests moving tests under tests/Unit and tests/Integration, and updating namespaces changing 'make test' to just run unit tests, and generate coverage off that adding a 'make test-integration' to run integration tests (without coverage) adding test-integration to 'make all' adding a separate github action to run integration tests * tidy 'make test' make test is now a combination of test-unit and test-integration * fixing 'make all' * adding unit tests for TraceIdRatioBasedSampler I grabbed a couple of the more unit-tests tests from the integration tests. Also starting to add some @covers annotations to start to remove false coverage
This commit is contained in:
parent
0c1fd9915a
commit
56cf2db141
|
|
@ -70,8 +70,11 @@ jobs:
|
|||
- name: Run Phpstan
|
||||
run: vendor/bin/phpstan analyse --error-format=github
|
||||
|
||||
- name: Run PHPUnit
|
||||
run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover
|
||||
- name: Run PHPUnit (unit tests)
|
||||
run: vendor/bin/phpunit --coverage-text --coverage-clover=coverage.clover --testsuite unit
|
||||
|
||||
- name: Run PHPUnit (integration tests)
|
||||
run: vendor/bin/phpunit --testsuite integration
|
||||
|
||||
- name: Code Coverage
|
||||
run: bash <(curl -s https://codecov.io/bash) -F ${{ matrix.php-version }}
|
||||
|
|
|
|||
9
Makefile
9
Makefile
|
|
@ -6,10 +6,11 @@ install:
|
|||
$(DC_RUN_PHP) env XDEBUG_MODE=off composer install
|
||||
update:
|
||||
$(DC_RUN_PHP) env XDEBUG_MODE=off composer update
|
||||
test:
|
||||
$(DC_RUN_PHP) env XDEBUG_MODE=coverage vendor/bin/phpunit --colors=always --coverage-text --testdox --coverage-clover coverage.clover
|
||||
test-coverage:
|
||||
$(DC_RUN_PHP) env XDEBUG_MODE=coverage vendor/bin/phpunit --colors=always --testdox --coverage-html=tests/coverage/html
|
||||
test: test-unit test-integration
|
||||
test-unit:
|
||||
$(DC_RUN_PHP) env XDEBUG_MODE=coverage vendor/bin/phpunit --testsuite unit --colors=always --coverage-text --testdox --coverage-clover coverage.clover --coverage-html=tests/coverage/html
|
||||
test-integration:
|
||||
$(DC_RUN_PHP) env XDEBUG_MODE=off vendor/bin/phpunit --testsuite integration --colors=always
|
||||
phan:
|
||||
$(DC_RUN_PHP) env XDEBUG_MODE=off env PHAN_DISABLE_XDEBUG_WARN=1 vendor/bin/phan
|
||||
psalm:
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ To run the test suite, execute
|
|||
make test
|
||||
```
|
||||
from your bash compatible shell. This will output the test output as well
|
||||
as a test coverage analysis. Code that doesn't pass our currently defined tests will emit a failure in CI
|
||||
as a test coverage analysis (text + html - see `tests/coverage/html`). Code that doesn't pass our currently defined tests will emit a failure in CI
|
||||
|
||||
## Examples
|
||||
|
||||
|
|
|
|||
|
|
@ -40,23 +40,12 @@
|
|||
</php>
|
||||
|
||||
<testsuites>
|
||||
<testsuite name="API Unit Tests">
|
||||
<directory>./tests/API/Unit</directory>
|
||||
<testsuite name="unit">
|
||||
<directory>./tests/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="SDK Unit Tests">
|
||||
<directory>./tests/SDK/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Integration Tests">
|
||||
<directory>./tests/SDK/Integration</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Contrib Unit Tests">
|
||||
<directory>./tests/Contrib/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Context Unit Tests">
|
||||
<directory>./tests/Context/Unit</directory>
|
||||
</testsuite>
|
||||
<testsuite name="Context Fiber Tests">
|
||||
<directory phpVersion="8.1.0RC" suffix=".phpt">./tests/Context/Fiber</directory>
|
||||
<testsuite name="integration">
|
||||
<directory>./tests/Integration</directory>
|
||||
<directory phpVersion="8.1.0" suffix=".phpt">./tests/Integration/Context/Fiber</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
</phpunit>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ declare(strict_types=1);
|
|||
|
||||
namespace OpenTelemetry\Tests\SDK\Integration;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use OpenTelemetry\API\Trace as API;
|
||||
use OpenTelemetry\API\Trace\NonRecordingSpan;
|
||||
use OpenTelemetry\API\Trace\SpanContext;
|
||||
|
|
@ -15,14 +14,6 @@ use PHPUnit\Framework\TestCase;
|
|||
|
||||
class TraceIdRatioBasedSamplerTest extends TestCase
|
||||
{
|
||||
public function test_invalid_probability_trace_id_ratio_based_sampler(): void
|
||||
{
|
||||
$this->expectException(InvalidArgumentException::class);
|
||||
$sampler = new TraceIdRatioBasedSampler(-0.5);
|
||||
$this->expectException(InvalidArgumentException::class);
|
||||
$sampler = new TraceIdRatioBasedSampler(1.5);
|
||||
}
|
||||
|
||||
public function test_never_trace_id_ratio_based_sampler_decision(): void
|
||||
{
|
||||
$sampler = new TraceIdRatioBasedSampler(0.0);
|
||||
|
|
@ -86,12 +77,6 @@ class TraceIdRatioBasedSamplerTest extends TestCase
|
|||
$this->assertEquals($parentTraceState, $samplingResult->getTraceState());
|
||||
}
|
||||
|
||||
public function test_trace_id_ratio_based_sampler_description(): void
|
||||
{
|
||||
$sampler = new TraceIdRatioBasedSampler(0.0001);
|
||||
$this->assertEquals('TraceIdRatioBasedSampler{0.000100}', $sampler->getDescription());
|
||||
}
|
||||
|
||||
private function createParentContext(bool $sampled, bool $isRemote, ?API\TraceStateInterface $traceState = null): Context
|
||||
{
|
||||
$traceFlag = $sampled ? API\SpanContextInterface::TRACE_FLAG_SAMPLED : API\SpanContextInterface::TRACE_FLAG_DEFAULT;
|
||||
|
|
@ -11,7 +11,7 @@ use OpenTelemetry\API\Trace\SpanContextKey;
|
|||
use OpenTelemetry\API\Trace\SpanInterface;
|
||||
use OpenTelemetry\Context\Context;
|
||||
use OpenTelemetry\Context\ContextStorageInterface;
|
||||
use OpenTelemetry\Tests\SDK\Util\TestClock;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\TestClock;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter\AbstractExporterTest;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter\AbstractExporterTest;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
use Psr\Http\Client\ClientExceptionInterface;
|
||||
use Psr\Http\Client\NetworkExceptionInterface;
|
||||
use Psr\Http\Client\RequestExceptionInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use OpenTelemetry\Contrib\Jaeger\Exporter;
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use OpenTelemetry\Contrib\Newrelic\Exporter;
|
||||
|
||||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use OpenTelemetry\Contrib\Newrelic\SpanConverter;
|
||||
use OpenTelemetry\SDK\Attributes;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class NewrelicSpanConverterTest extends TestCase
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use Grpc\UnaryCall;
|
||||
|
|
@ -12,8 +12,8 @@ use Mockery\MockInterface;
|
|||
use OpenTelemetry\Contrib\OtlpGrpc\Exporter;
|
||||
use Opentelemetry\Proto\Collector\Trace\V1\TraceServiceClient;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter\AbstractExporterTest;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter\AbstractExporterTest;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
|
||||
class OTLPGrpcExporterTest extends AbstractExporterTest
|
||||
{
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use GuzzleHttp\Client;
|
||||
|
|
@ -13,8 +13,8 @@ use GuzzleHttp\Psr7\HttpFactory;
|
|||
use GuzzleHttp\Psr7\Response;
|
||||
use OpenTelemetry\Contrib\OtlpHttp\Exporter;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter\AbstractExporterTest;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter\AbstractExporterTest;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
use Psr\Http\Client\ClientExceptionInterface;
|
||||
use Psr\Http\Client\ClientInterface;
|
||||
use Psr\Http\Client\NetworkExceptionInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use function bin2hex;
|
||||
use OpenTelemetry\API\Trace\SpanContext;
|
||||
|
|
@ -20,7 +20,7 @@ use OpenTelemetry\SDK\Attributes;
|
|||
use OpenTelemetry\SDK\InstrumentationLibrary;
|
||||
use OpenTelemetry\SDK\Resource\ResourceInfo;
|
||||
use OpenTelemetry\SDK\Trace\StatusData;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class OTLPSpanConverterTest extends TestCase
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use OpenTelemetry\API\Metrics as API;
|
||||
use OpenTelemetry\Contrib\Prometheus\PrometheusExporter;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Psr\Http\Client\ClientInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use OpenTelemetry\Contrib\Zipkin\Exporter;
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use OpenTelemetry\API\Trace\SpanContext;
|
||||
use OpenTelemetry\API\Trace\SpanKind;
|
||||
|
|
@ -12,7 +12,7 @@ use OpenTelemetry\Contrib\Zipkin\SpanKind as ZipkinSpanKind;
|
|||
use OpenTelemetry\SDK\Attributes;
|
||||
use OpenTelemetry\SDK\InstrumentationLibrary;
|
||||
use OpenTelemetry\SDK\Trace\StatusData;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use OpenTelemetry\Contrib\ZipkinToNewrelic\Exporter;
|
||||
|
||||
|
|
@ -2,12 +2,12 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\Contrib\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\Contrib;
|
||||
|
||||
use function implode;
|
||||
use OpenTelemetry\Contrib\ZipkinToNewrelic\SpanConverter;
|
||||
use OpenTelemetry\SDK\Attributes;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class ZipkinToNewrelicSpanConverterTest extends TestCase
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK;
|
||||
|
||||
use OpenTelemetry\SDK\AttributeLimits;
|
||||
use OpenTelemetry\SDK\Attributes;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Behavior;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Behavior;
|
||||
|
||||
use OpenTelemetry\SDK\Behavior\LogsMessagesTrait;
|
||||
use OpenTelemetry\SDK\GlobalLoggerHolder;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK;
|
||||
|
||||
use OpenTelemetry\SDK\GlobalLoggerHolder;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Metrics;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Metrics;
|
||||
|
||||
use OpenTelemetry\SDK\Metrics\Counter;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Metrics\Exporters;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Metrics\Exporters;
|
||||
|
||||
use OpenTelemetry\API\Metrics as API;
|
||||
use OpenTelemetry\SDK\Metrics\Exporters\AbstractExporter;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Metrics;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Metrics;
|
||||
|
||||
use OpenTelemetry\SDK\Metrics\HasLabelsTrait;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Metrics;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Metrics;
|
||||
|
||||
use OpenTelemetry\SDK\Metrics\Counter;
|
||||
use OpenTelemetry\SDK\Metrics\Meter;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Metrics\Providers;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Metrics\Providers;
|
||||
|
||||
use OpenTelemetry\SDK\Metrics\Meter;
|
||||
use OpenTelemetry\SDK\Metrics\Providers\GlobalMeterProvider;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Metrics;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Metrics;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use OpenTelemetry\SDK\Metrics\UpDownCounter;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Metrics;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Metrics;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use OpenTelemetry\SDK\Metrics\ValueRecorder;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Resource;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Resource;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use OpenTelemetry\SDK\Attributes;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\Behavior;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\Behavior;
|
||||
|
||||
use OpenTelemetry\SDK\Trace\Behavior\UsesSpanConverterTrait;
|
||||
use OpenTelemetry\SDK\Trace\SpanConverterInterface;
|
||||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\SDK\AttributesInterface;
|
||||
use OpenTelemetry\SDK\Trace\Event;
|
||||
use OpenTelemetry\Tests\SDK\Util\TestClock;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\TestClock;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class EventTest extends TestCase
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use Exception;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\API\Trace as API;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\API\Trace\SpanContext;
|
||||
use OpenTelemetry\SDK\Trace\RandomIdGenerator;
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\Sampler;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use OpenTelemetry\API\Trace as API;
|
||||
use OpenTelemetry\Context\Context;
|
||||
use OpenTelemetry\SDK\Trace\Sampler\TraceIdRatioBasedSampler;
|
||||
use OpenTelemetry\SDK\Trace\SamplingResult;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass OpenTelemetry\SDK\Trace\Sampler\TraceIdRatioBasedSampler
|
||||
*/
|
||||
class TraceIdRatioBasedSamplerTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @covers ::__construct
|
||||
* @covers ::shouldSample
|
||||
*/
|
||||
public function test_should_sample(): void
|
||||
{
|
||||
$sampler = new TraceIdRatioBasedSampler(1.0);
|
||||
$decision = $sampler->shouldSample(
|
||||
new Context(),
|
||||
'4bf92f3577b34da6a3ce929d0e0e4736',
|
||||
'test.opentelemetry.io',
|
||||
API\SpanKind::KIND_INTERNAL
|
||||
);
|
||||
$this->assertEquals(SamplingResult::RECORD_AND_SAMPLE, $decision->getDecision());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::__construct
|
||||
* @dataProvider invalidProbabilityProvider
|
||||
*/
|
||||
public function test_invalid_probability_trace_id_ratio_based_sampler(float $probability): void
|
||||
{
|
||||
$this->expectException(InvalidArgumentException::class);
|
||||
new TraceIdRatioBasedSampler($probability);
|
||||
}
|
||||
|
||||
public function invalidProbabilityProvider(): array
|
||||
{
|
||||
return [
|
||||
'negative' => [-0.05],
|
||||
'greater than one' => [1.5],
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getDescription
|
||||
*/
|
||||
public function test_get_description(): void
|
||||
{
|
||||
$sampler = new TraceIdRatioBasedSampler(0.0001);
|
||||
$this->assertEquals('TraceIdRatioBasedSampler{0.000100}', $sampler->getDescription());
|
||||
}
|
||||
}
|
||||
|
|
@ -2,13 +2,16 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use Exception;
|
||||
use OpenTelemetry\SDK\Trace\SamplerFactory;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass OpenTelemetry\SDK\Trace\SamplerFactory
|
||||
*/
|
||||
class SamplerFactoryTest extends TestCase
|
||||
{
|
||||
use EnvironmentVariables;
|
||||
|
|
@ -19,6 +22,7 @@ class SamplerFactoryTest extends TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @covers ::fromEnvironment
|
||||
* @dataProvider samplerProvider
|
||||
*/
|
||||
public function test_sampler_factory_create_sampler_from_environment(string $samplerName, string $expected, string $arg = null): void
|
||||
|
|
@ -42,6 +46,7 @@ class SamplerFactoryTest extends TestCase
|
|||
];
|
||||
}
|
||||
/**
|
||||
* @covers ::fromEnvironment
|
||||
* @dataProvider invalidSamplerProvider
|
||||
*/
|
||||
public function test_sampler_factory_throws_exception_for_invalid_or_unsupported(?string $sampler, string $arg = null): void
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\API\Trace\TraceStateInterface;
|
||||
use OpenTelemetry\SDK\Attributes;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use Mockery;
|
||||
use Mockery\Adapter\Phpunit\MockeryTestCase;
|
||||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
abstract class AbstractExporterTest extends TestCase
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use OpenTelemetry\SDK\Trace\SpanConverterInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanDataInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use OpenTelemetry\API\Trace\SpanContextInterface;
|
||||
use OpenTelemetry\API\Trace\SpanKind;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use OpenTelemetry\SDK\Trace\SpanConverterInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanDataInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use OpenTelemetry\SDK\Trace\SpanExporter\LoggerDecorator;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use Exception;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporter\LoggerExporter;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanExporter;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanExporter;
|
||||
|
||||
use OpenTelemetry\SDK\Trace\SpanConverterInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanDataInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use Exception;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanProcessor;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanProcessor;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use Exception;
|
||||
|
|
@ -14,7 +14,7 @@ use OpenTelemetry\SDK\Trace\ReadWriteSpanInterface;
|
|||
use OpenTelemetry\SDK\Trace\SpanDataInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanProcessor\BatchSpanProcessor;
|
||||
use OpenTelemetry\Tests\SDK\Util\TestClock;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\TestClock;
|
||||
use ReflectionObject;
|
||||
|
||||
class BatchSpanProcessorTest extends MockeryTestCase
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanProcessor;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanProcessor;
|
||||
|
||||
use Monolog\Test\TestCase;
|
||||
use OpenTelemetry\SDK\Trace\ReadableSpanInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace\SpanProcessor;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace\SpanProcessor;
|
||||
|
||||
use Mockery;
|
||||
use Mockery\Adapter\Phpunit\MockeryTestCase;
|
||||
|
|
@ -14,7 +14,7 @@ use OpenTelemetry\SDK\Trace\ReadableSpanInterface;
|
|||
use OpenTelemetry\SDK\Trace\ReadWriteSpanInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
|
||||
use OpenTelemetry\SDK\Trace\SpanProcessor\SimpleSpanProcessor;
|
||||
use OpenTelemetry\Tests\SDK\Util\SpanData;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\SpanData;
|
||||
|
||||
class SimpleSpanProcessorTest extends MockeryTestCase
|
||||
{
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use AssertWell\PHPUnitGlobalState\EnvironmentVariables;
|
||||
use InvalidArgumentException;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use function array_merge;
|
||||
use Exception;
|
||||
|
|
@ -30,7 +30,7 @@ use OpenTelemetry\SDK\Trace\SpanLimits;
|
|||
use OpenTelemetry\SDK\Trace\SpanLimitsBuilder;
|
||||
use OpenTelemetry\SDK\Trace\SpanProcessorInterface;
|
||||
use OpenTelemetry\SDK\Trace\StatusData;
|
||||
use OpenTelemetry\Tests\SDK\Util\TestClock;
|
||||
use OpenTelemetry\Tests\Unit\SDK\Util\TestClock;
|
||||
use function range;
|
||||
use function str_repeat;
|
||||
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\API\Trace\StatusCode;
|
||||
use OpenTelemetry\SDK\Trace\StatusData;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\SDK\GlobalLoggerHolder;
|
||||
use OpenTelemetry\SDK\Trace\ExporterFactory;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\API\Trace as API;
|
||||
use OpenTelemetry\API\Trace\NoopTracer;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use Mockery;
|
||||
use Mockery\Adapter\Phpunit\MockeryTestCase;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Unit\Trace;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Trace;
|
||||
|
||||
use OpenTelemetry\API\Trace as API;
|
||||
use OpenTelemetry\SDK\Trace\ReadableSpanInterface;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Util;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Util;
|
||||
|
||||
use function count;
|
||||
use function max;
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OpenTelemetry\Tests\SDK\Util;
|
||||
namespace OpenTelemetry\Tests\Unit\SDK\Util;
|
||||
|
||||
use OpenTelemetry\SDK\ClockInterface;
|
||||
|
||||
Loading…
Reference in New Issue