summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2016-07-06 08:46:33 +0200
committerKali Kaneko <kali@leap.se>2016-07-11 16:41:53 +0200
commit40e5d40c7c725709ac3fd770e6070fbe02e4b7e0 (patch)
treef8e1c22b4a7ebe12fd35a9fc44d7e65b4e2aa3fd /tests
parent7e90eed551bbe847201e5c62edcf0e6493ab2ec3 (diff)
[pkg] remove dependency on dirspec
This commit removes the dep introduced in 5e12233 by just importing some tiny bit of dirspec code. The previous change was introduced because: * pyxdg did not account for Mac OS specifics, i.e. using ~/Library/ directory structure instead of .config (see: https://leap.se/code/issues/3574). * dirspec does the correct thing for xdg on Mac OS. * u1db depends on dirspec anyway. The problem is that dirspec is not maintained and published on pypi, what forces us to download it from an URL and add exceptions to be able to pip install it. As we are removing dependence on u1db on other modules, we can also remove it here. To workaround the Mac OS problem, we just add some code from dirspec to ensure we get the correct directory on Mac OS.
Diffstat (limited to 'tests')
-rw-r--r--tests/config/test_get_path_prefix.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/tests/config/test_get_path_prefix.py b/tests/config/test_get_path_prefix.py
index e383a7e..878e2fe 100644
--- a/tests/config/test_get_path_prefix.py
+++ b/tests/config/test_get_path_prefix.py
@@ -19,11 +19,8 @@ Tests for get_path_prefix
"""
import os
import mock
-
-try:
- import unittest2 as unittest
-except ImportError:
- import unittest
+import pytest
+import sys
from leap.common.config import get_path_prefix
from leap.common.testing.basetest import BaseLeapTest
@@ -58,6 +55,21 @@ class GetPathPrefixTest(BaseLeapTest):
path = get_path_prefix(standalone=False)
self.assertNotEquals(path, standalone_path)
+homedir = os.environ.get('HOME')
+
-if __name__ == "__main__":
- unittest.main(verbosity=2)
+@pytest.mark.parametrize(
+ "scenario", [
+ # (platform, path_parts, standalone),
+ ('linux', [homedir, '.config'], False),
+ ('darwin', [homedir, 'Library/Preferences'], False),
+ ('win32', [homedir, 'xyz'], False),
+ ('standalone', [os.getcwd(), 'config'], True)])
+def test_get_path_prefix(scenario, monkeypatch):
+ platform, path_parts, standalone = scenario
+ if platform == 'win32':
+ pytest.skip() # TODO: find a way to add test for win32 platform
+ # set a custom temporary platform
+ monkeypatch.setattr(sys, 'platform', platform)
+ expected_prefix = os.path.join(*path_parts)
+ assert expected_prefix == get_path_prefix(standalone)