summaryrefslogtreecommitdiffstats
path: root/tests/Unit/Utility/ProxyConfigParserTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Unit/Utility/ProxyConfigParserTest.php')
-rw-r--r--tests/Unit/Utility/ProxyConfigParserTest.php93
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/Unit/Utility/ProxyConfigParserTest.php b/tests/Unit/Utility/ProxyConfigParserTest.php
new file mode 100644
index 000000000..39f6e61a3
--- /dev/null
+++ b/tests/Unit/Utility/ProxyConfigParserTest.php
@@ -0,0 +1,93 @@
+<?php
+/**
+ * ownCloud - News
+ *
+ * This file is licensed under the Affero General Public License version 3 or
+ * later. See the COPYING file.
+ *
+ * @author Alessandro Cosentino <cosenal@gmail.com>
+ * @author Bernhard Posselt <dev@bernhard-posselt.com>
+ * @copyright Alessandro Cosentino 2012
+ * @copyright Bernhard Posselt 2012, 2014
+ */
+
+namespace OCA\News\Utility;
+
+
+class ProxyConfigParserTest extends \PHPUnit_Framework_TestCase {
+
+ private $config;
+ private $feedService;
+ private $itemService;
+ private $parser;
+
+ protected function setUp() {
+ $this->config = $this->getMockBuilder(
+ '\OCP\IConfig')
+ ->disableOriginalConstructor()
+ ->getMock();
+ $this->parser = new ProxyConfigParser($this->config);
+ }
+
+ private function setExpectedProxy($proxy=null, $userpasswd=null) {
+ $this->config->expects($this->at(0))
+ ->method('getSystemValue')
+ ->with($this->equalTo('proxy'))
+ ->will($this->returnValue($proxy));
+ $this->config->expects($this->at(1))
+ ->method('getSystemValue')
+ ->with($this->equalTo('proxyuserpwd'))
+ ->will($this->returnValue($userpasswd));
+ }
+
+ public function testParsesNoProxy() {
+ $expected = [
+ 'host' => null,
+ 'port' => null,
+ 'user' => null,
+ 'password' => null
+ ];
+ $this->setExpectedProxy();
+ $result = $this->parser->parse();
+ $this->assertEquals($expected, $result);
+ }
+
+
+ public function testParsesHost() {
+ $expected = [
+ 'host' => 'http://google.com/mytest',
+ 'port' => null,
+ 'user' => null,
+ 'password' => null
+ ];
+ $this->setExpectedProxy('http://google.com/mytest');
+ $result = $this->parser->parse();
+ $this->assertEquals($expected, $result);
+ }
+
+
+ public function testParsesHostAndPort() {
+ $expected = [
+ 'host' => 'http://google.com/mytest',
+ 'port' => 89,
+ 'user' => null,
+ 'password' => null
+ ];
+ $this->setExpectedProxy('http://google.com:89/mytest');
+ $result = $this->parser->parse();
+ $this->assertEquals($expected, $result);
+ }
+
+
+ public function testParsesUser() {
+ $expected = [
+ 'host' => null,
+ 'port' => null,
+ 'user' => 'john',
+ 'password' => 'doe:hey'
+ ];
+ $this->setExpectedProxy(null, 'john:doe:hey');
+ $result = $this->parser->parse();
+ $this->assertEquals($expected, $result);
+ }
+} \ No newline at end of file