summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorTom Johnell <tjohnell@gmail.com>2015-07-22 14:29:32 -0600
committerTom Johnell <tjohnell@gmail.com>2015-07-22 14:29:32 -0600
commitc3248ebf531aece37d9f6c0315e8955c92cbd1c2 (patch)
treed09ec390c45c5784002061dfa13ad5b0c6b6457b /tests
parent087fcd847fecc57151f7bdc5577d8ee87f8bb9de (diff)
downloadsimplesamlphp-c3248ebf531aece37d9f6c0315e8955c92cbd1c2.zip
simplesamlphp-c3248ebf531aece37d9f6c0315e8955c92cbd1c2.tar.gz
simplesamlphp-c3248ebf531aece37d9f6c0315e8955c92cbd1c2.tar.bz2
Added tests for getConfigDir
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/SimpleSAML/Utils/ConfigTest.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/lib/SimpleSAML/Utils/ConfigTest.php b/tests/lib/SimpleSAML/Utils/ConfigTest.php
new file mode 100644
index 0000000..556e5d0
--- /dev/null
+++ b/tests/lib/SimpleSAML/Utils/ConfigTest.php
@@ -0,0 +1,49 @@
+<?php
+
+/**
+ * Tests for SimpleSAML\Utils\Config
+ */
+class Utils_ConfigTest extends PHPUnit_Framework_TestCase
+{
+
+ /**
+ * Test default config dir with not environment variable
+ */
+ public function testDefaultConfigDir()
+ {
+ // clear env var
+ putenv('SIMPLESAMLPHP_CONFIG_DIR');
+ $configDir = \SimpleSAML\Utils\Config::getConfigDir();
+
+ $this->assertEquals($configDir, dirname(dirname(dirname(dirname(__DIR__)))) . '/config');
+ }
+
+ /**
+ * Test valid dir specified by env var overrides default config dir
+ */
+ public function testEnvVariableConfigDir()
+ {
+ putenv('SIMPLESAMLPHP_CONFIG_DIR=' . __DIR__);
+ $configDir = \SimpleSAML\Utils\Config::getConfigDir();
+
+ $this->assertEquals($configDir, __DIR__);
+ }
+
+ /**
+ * Test invalid dir specified by env var results in a thrown exception
+ */
+ public function testInvalidEnvVariableConfigDirThrowsException()
+ {
+ // I used a random hash to ensure this test directory is always invalid
+ $invalidDir = __DIR__ . '/e9826ad19cbc4f5bf20c0913ffcd2ce6';
+ putenv('SIMPLESAMLPHP_CONFIG_DIR=' . $invalidDir);
+
+ $this->setExpectedException(
+ 'InvalidArgumentException',
+ 'Config directory specified by environment variable SIMPLESAMLPHP_CONFIG_DIR is not a directory. ' .
+ 'Given: "' . $invalidDir . '"'
+ );
+
+ $configDir = \SimpleSAML\Utils\Config::getConfigDir();
+ }
+}