From ba3a3be8be08c5832f5f8f5491ccc01ff06cbe33 Mon Sep 17 00:00:00 2001 From: "Mads M. Pedersen" <mmpe@dtu.dk> Date: Fri, 21 Jul 2017 08:37:05 +0200 Subject: [PATCH] Revert "first test_file implementation" This reverts commit 2dc182d9265d406a2f1eba40ba8b045207ef837a. --- wetb/utils/test_files.py | 45 +++++++++++++++++++++++++++++ wetb/utils/tests/test_test_files.py | 41 ++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 wetb/utils/test_files.py create mode 100644 wetb/utils/tests/test_test_files.py diff --git a/wetb/utils/test_files.py b/wetb/utils/test_files.py new file mode 100644 index 00000000..37696225 --- /dev/null +++ b/wetb/utils/test_files.py @@ -0,0 +1,45 @@ +''' +Created on 20. jul. 2017 + +@author: mmpe +''' +import os +import wetb +import urllib.request +from fileinput import filename +import inspect +wetb_rep_path = os.path.join(os.path.dirname(wetb.__file__), "../") +default_TestFile_rep_path=os.path.join(os.path.dirname(wetb.__file__) + "/../../TestFiles/") + +def get_test_file(filename): + if not os.path.isabs(filename): + index = [os.path.realpath(s[1]) for s in inspect.stack()].index(__file__) + 1 + tfp = os.path.dirname(inspect.stack()[index][1]) + "/test_files/" + filename = tfp + filename + + if os.path.exists(filename): + return filename + else: + filename2 = os.path.realpath(os.path.join(wetb_rep_path, 'downloaded_test_files', os.path.relpath(filename, wetb_rep_path))) + if not os.path.isfile(filename2): + #url = 'https://gitlab.windenergy.dtu.dk/toolbox/TestFiles/%s'%os.path.relpath(filename, wetb_rep_path) + url = 'http://tools.windenergy.dtu.dk/TestFiles/%s.txt'%os.path.relpath(filename, wetb_rep_path).replace("\\","/") + print ("download %s\nfrom %s"%(filename, url)) + if not os.path.exists(os.path.dirname(filename2)): + os.makedirs(os.path.dirname(filename2)) + urllib.request.urlretrieve(url, filename2) + return filename2 + + + +def move2test_files(filename,TestFile_rep_path=default_TestFile_rep_path): + wetb_rep_path = os.path.join(os.path.dirname(wetb.__file__), "../") + folder = os.path.dirname(TestFile_rep_path + os.path.relpath(filename, wetb_rep_path)) + if not os.path.exists(folder): + os.makedirs(folder) + os.rename(filename, os.path.join(folder, os.path.basename(filename)+'.txt')) + + + + + \ No newline at end of file diff --git a/wetb/utils/tests/test_test_files.py b/wetb/utils/tests/test_test_files.py new file mode 100644 index 00000000..76a2f09c --- /dev/null +++ b/wetb/utils/tests/test_test_files.py @@ -0,0 +1,41 @@ +''' +Created on 20. jul. 2017 + +@author: mmpe +''' +import unittest +from wetb.utils.test_files import move2test_files, get_test_file +import os +from wetb.utils import test_files +import wetb + + +tfp = os.path.join(os.path.dirname(__file__) + "/test_files/") +class Test_test_files(unittest.TestCase): + def test_move2test_files(self): + dst = test_files.default_TestFile_rep_path+ "wetb/utils/tests/test_files/tmp_test_file.txt" + src = tfp+'tmp_test_file.txt' + if os.path.isdir(test_files.default_TestFile_rep_path): + if os.path.isfile(dst): + os.remove(dst) + if not os.path.isfile(src): + with open(src,'w') as fid: + fid.write("This is a test file") + move2test_files(src) + self.assertTrue(os.path.isfile(dst)) + + def test_test_files(self): + fn = os.path.realpath(os.path.dirname(wetb.__file__) + '/../downloaded_test_files/wetb/utils/tests/test_files/test_file.txt') + if os.path.isfile(fn): + os.remove(fn) + fn1 = get_test_file(tfp+'test_file.txt') + self.assertTrue(fn1) + os.remove(fn1) + fn2 = get_test_file('test_file.txt') + self.assertEqual(fn2, fn) + self.assertTrue(os.path.isfile(fn2)) + + +if __name__ == "__main__": + #import sys;sys.argv = ['', 'Test.testName'] + unittest.main() \ No newline at end of file -- GitLab