summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2023-10-24 22:27:27 +0300
committerAndrew Dolgov <[email protected]>2023-10-24 22:27:27 +0300
commit69c1c629927cd78286fc6c8d61b5b5ad78245508 (patch)
tree01cf192af1d71f6406aed02e492749f70d96d4c8 /tests
parentde2830b241dc393695fe9278d431d412c1be6266 (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.php106
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)
+ );
+ }
+}