28 lines
1.0 KiB
PHP
28 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace WPContentSync\Tests\Unit\Transport;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
use WPContentSync\Transport\RestTransportException;
|
|
|
|
class RestTransportExceptionTest extends TestCase {
|
|
public function test_it_exposes_transport_failure_context(): void {
|
|
$exception = RestTransportException::connectionFailed(
|
|
'Connection timed out.',
|
|
array( 'url' => 'https://example.test/wp-json/wp-content-sync/v1/status' )
|
|
);
|
|
|
|
self::assertSame( 'connection_failed', $exception->failureCode() );
|
|
self::assertSame( 'Connection timed out.', $exception->getMessage() );
|
|
self::assertSame( array( 'url' => 'https://example.test/wp-json/wp-content-sync/v1/status' ), $exception->context() );
|
|
}
|
|
|
|
public function test_it_exposes_authentication_failures(): void {
|
|
$exception = RestTransportException::authenticationFailed( 'REST authentication failed.' );
|
|
|
|
self::assertSame( 'authentication_failed', $exception->failureCode() );
|
|
self::assertSame( 'REST authentication failed.', $exception->getMessage() );
|
|
self::assertSame( array(), $exception->context() );
|
|
}
|
|
}
|