def testObjectManifest(self):
     if (web_front_end == 'apache2'):
         raise SkipTest()
     data = File.random_data(10000)
     parts = random.randrange(2, 10)
     charsEachPart = len(data) / parts
     for i in range(parts + 1):
         if i == 0:
             file = self.env.container.file('objectmanifest')
             hdrs = {}
             hdrs['Content-Length'] = '0'
             hdrs['X-Object-Manifest'] = str(
                 self.env.container.name) + '/objectmanifest'
             self.assert_(file.write('', hdrs=hdrs))
             self.assert_(file.name in self.env.container.files())
             self.assert_(file.read() == '')
         elif i == parts:
             file = self.env.container.file('objectmanifest' + '-' + str(i))
             segment = data[(i - 1) * charsEachPart:]
             self.assertTrue(file.write(segment))
         else:
             file = self.env.container.file('objectmanifest' + '-' + str(i))
             segment = data[(i - 1) * charsEachPart:i * charsEachPart]
             self.assertTrue(file.write(segment))
     #matching the manifest file content with orignal data, as etag won't match
     file = self.env.container.file('objectmanifest')
     data_read = file.read()
     self.assertEquals(data, data_read)
 def testObjectManifest(self):
     if (web_front_end == 'apache2'):
         raise SkipTest()
     data = File.random_data(10000)
     parts = random.randrange(2,10)
     charsEachPart = len(data)/parts
     for i in range(parts+1):
         if i==0 :
             file = self.env.container.file('objectmanifest')
             hdrs={}
             hdrs['Content-Length']='0'
             hdrs['X-Object-Manifest']=str(self.env.container.name)+'/objectmanifest'
             self.assert_(file.write('',hdrs=hdrs))
             self.assert_(file.name in self.env.container.files())
             self.assert_(file.read() == '')
         elif i==parts :
             file = self.env.container.file('objectmanifest'+'-'+str(i))
             segment=data[ (i-1)*charsEachPart :]
             self.assertTrue(file.write(segment))
         else :
             file = self.env.container.file('objectmanifest'+'-'+str(i))
             segment=data[ (i-1)*charsEachPart : i*charsEachPart]
             self.assertTrue(file.write(segment))
     #matching the manifest file content with orignal data, as etag won't match
     file = self.env.container.file('objectmanifest')
     data_read = file.read()
     self.assertEquals(data,data_read)
 def test_PUT_large_object(self):
     file_item = self.env.container.file(Utils.create_name())
     data = File.random_data(1024 * 1024 * 2)
     self.assertTrue(file_item.write(data))
     self.assert_status(201)
     self.assertTrue(data == file_item.read())
     self.assert_status(200)
 def testObjectVersioning(self):
     versions = random.randrange(2, 10)
     dataArr = []
     #create versions
     for i in range(versions):
         data = File.random_data(10000 * (i + 1))
         file = self.env.containers['object'].file('object')
         self.assertTrue(file.write(data))
         dataArr.append(data)
     cont = self.env.containers['versions']
     info = cont.info()
     self.assertEquals(info['object_count'], versions - 1)
     #match the current version of object with data in arr and delete it
     for i in range(versions):
         data = dataArr[-(i + 1)]
         file = self.env.containers['object'].file('object')
         self.assertEquals(data, file.read())
         self.assert_(file.delete())
         self.assert_status(204)
 def testObjectVersioning(self):
     versions = random.randrange(2,10)
     dataArr=[]
     #create versions
     for i in range(versions):
         data = File.random_data(10000*(i+1))
         file = self.env.containers['object'].file('object')
         self.assertTrue(file.write(data))
         dataArr.append(data)
     cont = self.env.containers['versions']
     info = cont.info()
     self.assertEquals(info['object_count'], versions-1)
     #match the current version of object with data in arr and delete it
     for i in range(versions):
         data = dataArr[-(i+1)]
         file = self.env.containers['object'].file('object')
         self.assertEquals(data,file.read())
         self.assert_(file.delete())
         self.assert_status(204)