23 import unittest |
23 import unittest |
24 import string |
24 import string |
25 import sys,os,shutil |
25 import sys,os,shutil |
26 ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) |
26 ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) |
27 |
27 |
28 import __init__ |
|
29 from cone.public.exceptions import NotResource,StorageException |
28 from cone.public.exceptions import NotResource,StorageException |
30 from cone.public import api |
29 from cone.public import api |
31 from cone.storage import filestorage |
30 from cone.storage import filestorage |
32 |
31 |
33 datafolder= ROOT_PATH |
32 datafolder= ROOT_PATH |
34 datazip = os.path.join(ROOT_PATH,"data.zip") |
33 datazip = os.path.join(ROOT_PATH,"data.zip") |
35 datafolder= os.path.join(ROOT_PATH,"data") |
34 datafolder= os.path.join(ROOT_PATH,"data") |
36 |
35 |
37 |
36 |
38 class TestFileStorageCreation(unittest.TestCase): |
37 #class TestFileStorageCreation(unittest.TestCase): |
39 def setUp(self): |
38 # def setUp(self): |
40 pass |
39 # pass |
41 |
40 # def test_create_storage_on_non_existing_path_fails(self): |
42 def test_create_storage_on_non_existing_path_fails(self): |
41 # try: |
43 try: |
42 # storage = filestorage.FileStorage("dummydatafolder") |
44 storage = filestorage.FileStorage("dummydatafolder") |
43 # self.fail("opening on dummydatafolder succeeds?") |
45 self.fail("opening on dummydatafolder succeeds?") |
44 # except StorageException,e: |
46 except StorageException,e: |
45 # self.assertTrue(True) |
47 self.assertTrue(True) |
46 # |
48 |
47 # def test_create_storage_on_file_fails(self): |
49 def test_create_storage_on_file_fails(self): |
48 # try: |
50 try: |
49 # storage = filestorage.FileStorage(datazip) |
51 storage = filestorage.FileStorage(datazip) |
50 # self.fail("opening on data file succeeds?") |
52 self.fail("opening on data file succeeds?") |
51 # except StorageException,e: |
53 except StorageException,e: |
52 # self.assertTrue(True) |
54 self.assertTrue(True) |
53 # |
55 |
54 # def test_create_storage_on_new_directory(self): |
56 def test_create_storage_on_new_directory(self): |
55 # storage = filestorage.FileStorage("dummytest/storage","w") |
57 storage = filestorage.FileStorage("dummytest/storage","w") |
56 # self.assertTrue(os.path.exists("dummytest/storage")) |
58 self.assertTrue(os.path.exists("dummytest/storage")) |
57 # shutil.rmtree("dummytest") |
59 shutil.rmtree("dummytest") |
58 # |
60 |
|
61 class TestFileStorage(unittest.TestCase): |
59 class TestFileStorage(unittest.TestCase): |
62 def setUp(self): |
60 # def setUp(self): |
63 self.storage = filestorage.FileStorage(datafolder) |
61 # self.storage = filestorage.FileStorage(datafolder) |
64 |
62 # |
65 def test_supported_storage(self): |
63 # def test_supported_storage(self): |
66 self.assertTrue(filestorage.FileStorage.supported_storage("C:/GenerationRegressionTest/wc/genregtest_workdir/cone_vs_ct2/pf7132_020.006/config_project/")) |
64 # self.assertTrue(filestorage.FileStorage.supported_storage("C:/GenerationRegressionTest/wc/genregtest_workdir/cone_vs_ct2/pf7132_020.006/config_project/")) |
67 self.assertTrue(filestorage.FileStorage.supported_storage("C:/GenerationRegressionTest/wc/genregtest_workdir")) |
65 # self.assertTrue(filestorage.FileStorage.supported_storage("C:/GenerationRegressionTest/wc/genregtest_workdir")) |
68 self.assertFalse(filestorage.FileStorage.supported_storage("C:/GenerationRegressionTest/wc/genregtest_workdir.zip")) |
66 # self.assertFalse(filestorage.FileStorage.supported_storage("C:/GenerationRegressionTest/wc/genregtest_workdir.zip")) |
69 |
67 # |
70 def test_open_resource_existing_file_for_reading(self): |
68 # def test_open_resource_existing_file_for_reading(self): |
71 res = self.storage.open_resource("simple.confml") |
69 # res = self.storage.open_resource("simple.confml") |
72 self.assertTrue(res) |
70 # self.assertTrue(res) |
73 self.assertTrue(isinstance(res,api.Resource)) |
71 # self.assertTrue(isinstance(res,api.Resource)) |
74 |
72 # |
75 def test_open_resource_new_file(self): |
73 # def test_open_resource_new_file(self): |
76 res = self.storage.open_resource("newfile.txt","w") |
74 # res = self.storage.open_resource("newfile.txt","w") |
77 self.assertTrue(res) |
75 # self.assertTrue(res) |
78 self.assertTrue(isinstance(res,api.Resource)) |
76 # self.assertTrue(isinstance(res,api.Resource)) |
79 res.close() |
77 # res.close() |
80 self.assertTrue(os.path.exists(datafolder+"/newfile.txt")) |
78 # self.assertTrue(os.path.exists(datafolder+"/newfile.txt")) |
81 os.remove(datafolder+"/newfile.txt") |
79 # os.remove(datafolder+"/newfile.txt") |
82 |
80 # |
83 def test_list_resources(self): |
81 # def test_list_resources(self): |
84 self.assertEquals(self.storage.list_resources("."), |
82 # self.assertEquals(sorted(self.storage.list_resources(".")), |
85 ['.metadata', 'morestuff.confml', 'prodX.confml', 'simple.confml']) |
83 # sorted(['.metadata', 'morestuff.confml', 'prodX.confml', 'simple.confml'])) |
86 |
84 # |
87 def test_delete_resource(self): |
85 # def test_delete_resource(self): |
88 tf = open(os.path.join(datafolder,"tempfile.txt"),"w") |
86 # tf = open(os.path.join(datafolder,"tempfile.txt"),"w") |
89 tf.close() |
87 # tf.close() |
90 res = self.storage.delete_resource("tempfile.txt") |
88 # res = self.storage.delete_resource("tempfile.txt") |
91 self.assertFalse(os.path.exists(datafolder+"tempfile.txt")) |
89 # self.assertFalse(os.path.exists(datafolder+"tempfile.txt")) |
92 |
90 # |
93 def test_open_resource_nonexisting(self): |
91 # def test_open_resource_nonexisting(self): |
94 try: |
92 # try: |
95 res = self.storage.open_resource("iamnothere.txt") |
93 # res = self.storage.open_resource("iamnothere.txt") |
96 self.fail("Opening of a non existing file succeeds!??") |
94 # self.fail("Opening of a non existing file succeeds!??") |
97 except NotResource: |
95 # except NotResource: |
98 self.assertTrue(True) |
96 # self.assertTrue(True) |
99 |
97 # |
100 def test_list_resources_nonrecurse(self): |
98 # def test_list_resources_nonrecurse(self): |
101 file_array = self.storage.list_resources("") |
99 # file_array = self.storage.list_resources("") |
102 self.assertEquals(file_array[0],".metadata") |
100 # self.assertTrue(".metadata" in file_array) |
103 |
101 # |
104 def test_list_resources_nonrecurse_from_root(self): |
102 # def test_list_resources_nonrecurse_from_root(self): |
105 file_array = self.storage.list_resources("/") |
103 # file_array = self.storage.list_resources("/") |
106 self.assertTrue(file_array.index(".metadata")==0) |
104 # self.assertTrue(".metadata" in file_array) |
107 |
105 # |
108 def test_list_resources_recurse_from_root(self): |
106 # def test_list_resources_recurse_from_root(self): |
109 file_array = self.storage.list_resources("",True) |
107 # file_array = self.storage.list_resources("",True) |
110 self.assertEquals(file_array[0],".metadata") |
108 # self.assertTrue(".metadata" in file_array) |
111 |
109 # |
112 def test_list_resources_from_subfolder(self): |
110 # def test_list_resources_from_subfolder(self): |
113 file_array = self.storage.list_resources("familyX") |
111 # file_array = self.storage.list_resources("familyX") |
114 self.assertEquals(file_array[0],"familyX/root.confml") |
112 # self.assertTrue("familyX/root.confml" in file_array) |
115 |
113 # |
116 def test_list_resources_recurse_from_subfolder(self): |
114 # def test_list_resources_recurse_from_subfolder(self): |
117 file_array = self.storage.list_resources("familyX", True) |
115 # file_array = self.storage.list_resources("familyX", True) |
118 self.assertEquals(file_array[0],"familyX/root.confml") |
116 # self.assertTrue("familyX/root.confml" in file_array) |
119 # Count only non-SVN files |
117 # # Count only non-SVN files |
120 self.assertEquals(len(filter(lambda x: x.find('.svn') == -1, file_array)), 7) |
118 # self.assertEquals(len(filter(lambda x: x.find('.svn') == -1, file_array)), 7) |
121 |
119 # |
122 def test_is_resource_true(self): |
120 # def test_is_resource_true(self): |
123 self.assertTrue(self.storage.is_resource("simple.confml")) |
121 # self.assertTrue(self.storage.is_resource("simple.confml")) |
124 |
122 # |
125 def test_is_resource_true_with_begin_slash(self): |
123 # def test_is_resource_true_with_begin_slash(self): |
126 self.assertTrue(self.storage.is_resource("/simple.confml")) |
124 # self.assertTrue(self.storage.is_resource("/simple.confml")) |
127 |
125 # |
128 def test_is_resource_false(self): |
126 # def test_is_resource_false(self): |
129 self.assertFalse(self.storage.is_resource("data")) |
127 # self.assertFalse(self.storage.is_resource("data")) |
130 |
128 # |
131 def test_open_resource_existing_file_with_root(self): |
129 # def test_open_resource_existing_file_with_root(self): |
132 res = self.storage.open_resource("/simple.confml") |
130 # res = self.storage.open_resource("/simple.confml") |
133 self.assertTrue(res) |
131 # self.assertTrue(res) |
134 self.assertTrue(isinstance(res,api.Resource)) |
132 # self.assertTrue(isinstance(res,api.Resource)) |
|
133 # |
|
134 # |
|
135 # def test_create_folder(self): |
|
136 # store = filestorage.FileStorage("newtestfolder","w") |
|
137 # store.create_folder("subdir") |
|
138 # self.assertTrue(store.is_folder("subdir")) |
|
139 # self.assertTrue(os.path.exists("newtestfolder/subdir")) |
|
140 # store.create_folder('foo') |
|
141 # layer = api.Folder(store, "foo") |
|
142 # self.assertTrue(store.is_folder("foo")) |
|
143 # self.assertTrue(layer) |
|
144 # self.assertTrue(os.path.exists("newtestfolder/subdir")) |
|
145 # layer.create_folder("foosubdir") |
|
146 # self.assertTrue(store.is_folder("foo/foosubdir")) |
|
147 # self.assertTrue(os.path.exists("newtestfolder/foo/foosubdir")) |
|
148 # shutil.rmtree('newtestfolder') |
135 |
149 |
136 def test_metadata_writing(self): |
150 def test_metadata_writing(self): |
137 fs = filestorage.FileStorage("testtemp","w") |
151 fs = filestorage.FileStorage("testtemp","w") |
138 fs.set_active_configuration('testing.confml') |
152 fs.set_active_configuration('testing.confml') |
139 fs.close() |
153 fs.close() |
140 fs = filestorage.FileStorage("testtemp","r") |
154 fs = filestorage.FileStorage("testtemp","r") |
141 self.assertEquals(fs.get_active_configuration(),'testing.confml') |
155 self.assertEquals(fs.get_active_configuration(),'testing.confml') |
142 fs.close() |
156 fs.close() |
143 shutil.rmtree("testtemp") |
157 shutil.rmtree("testtemp") |
144 |
158 |
145 def test_create_folder(self): |
|
146 store = filestorage.FileStorage("newtestfolder","w") |
|
147 store.create_folder("subdir") |
|
148 self.assertTrue(store.is_folder("subdir")) |
|
149 self.assertTrue(os.path.exists("newtestfolder/subdir")) |
|
150 store.create_folder('foo') |
|
151 layer = api.Folder(store, "foo") |
|
152 self.assertTrue(store.is_folder("foo")) |
|
153 self.assertTrue(layer) |
|
154 self.assertTrue(os.path.exists("newtestfolder/subdir")) |
|
155 layer.create_folder("foosubdir") |
|
156 self.assertTrue(store.is_folder("foo/foosubdir")) |
|
157 self.assertTrue(os.path.exists("newtestfolder/foo/foosubdir")) |
|
158 shutil.rmtree('newtestfolder') |
|
159 |
159 |
160 if __name__ == '__main__': |
160 if __name__ == '__main__': |
161 unittest.main() |
161 unittest.main() |