Files
specklepy/tests/unit/test_path.py
2023-03-28 13:31:57 +02:00

56 lines
1.8 KiB
Python

import re
import sys
from pathlib import Path
from specklepy.core.helpers import speckle_path_provider
def test_user_application_data_path():
user_path = str(speckle_path_provider.user_application_data_path())
if sys.platform.startswith("win"):
pattern = r"C:\\Users\\.*\\AppData\\Roaming"
elif sys.platform.startswith("darwin"):
pattern = "/Users/.*/.config"
elif sys.platform.startswith("linux"):
if user_path.startswith("/root"):
pattern = "/root/.config"
else:
pattern = "/home/.*/.config"
else:
raise NotImplementedError("Your OS platform is not supported")
match = re.search(pattern, user_path)
assert match
def test_user_application_data_path_override():
path = "/jiberish"
speckle_path_provider.override_application_data_path(path)
user_path = speckle_path_provider.user_application_data_path()
assert Path(path) == user_path
speckle_path_provider.override_application_data_path(None)
user_path = speckle_path_provider.user_application_data_path()
assert Path(path) != user_path
def test_accounts_folder_name_override():
old_folder_name = speckle_path_provider._accounts_folder_name
assert old_folder_name == "Accounts"
new_folder_name = "foobar"
speckle_path_provider.override_accounts_folder_name(new_folder_name)
assert speckle_path_provider._accounts_folder_name == new_folder_name
speckle_path_provider.override_accounts_folder_name(old_folder_name)
def test_connector_installation_path():
host_application = "test application"
connector_path = speckle_path_provider.user_speckle_connector_installation_path(
host_application
)
assert "connector_installations" in str(connector_path)
assert str(connector_path).endswith(host_application)