17 |
17 |
18 """ |
18 """ |
19 Test the CPF root file parsing routines |
19 Test the CPF root file parsing routines |
20 """ |
20 """ |
21 |
21 |
22 import zipfile |
|
23 import unittest |
22 import unittest |
24 import string |
23 import os,shutil |
25 import sys,os,shutil |
|
26 |
24 |
27 ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) |
25 ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) |
28 |
26 |
29 import __init__ |
|
30 from cone.public import exceptions, api |
27 from cone.public import exceptions, api |
31 from cone.storage import zipstorage |
28 from cone.storage import zipstorage |
32 |
29 |
33 datazip = os.path.join(ROOT_PATH,"data.zip") |
30 datazip = os.path.join(ROOT_PATH,"data.zip") |
34 |
31 |
93 res = storage.open_resource("data/newfile.txt","w") |
90 res = storage.open_resource("data/newfile.txt","w") |
94 res.write("test write") |
91 res.write("test write") |
95 self.assertTrue(res) |
92 self.assertTrue(res) |
96 self.assertTrue(isinstance(res,api.Resource)) |
93 self.assertTrue(isinstance(res,api.Resource)) |
97 res.close() |
94 res.close() |
98 self.assertEquals(storage.list_resources("",True), ['data/newfile.txt']) |
95 self.assertEquals(storage.list_resources("",recurse=True), ['data/newfile.txt']) |
99 storage.close() |
96 storage.close() |
100 os.unlink("testnewfile.zip") |
97 os.unlink("testnewfile.zip") |
101 |
98 |
102 |
99 |
103 def test_open_resource_nonexisting(self): |
100 def test_open_resource_nonexisting(self): |
125 res.close() |
122 res.close() |
126 res = storage.open_resource("data/prodX.confml","w") |
123 res = storage.open_resource("data/prodX.confml","w") |
127 res.close() |
124 res.close() |
128 res = storage.open_resource("data/ncp11/confml/jallaa.confml","w") |
125 res = storage.open_resource("data/ncp11/confml/jallaa.confml","w") |
129 res.close() |
126 res.close() |
130 file_array = storage.list_resources("data",True) |
127 file_array = storage.list_resources("data",recurse=True) |
131 self.assertEquals(file_array,['data/foo/morestuff.confml', 'data/prodX.confml', 'data/ncp11/confml/jallaa.confml']) |
128 self.assertEquals(file_array,['data/foo/morestuff.confml', 'data/prodX.confml', 'data/ncp11/confml/jallaa.confml']) |
132 storage.close() |
129 storage.close() |
133 os.unlink("testrecurse.zip") |
130 os.unlink("testrecurse.zip") |
134 |
131 |
135 def test_is_resource_true(self): |
132 def test_is_resource_true(self): |
183 res = storage.open_resource("readme.txt","w") |
180 res = storage.open_resource("readme.txt","w") |
184 res.write("test 2") |
181 res.write("test 2") |
185 res.close() |
182 res.close() |
186 storage.close() |
183 storage.close() |
187 storage2 = api.Storage.open("testdelete.zip","a") |
184 storage2 = api.Storage.open("testdelete.zip","a") |
188 #self.assertEquals(storage2.list_resources("",True), ['.metadata', 'data/newfile.txt', 'readme.txt']) |
185 #self.assertEquals(storage2.list_resources("",recurse=True), ['.metadata', 'data/newfile.txt', 'readme.txt']) |
189 self.assertEquals(storage2.open_resource("data/newfile.txt").read(),"test write") |
186 self.assertEquals(storage2.open_resource("data/newfile.txt").read(),"test write") |
190 storage2.delete_resource("data/newfile.txt") |
187 storage2.delete_resource("data/newfile.txt") |
191 self.assertEquals(len(storage2.list_resources("",True)),2) |
188 self.assertEquals(len(storage2.list_resources("",recurse=True)),2) |
192 storage2.close() |
189 storage2.close() |
193 storage3 = api.Storage.open("testdelete.zip","a") |
190 storage3 = api.Storage.open("testdelete.zip","a") |
194 self.assertEquals(storage3.list_resources("",True), ['readme.txt','.metadata']) |
191 self.assertEquals(storage3.list_resources("",recurse=True), ['readme.txt','.metadata']) |
195 storage3.close() |
192 storage3.close() |
196 os.unlink("testdelete.zip") |
193 os.unlink("testdelete.zip") |
197 |
194 |
198 |
195 |
199 def test_create_folder(self): |
196 def test_create_folder(self): |
208 |
205 |
209 storage2 = api.Storage.open("empty_folder.zip","a") |
206 storage2 = api.Storage.open("empty_folder.zip","a") |
210 self.assertEquals(storage2.is_folder("data"),True) |
207 self.assertEquals(storage2.is_folder("data"),True) |
211 self.assertEquals(storage2.is_folder("data2/folder1"),True) |
208 self.assertEquals(storage2.is_folder("data2/folder1"),True) |
212 self.assertEquals(storage2.is_folder("data3"),True) |
209 self.assertEquals(storage2.is_folder("data3"),True) |
213 self.assertEquals(storage2.list_resources('.',True),['test.txt','.metadata']) |
210 self.assertEquals(storage2.list_resources('.',recurse=True),['test.txt','.metadata']) |
214 self.assertEquals(storage2.list_resources(''),['test.txt','.metadata']) |
211 self.assertEquals(storage2.list_resources(''),['test.txt','.metadata']) |
215 storage2.close() |
212 storage2.close() |
216 os.unlink("empty_folder.zip") |
213 os.unlink("empty_folder.zip") |
217 |
214 |
218 class TestZipStorageListResources(unittest.TestCase): |
215 class TestZipStorageListResources(unittest.TestCase): |