configurationengine/source/cone/storage/tests/unittest_zipstorage.py
changeset 3 e7e0ae78773e
parent 0 2e8eeb919028
equal deleted inserted replaced
2:87cfa131b535 3:e7e0ae78773e
    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):