From 5d3248f19518547c922f37bf73a473b7914c746b Mon Sep 17 00:00:00 2001 From: Felix Kleinert <f.kleinert@fz-juelich.de> Date: Mon, 6 Apr 2020 18:57:31 +0200 Subject: [PATCH] update helpers and test_helpers --- src/helpers.py | 9 +++------ test/test_helpers.py | 46 +++++++++++++++++++++++++------------------- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/helpers.py b/src/helpers.py index 3ea9d618..45cc996b 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 623c0bf8..4a655a21 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): -- GitLab