56 lines
1.8 KiB
Python
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)
|