diff options
author | Andrew Dolgov <[email protected]> | 2023-10-24 22:27:27 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2023-10-24 22:27:27 +0300 |
commit | 69c1c629927cd78286fc6c8d61b5b5ad78245508 (patch) | |
tree | 01cf192af1d71f6406aed02e492749f70d96d4c8 /tests | |
parent | de2830b241dc393695fe9278d431d412c1be6266 (diff) |
add a workaround for make_self_url() when invoked off /api/ endpoint, add unit tests for this method
Diffstat (limited to 'tests')
-rw-r--r-- | tests/SelfUrlPathTest.php | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/tests/SelfUrlPathTest.php b/tests/SelfUrlPathTest.php new file mode 100644 index 000000000..b8892f84b --- /dev/null +++ b/tests/SelfUrlPathTest.php @@ -0,0 +1,106 @@ +<?php +use PHPUnit\Framework\TestCase; + +final class SelfUrlPathTest extends TestCase { + public function test_a(): void { + $_SERVER = []; + + $_SERVER["HTTP_X_FORWARDED_PROTO"] = "http"; + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/tt-rss/api/index.php"; + + $this->assertEquals( + 'http://example.com/tt-rss', + Config::get_self_url(true) + ); + + } + + public function test_b(): void { + $_SERVER = []; + + $_SERVER["HTTP_X_FORWARDED_PROTO"] = "https"; + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/api/"; + + $this->assertEquals( + 'https://example.com', + Config::get_self_url(true) + ); + } + + public function test_c(): void { + $_SERVER = []; + + $_SERVER["HTTP_X_FORWARDED_PROTO"] = "https"; + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/api/index.php"; + + $this->assertEquals( + 'https://example.com', + Config::get_self_url(true) + ); + } + + public function test_d(): void { + $_SERVER = []; + + $_SERVER["HTTP_X_FORWARDED_PROTO"] = "https"; + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/api//"; + + $this->assertEquals( + 'https://example.com', + Config::get_self_url(true) + ); + } + + public function test_e(): void { + $_SERVER = []; + + $_SERVER["HTTP_X_FORWARDED_PROTO"] = "https"; + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/"; + + $this->assertEquals( + 'https://example.com', + Config::get_self_url(true) + ); + } + + public function test_f(): void { + $_SERVER = []; + + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/tt-rss/index.php"; + + $this->assertEquals( + 'http://example.com/tt-rss', + Config::get_self_url(true) + ); + } + + public function test_g(): void { + $_SERVER = []; + + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/tt-rss/"; + + $this->assertEquals( + 'http://example.com/tt-rss', + Config::get_self_url(true) + ); + } + + public function test_h(): void { + $_SERVER = []; + + $_SERVER["HTTP_HOST"] = "example.com"; + $_SERVER["REQUEST_URI"] = "/tt-rss"; + + $this->assertEquals( + 'http://example.com/tt-rss', + Config::get_self_url(true) + ); + } +} |