Skip to content
Snippets Groups Projects
Commit efa05d7d authored by Anne Philipp's avatar Anne Philipp
Browse files

added more testcases

parent 97e09f41
No related branches found
No related tags found
No related merge requests found
{ {
"TestTools.py": true, "TestTools.py": true,
"TestTools.py::TestTools::()::test_failany_silent_remove": true,
"TestTools.py::TestTools::test_init128": true, "TestTools.py::TestTools::test_init128": true,
"TestTools.py::TestTools::test_to_param_id": true "TestTools.py::TestTools::test_to_param_id": true
} }
\ No newline at end of file
...@@ -6,12 +6,14 @@ import sys ...@@ -6,12 +6,14 @@ import sys
import subprocess import subprocess
import pipes import pipes
import pytest import pytest
from unittest.mock import patch
sys.path.append('../') sys.path.append('../')
import _config import _config
from tools import (init128, to_param_id, my_error, read_ecenv, from tools import (get_cmdline_arguments, read_ecenv, clean_up, my_error,
get_cmdline_arguments, submit_job_to_ecserver, normal_exit, product, silent_remove, init128, to_param_id,
put_file_to_ecserver) get_list_as_string, make_dir, put_file_to_ecserver,
submit_job_to_ecserver)
class TestTools(): class TestTools():
...@@ -107,14 +109,51 @@ class TestTools(): ...@@ -107,14 +109,51 @@ class TestTools():
def test_product(self): def test_product(self):
assert True assert True
def test_silent_remove(self): def test_success_silent_remove(self, capfd):
assert True testfile = 'testfile.test'
open(testfile, 'w').close()
silent_remove(testfile)
out, err = capfd.readouterr()
assert os.path.isfile(testfile) == False
assert out == ''
def test_failnotexist_silent_remove(self, capfd):
testfile = 'testfile.test'
silent_remove(testfile)
out, err = capfd.readouterr()
assert os.path.isfile(testfile) == False
assert out == ''
@patch(silent_remove)
def test_failany_silent_remove(self, mock_silent_remove):
testfile = 'testfileany.test'
mock_silent_remove.side_effect = OSError
with pytest.raises(OSError) as pytest_wrapped_e:
silent_remove(testfile)
#out, err = capfd.readouterr()
#assert os.path.isfile(testfile) == False
#assert out == ''
def test_get_list_as_string(self): def test_get_list_as_string(self):
assert True assert True
def test_make_dir(self): def test_warningexist_make_dir(self, capfd):
assert True testdir = 'TestData'
make_dir(testdir)
out, err = capfd.readouterr()
assert out.strip() == 'WARNING: Directory {0} already exists!'.format(testdir)
def test_failany_make_dir(self):
testdir = '/test' # force a permission denied error
with pytest.raises(OSError) as pytest_wrapped_e:
make_dir(testdir)
assert pytest_wrapped_e.type == OSError
def test_success_make_dir(self):
testdir = 'testing_mkdir'
make_dir(testdir)
assert os.path.exists(testdir) == True
os.rmdir(testdir)
def test_fail_put_file_to_ecserver(self): def test_fail_put_file_to_ecserver(self):
ecuid=os.environ['ECUID'] ecuid=os.environ['ECUID']
......
...@@ -315,7 +315,7 @@ def product(*args, **kwds): ...@@ -315,7 +315,7 @@ def product(*args, **kwds):
def silent_remove(filename): def silent_remove(filename):
''' '''
@Description: @Description:
If "filename" exists , it is removed. Remove file if it exists.
The function does not fail if the file does not exist. The function does not fail if the file does not exist.
@Input: @Input:
...@@ -328,7 +328,6 @@ def silent_remove(filename): ...@@ -328,7 +328,6 @@ def silent_remove(filename):
try: try:
os.remove(filename) os.remove(filename)
except OSError as e: except OSError as e:
# this would be "except OSError, e:" before Python 2.6
if e.errno != errno.ENOENT: if e.errno != errno.ENOENT:
# errno.ENOENT = no such file or directory # errno.ENOENT = no such file or directory
raise # re-raise exception if a different error occured raise # re-raise exception if a different error occured
...@@ -426,7 +425,7 @@ def make_dir(directory): ...@@ -426,7 +425,7 @@ def make_dir(directory):
@Input: @Input:
directory: string directory: string
The directory path which should be created. The directory name including the path which should be created.
@Return: @Return:
<nothing> <nothing>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment