def setUp(cls):
        cls.conn = Connection(config)
        cls.conn.authenticate()
        cls.account = Account(cls.conn,
                              config.get('account', config['username']))
        cls.root_dir = os.path.join(
            '/mnt/gluster-object',
            cls.account.conn.storage_url.split('/')[2].split('_')[1])
        cls.account.delete_containers()

        cls.file_size = 8
        cls.container = cls.account.container(Utils.create_name())
        if not cls.container.create():
            raise ResponseError(cls.conn.response)

        cls.dirs = [
            'dir1',
            'dir2',
            'dir1/subdir1',
            'dir1/subdir2',
            'dir1/subdir1/subsubdir1',
            'dir1/subdir1/subsubdir2',
            'dir1/subdir with spaces',
            'dir1/subdir+with{whatever',
        ]

        cls.files = [
            'file1',
            'file A',
            'dir1/file2',
            'dir1/subdir1/file2',
            'dir1/subdir1/file3',
            'dir1/subdir1/file4',
            'dir1/subdir1/subsubdir1/file5',
            'dir1/subdir1/subsubdir1/file6',
            'dir1/subdir1/subsubdir1/file7',
            'dir1/subdir1/subsubdir1/file8',
            'dir1/subdir1/subsubdir2/file9',
            'dir1/subdir1/subsubdir2/file0',
            'dir1/subdir with spaces/file B',
            'dir1/subdir+with{whatever/file D',
        ]

        stored_files = set()
        for d in cls.dirs:
            file = cls.container.file(d)
            file.write(hdrs={'Content-Type': 'application/directory'})
        for f in cls.files:
            file = cls.container.file(f)
            file.write_random(
                cls.file_size,
                hdrs={'Content-Type': 'application/octet-stream'})
            stored_files.add(f)
        cls.stored_files = sorted(stored_files)
        cls.sorted_objects = sorted(set(cls.dirs + cls.files))
    def setUp(cls):
        cls.conn = Connection(config)
        cls.conn.authenticate()
        cls.account = Account(cls.conn, config.get('account',
                                                   config['username']))
        cls.account.delete_containers()

        cls.file_size = 8

        cls.container = cls.account.container(Utils.create_name())
        if not cls.container.create():
            raise ResponseError(cls.conn.response)

        cls.dirs = [
            'dir1',
            'dir2',
            'dir1/subdir1',
            'dir1/subdir2',
            'dir1/subdir1/subsubdir1',
            'dir1/subdir1/subsubdir2',
            'dir1/subdir with spaces',
            'dir1/subdir+with{whatever',
        ]

        cls.files = [
            'file1',
            'file A',
            'dir1/file2',
            'dir1/subdir1/file2',
            'dir1/subdir1/file3',
            'dir1/subdir1/file4',
            'dir1/subdir1/subsubdir1/file5',
            'dir1/subdir1/subsubdir1/file6',
            'dir1/subdir1/subsubdir1/file7',
            'dir1/subdir1/subsubdir1/file8',
            'dir1/subdir1/subsubdir2/file9',
            'dir1/subdir1/subsubdir2/file0',
            'dir1/subdir with spaces/file B',
            'dir1/subdir+with{whatever/file D',
        ]

        stored_files = set()
        for d in cls.dirs:
            file = cls.container.file(d)
            file.write(hdrs={'Content-Type': 'application/directory'})
        for f in cls.files:
            file = cls.container.file(f)
            file.write_random(cls.file_size, hdrs={'Content-Type':
                                  'application/octet-stream'})
            stored_files.add(f)
        cls.stored_files = sorted(stored_files)
        cls.sorted_objects = sorted(set(cls.dirs + cls.files))
 def setUp(cls):
     cls.conn = Connection(config)
     cls.conn.authenticate()
     cls.account = Account(cls.conn, config.get('account',
                                                config['username']))
     cls.account.delete_containers()
     cls.containers = {}
     #create two containers one for object other for versions of objects
     for i in range(2):
         hdrs={}
         if i==0:
             hdrs={'X-Versions-Location':'versions'}
             cont = cls.containers['object'] = cls.account.container('object')
         else:
             cont = cls.containers['versions'] = cls.account.container('versions')
         if not cont.create(hdrs=hdrs):
             raise ResponseError(cls.conn.response)
             cls.containers.append(cont)
 def setUp(cls):
     cls.conn = Connection(config)
     cls.conn.authenticate()
     cls.account = Account(cls.conn,
                           config.get('account', config['username']))
     cls.account.delete_containers()
     cls.containers = {}
     #create two containers one for object other for versions of objects
     for i in range(2):
         hdrs = {}
         if i == 0:
             hdrs = {'X-Versions-Location': 'versions'}
             cont = cls.containers['object'] = cls.account.container(
                 'object')
         else:
             cont = cls.containers['versions'] = cls.account.container(
                 'versions')
         if not cont.create(hdrs=hdrs):
             raise ResponseError(cls.conn.response)
             cls.containers.append(cont)
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.
""" OpenStack Swift based functional tests for Gluster for Swift"""

import random
import os, sys, re, hashlib
from nose import SkipTest

from test.functional.tests import config, locale, Base, Base2, Utils, \
    TestFileEnv
from test.functional.swift_test_client import Account, Connection, File, \
    ResponseError

web_front_end = config.get('web_front_end', 'integral')


class TestFile(Base):
    env = TestFileEnv
    set_up = False

    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')
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.

""" OpenStack Swift based functional tests for Gluster for Swift"""

import random
import os,sys,re,hashlib
from nose import SkipTest

from test.functional.tests import config, locale, Base, Base2, Utils, \
    TestFileEnv
from test.functional.swift_test_client import Account, Connection, File, \
    ResponseError

web_front_end = config.get('web_front_end', 'integral')

class TestFile(Base):
    env = TestFileEnv
    set_up = False

    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={}