Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJürgen Thomann <juergen_thomann@linfre.de>2022-05-06 11:22:39 +0300
committerGitHub <noreply@github.com>2022-05-06 11:22:39 +0300
commitf4f46a2989ee32f9d48672e1002b6abf774cda28 (patch)
tree6e4c03c34cbdd5ad53a538efaad293422b21d57c /tests/PHPUnit
parent1fa21250b43706fc2859015d0b465c01d32d1095 (diff)
Add support to exclude hosts from proxy (#19139)
Diffstat (limited to 'tests/PHPUnit')
-rw-r--r--tests/PHPUnit/Unit/HttpTest.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/PHPUnit/Unit/HttpTest.php b/tests/PHPUnit/Unit/HttpTest.php
new file mode 100644
index 0000000000..d66f395baf
--- /dev/null
+++ b/tests/PHPUnit/Unit/HttpTest.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Matomo - free/libre analytics platform
+ *
+ * @link https://matomo.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ */
+
+namespace Piwik\Tests\Unit;
+
+use Piwik\Config;
+use Piwik\Http;
+use ReflectionMethod;
+
+/**
+ * @group Core
+ */
+class HttpTest extends \PHPUnit\Framework\TestCase
+{
+ /**
+ * @dataProvider getProxyConfigurationTestData
+ */
+ public function testgetProxyConfiguration($url, $proxyConfiguration, $expected)
+ {
+ $getProxyConfiguration = new ReflectionMethod('\\Piwik\\Http', 'getProxyConfiguration');
+ $getProxyConfiguration->setAccessible(true);
+
+ Config::getInstance()->proxy['host'] = $proxyConfiguration[0];
+ Config::getInstance()->proxy['port'] = $proxyConfiguration[1];
+ Config::getInstance()->proxy['username'] = '';
+ Config::getInstance()->proxy['password'] = '';
+ Config::getInstance()->proxy['exclude'] = $proxyConfiguration[2];
+
+ $this->assertEquals($expected, $getProxyConfiguration->invoke(new Http(), $url));
+ }
+
+ public function getProxyConfigurationTestData()
+ {
+ return array(
+ array('http://localhost/', array('', '', ''), array(null, null, null, null)),
+ array('http://localhost/', array('localhost', '8080', ''), array(null, null, null, null)),
+ array('http://example.com/', array('', '', ''), array('', '', '', '')),
+ array('http://example.com/', array('localhost', '8080', ''), array('localhost', '8080', '', '')),
+ array('http://example.com/', array('localhost', '8080', ''), array('localhost', '8080', '', '')),
+ array('http://example.com/', array('localhost', '8080', 'example.com'), array(null, null, null, null)),
+ // Ensure that accidental whitespace is ignored
+ array('http://example.com/', array('localhost', '8080', ' example.com '), array(null, null, null, null)),
+ array('http://example.com/', array('localhost', '8080', 'a.example.com,b.example.net'), array('localhost', '8080', '', '')),
+ );
+ }
+}