diff options
author | Thomas Haller <thaller@redhat.com> | 2018-05-28 08:57:25 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2018-05-28 08:57:29 +0200 |
commit | 78e877ee3c030762569513b6822852813edf53ec (patch) | |
tree | 7bde7b3ccbf9a856e08cfc244850cc9d8f50093c | |
parent | ee85151a4ad400a1e43aa50d47a083f1d1d46584 (diff) | |
download | NetworkManager-78e877ee3c030762569513b6822852813edf53ec.tar.gz |
clients/tests: refactor by moving replace-text helper function
Have less logic in TestNmcli.
-rwxr-xr-x | clients/tests/test-client.py | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/clients/tests/test-client.py b/clients/tests/test-client.py index 9cc26f2e3d..7414bb51bb 100755 --- a/clients/tests/test-client.py +++ b/clients/tests/test-client.py @@ -133,6 +133,35 @@ class Util: except: return None + @staticmethod + def replace_text(text, replace_arr): + if not replace_arr: + return text + text = [text] + for replace in replace_arr: + try: + v_search = replace[0]() + except TypeError: + v_search = replace[0] + assert v_search is None or Util.is_string(v_search) + if not v_search: + continue + v_replace = replace[1] + v_search = v_search.encode('utf-8') + v_replace = v_replace.encode('utf-8') + text2 = [] + for t in text: + if isinstance(t, tuple): + text2.append(t) + continue + t2 = t.split(v_search) + text2.append(t2[0]) + for t3 in t2[1:]: + text2.append( (v_replace,) ) + text2.append(t3) + text = text2 + return b''.join([(t[0] if isinstance(t, tuple) else t) for t in text]) + ############################################################################### class Configuration: @@ -282,35 +311,6 @@ class NmTestBase(unittest.TestCase): class TestNmcli(NmTestBase): - @staticmethod - def _replace(text, replace_arr): - if not replace_arr: - return text - text = [text] - for replace in replace_arr: - try: - v_search = replace[0]() - except TypeError: - v_search = replace[0] - assert v_search is None or Util.is_string(v_search) - if not v_search: - continue - v_replace = replace[1] - v_search = v_search.encode('utf-8') - v_replace = v_replace.encode('utf-8') - text2 = [] - for t in text: - if isinstance(t, tuple): - text2.append(t) - continue - t2 = t.split(v_search) - text2.append(t2[0]) - for t3 in t2[1:]: - text2.append( (v_replace,) ) - text2.append(t3) - text = text2 - return b''.join([(t[0] if isinstance(t, tuple) else t) for t in text]) - def call_nmcli_l(self, args, check_on_disk = _DEFAULT_ARG, @@ -428,8 +428,8 @@ class TestNmcli(NmTestBase): p.stdout.close() p.stderr.close() - stdout = self._replace(stdout, replace_stdout) - stderr = self._replace(stderr, replace_stderr) + stdout = Util.replace_text(stdout, replace_stdout) + stderr = Util.replace_text(stderr, replace_stderr) if sort_lines_stdout: stdout = b'\n'.join(sorted(stdout.split(b'\n'))) |