summaryrefslogtreecommitdiff
path: root/libs/picodb/tests/UrlParserTest.php
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2018-06-21 14:13:41 -0700
committerFrédéric Guillot <fred@kanboard.net>2018-06-21 14:13:41 -0700
commita491348d442ab8e6cd2fa403d4365cdad78e52ce (patch)
treea00f575d82afb2c9051bad95398b4250f4a3d44d /libs/picodb/tests/UrlParserTest.php
parentc73ac5f1f818b6b21083f6785b4b2f6d778a6496 (diff)
Vendoring deprecated composer libs
Diffstat (limited to 'libs/picodb/tests/UrlParserTest.php')
-rw-r--r--libs/picodb/tests/UrlParserTest.php46
1 files changed, 46 insertions, 0 deletions
diff --git a/libs/picodb/tests/UrlParserTest.php b/libs/picodb/tests/UrlParserTest.php
new file mode 100644
index 00000000..ede3d3a5
--- /dev/null
+++ b/libs/picodb/tests/UrlParserTest.php
@@ -0,0 +1,46 @@
+<?php
+
+use PicoDb\UrlParser;
+
+require_once __DIR__.'/../../../vendor/autoload.php';
+
+class UrlParserTest extends PHPUnit_Framework_TestCase
+{
+ public function testParseUrl()
+ {
+ $urlParser = UrlParser::getInstance();
+ $this->assertFalse($urlParser->isEnvironmentVariableDefined());
+
+ $settings = $urlParser->getSettings('postgres://user:pass@hostname:6212/db');
+ $this->assertEquals('postgres', $settings['driver']);
+ $this->assertEquals('user', $settings['username']);
+ $this->assertEquals('pass', $settings['password']);
+ $this->assertEquals('hostname', $settings['hostname']);
+ $this->assertEquals('6212', $settings['port']);
+ $this->assertEquals('db', $settings['database']);
+ }
+
+ public function testParseWrongUrl()
+ {
+ $urlParser = new UrlParser();
+ $settings = $urlParser->getSettings('/');
+ $this->assertEmpty($settings['driver']);
+ $this->assertFalse($urlParser->isEnvironmentVariableDefined());
+ }
+
+ public function testGetUrlFromEnvironment()
+ {
+ putenv('DATABASE_URL=postgres://user:pass@hostname:6212/db');
+
+ $urlParser = new UrlParser();
+ $this->assertTrue($urlParser->isEnvironmentVariableDefined());
+
+ $settings = $urlParser->getSettings();
+ $this->assertEquals('postgres', $settings['driver']);
+ $this->assertEquals('user', $settings['username']);
+ $this->assertEquals('pass', $settings['password']);
+ $this->assertEquals('hostname', $settings['hostname']);
+ $this->assertEquals('6212', $settings['port']);
+ $this->assertEquals('db', $settings['database']);
+ }
+}