diff --git a/src/helpers.py b/src/helpers.py index 3ea9d618392c83e8744f32d130b781b113a649fb..45cc996b0f814c4553a1ca15f07332e3ed0096d4 100644 --- a/src/helpers.py +++ b/src/helpers.py @@ -103,12 +103,9 @@ def get_host(): def prepare_host(create_new=True, sampling="daily"): - hostname = socket.gethostname() - try: - # user = os.getlogin() - user = getpass.getuser() - except OSError: - user = "default" + hostname = get_host() + user = getpass.getuser() + if hostname == "ZAM144": path = f"/home/{user}/Data/toar_{sampling}/" elif hostname == "zam347": diff --git a/test/test_helpers.py b/test/test_helpers.py index 623c0bf8b1bec735ab422e31c0e5783b5c711a3a..4a655a21a91101ad14e0540c5c934b7a6ae70ef0 100644 --- a/test/test_helpers.py +++ b/test/test_helpers.py @@ -126,13 +126,18 @@ class TestTimeTracking: assert t.end is None expression = PyTestRegex(r"my job finished after \d+:\d+:\d+ \(hh:mm:ss\)") assert caplog.record_tuples[-1] == ('root', 20, expression) + + +class TestGetHost: + def test_get_host() + assert prepare_host() == 'root' class TestPrepareHost: @mock.patch("socket.gethostname", side_effect=["linux-aa9b", "ZAM144", "zam347", "jrtest", "jwtest", "runner-6HmDp9Qd-project-2411-concurrent"]) - @mock.patch("os.getlogin", return_value="testUser") + @mock.patch("getpass.getuser", return_value="testUser") @mock.patch("os.path.exists", return_value=True) def test_prepare_host(self, mock_host, mock_user, mock_path): assert prepare_host() == "/home/testUser/machinelearningtools/data/toar_daily/" @@ -149,7 +154,8 @@ class TestPrepareHost: prepare_host() assert "unknown host 'NotExistingHostName'" in e.value.args[0] - @mock.patch("os.getlogin", return_value="zombie21") + #@mock.patch("os.getlogin", return_value="zombie21") + @mock.patch("getpass.getuser", return_value="zombie21") @mock.patch("src.helpers.check_path_and_create", side_effect=PermissionError) def test_error_handling(self, mock_cpath, mock_user): # if "runner-6HmDp9Qd-project-2411-concurrent" not in platform.node(): @@ -162,26 +168,26 @@ class TestPrepareHost: # assert "does not exist for host 'linux-aa9b'" in e.value.args[0] assert PyTestRegex(r"path '.*' does not exist for host '.*'\.") == e.value.args[0] - @mock.patch("socket.gethostname", side_effect=["linux-aa9b", "ZAM144", "zam347", "jrtest", "jwtest", - "runner-6HmDp9Qd-project-2411-concurrent"]) - @mock.patch("os.getlogin", side_effect=OSError) - @mock.patch("os.path.exists", return_value=True) - def test_os_error(self, mock_path, mock_user, mock_host): - path = prepare_host() - assert path == "/home/default/machinelearningtools/data/toar_daily/" - path = prepare_host() - assert path == "/home/default/Data/toar_daily/" - path = prepare_host() - assert path == "/home/default/Data/toar_daily/" - path = prepare_host() - assert path == "/p/project/cjjsc42/default/DATA/toar_daily/" - path = prepare_host() - assert path == "/p/home/jusers/default/juwels/intelliaq/DATA/toar_daily/" - path = prepare_host() - assert path == '/home/default/machinelearningtools/data/toar_daily/' +# @mock.patch("socket.gethostname", side_effect=["linux-aa9b", "ZAM144", "zam347", "jrtest", "jwtest", +# "runner-6HmDp9Qd-project-2411-concurrent"]) +# @mock.patch("os.getlogin", side_effect=OSError) +# @mock.patch("os.path.exists", return_value=True) +# def test_os_error(self, mock_path, mock_user, mock_host): +# path = prepare_host() +# assert path == "/home/default/machinelearningtools/data/toar_daily/" +# path = prepare_host() +# assert path == "/home/default/Data/toar_daily/" +# path = prepare_host() +# assert path == "/home/default/Data/toar_daily/" +# path = prepare_host() +# assert path == "/p/project/cjjsc42/default/DATA/toar_daily/" +# path = prepare_host() +# assert path == "/p/home/jusers/default/juwels/intelliaq/DATA/toar_daily/" +# path = prepare_host() +# assert path == '/home/default/machinelearningtools/data/toar_daily/' @mock.patch("socket.gethostname", side_effect=["linux-aa9b"]) - @mock.patch("os.getlogin", return_value="testUser") + @mock.patch("getpass.getuser", return_value="testUser") @mock.patch("os.path.exists", return_value=False) @mock.patch("os.makedirs", side_effect=None) def test_os_path_exists(self, mock_host, mock_user, mock_path, mock_check):