X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=tests%2Fsrc%2FNetwork%2FProbeTest.php;h=d9c0f074ec9419c13cd641e88b5ba22ca09b805c;hb=262f960120178a83bc87dc976d5122913a7bf79d;hp=79c323adc202bbcd539078358d1ae8fe38c454d5;hpb=cf0b7b709b1a9a5d64b261817fd02b9812d7fd04;p=friendica.git diff --git a/tests/src/Network/ProbeTest.php b/tests/src/Network/ProbeTest.php index 79c323adc2..d9c0f074ec 100644 --- a/tests/src/Network/ProbeTest.php +++ b/tests/src/Network/ProbeTest.php @@ -1,13 +1,32 @@ . + * + */ namespace Friendica\Test\src\Network; use Friendica\Network\Probe; use Friendica\Test\DiceHttpMockHandlerTrait; -use Friendica\Test\FixtureTest; +use Friendica\Test\MockedTest; use GuzzleHttp\Middleware; -class ProbeTest extends FixtureTest +class ProbeTest extends MockedTest { use DiceHttpMockHandlerTrait; @@ -18,6 +37,13 @@ class ProbeTest extends FixtureTest $this->setupHttpMockHandler(); } + protected function tearDown(): void + { + $this->tearDownHandler(); + + parent::tearDown(); + } + const TEMPLATENOBASE = ' @@ -117,12 +143,48 @@ class ProbeTest extends FixtureTest } } - public function dataUri() + public function dataCleanUri(): array { return [ '@-first' => [ - 'uri' => '@Artists4Future_Muenchen@climatejustice.global', - 'assertUri' => 'Artists4Future_Muenchen@climatejustice.global', + 'expected' => 'Artists4Future_Muenchen@climatejustice.global', + 'uri' => '@Artists4Future_Muenchen@climatejustice.global', + ], + 'no-scheme-no-fragment' => [ + 'expected' => 'example.com/path?arg=value', + 'uri' => 'example.com/path?arg=value', + ], + /* This case makes little sense, both in our expectation of receiving it in any context and in the way we + * do not change it in Probe::cleanUri, but it doesn't seem to be the source of any terrible security hole. + */ + 'no-scheme-fragment' => [ + 'expected' => 'example.com/path?arg=value#fragment', + 'uri' => 'example.com/path?arg=value#fragment', + ], + 'scheme-no-fragment' => [ + 'expected' => 'https://example.com/path?arg=value', + 'uri' => 'https://example.com/path?arg=value#fragment', + ], + 'scheme-fragment' => [ + 'expected' => 'https://example.com/path?arg=value', + 'uri' => 'https://example.com/path?arg=value#fragment', + ], + ]; + } + + /** + * @dataProvider dataCleanUri + */ + public function testCleanUri(string $expected, string $uri) + { + self::assertEquals($expected, Probe::cleanURI($uri)); + } + + public function dataUri(): array + { + return [ + 'Artists4Future_Muenchen@climatejustice.global' => [ + 'uri' => 'Artists4Future_Muenchen@climatejustice.global', 'assertInfos' => [ 'name' => 'Artists4Future München', 'nick' => 'Artists4Future_Muenchen', @@ -163,7 +225,7 @@ xQIDAQAB /** * @dataProvider dataUri */ - public function testCleanUri(string $uri, string $assertUri, array $assertInfos) + public function testProbeUri(string $uri, array $assertInfos) { self::markTestIncomplete('hard work due mocking 19 different http-requests'); @@ -216,10 +278,7 @@ xQIDAQAB $this->httpRequestHandler->push($history); - $cleaned = Probe::cleanURI($uri); - self::assertEquals($assertUri, $cleaned); - self::assertArraySubset($assertInfos, Probe::uri($cleaned, '', 0)); - + self::assertArraySubset($assertInfos, Probe::uri($uri, '', 0)); // Iterate over the requests and responses foreach ($container as $transaction) {