def setUpClass(cls): cls.wait_time = CUSTOM_WAIT_TIMES.get(cls.account.service, WAIT_TIME) cls.max_retries = 2 cls.test_folder = utils.create_or_get_test_folder(cls.account) cls.test_subfolder = cls.account.folders.create( data={ 'parent_id': cls.test_folder.id, 'name': 'Test Events' }) cls.test_subfolder2 = cls.account.folders.create( data={ 'parent_id': cls.test_folder.id, 'name': 'Test Events2' })
def setUp(self): acc = self.account if acc.service in list_permissions: self.test_folder = utils.create_or_get_test_folder(acc) self.test_file = utils.create_test_file(acc) new_roles = { "*****@*****.**": "reader", "*****@*****.**": "writer" } if acc.service in change_folder_permissions: self.new_roles = new_roles self.test_folder.permissions.create(data=self.new_roles) if acc.service in change_file_permissions: self.new_roles = new_roles self.test_file.permissions.create(data=self.new_roles)
def test_mult_results_search(self): acc = self.account test_file_name = 'search' + str(random.random())[2:] + '.txt' root_folder = utils.create_or_get_test_folder(acc) test_folder_1 = acc.folders.create(data={ 'parent_id': root_folder.id, 'name': 'folder %s' % random.randint(0, 10e8)}) test_folder_2 = acc.folders.create(data={ 'parent_id': root_folder.id, 'name': 'folder %s' % random.randint(0, 10e8)}) test_file_1 = utils.create_test_file(acc, folder=test_folder_1, file_name=test_file_name) test_file_2 = utils.create_test_file(acc, folder=test_folder_2, file_name=test_file_name) if acc.service == 'box': time.sleep(210) results = acc.search.all(q=test_file_name) self.assertEqual({results[0].id, results[1].id}, {test_file_1.id, test_file_2.id})
def setUpClass(cls): cls.wait_time = CUSTOM_WAIT_TIMES.get(cls.account.service, WAIT_TIME) cls.max_retries = 2 cls.test_folder = utils.create_or_get_test_folder(cls.account) cls.test_subfolder = cls.account.folders.create(data={"parent_id": cls.test_folder.id, "name": "Test Events"}) cls.test_subfolder2 = cls.account.folders.create(data={"parent_id": cls.test_folder.id, "name": "Test Events2"})
def test_multipart(self): if self.account.service not in allow_multipart: self.skipTest("Multipart not allowed.") # Create Multipart acc = self.account folder = utils.create_or_get_test_folder(acc) multipart_data = {"parent_id": folder.id, "name": "multipart_test"} if self.account.service in require_file_size: multipart_data["size"] = self.file_size multipart = acc.multipart.create(data=multipart_data) # Retrieve Multipart new_multipart = acc.multipart.retrieve(id=multipart.id) self.assertEqual(str(new_multipart.id), str(multipart.id)) self.assertEqual(str(new_multipart.account), str(multipart.account)) chunk_size = new_multipart['part_size'] num_parts = int(math.ceil(1.0 * self.file_size / chunk_size)) # Upload Chunk for x in range(1, num_parts + 1): data = os.urandom( min(chunk_size, self.file_size - chunk_size * (x - 1))) response = multipart.upload_chunk(part_number=x, data=data) self.assertTrue(response) # Complete file_result = multipart.complete() self.assertIsInstance(file_result, sdk.resources.File) # Folder Check if file_result.get('parent'): if file_result.parent.get('name'): self.assertEqual(folder.name.lower(), file_result.parent.name.lower()) elif file_result.parent.get('id'): folder_metadata = acc.folders.retrieve( id=file_result.parent.id) folder_name = folder_metadata.get('name') if folder_name: self.assertEqual(folder.name, folder_name) # Size Check if file_result.get('size'): self.assertEqual(self.file_size, file_result.get('size')) # Overwrite Checks multipart_data["size"] = 1 * chunk_size multipart = acc.multipart.create(data=multipart_data, params={'overwrite': 'true'}) response = multipart.upload_chunk(part_number=1, data=os.urandom(chunk_size)) self.assertTrue(response) overwrite_file_result = multipart.complete() self.assertIsInstance(overwrite_file_result, sdk.resources.File) self.assertEqual(file_result.name, overwrite_file_result.name) multipart = acc.multipart.create(data=multipart_data, params={'overwrite': 'false'}) response = multipart.upload_chunk(part_number=1, data=os.urandom(chunk_size)) self.assertTrue(response) no_overwrite_file_result = multipart.complete() self.assertIsInstance(overwrite_file_result, sdk.resources.File) self.assertNotEqual(file_result.name, no_overwrite_file_result.name)
def setUp(self): self.test_folder = utils.create_or_get_test_folder(self.account) self.assertTrue(hasattr(self.test_folder, 'id')) self.assertEqual(self.test_folder.type, 'folder')
def test_multipart(self): if self.account.service not in allow_multipart: self.skipTest("Multipart not allowed.") # Create Multipart acc = self.account folder = utils.create_or_get_test_folder(acc) multipart_data = { "parent_id": folder.id, "name": "multipart_test" } if self.account.service in require_file_size: multipart_data["size"] = self.file_size multipart = acc.multipart.create(data=multipart_data) # Retrieve Multipart new_multipart = acc.multipart.retrieve(id=multipart.id) self.assertEqual(str(new_multipart.id), str(multipart.id)) self.assertEqual(str(new_multipart.account), str(multipart.account)) chunk_size = new_multipart['part_size'] num_parts = int(math.ceil(1.0 * self.file_size / chunk_size)) # Upload Chunk for x in range(1, num_parts+1): data = os.urandom(min(chunk_size, self.file_size - chunk_size*(x-1))) response = multipart.upload_chunk(part_number=x, data=data) self.assertTrue(response) # Complete file_result = multipart.complete() self.assertIsInstance(file_result, sdk.resources.File) # Folder Check if file_result.get('parent'): if file_result.parent.get('name'): self.assertEqual( folder.name.lower(), file_result.parent.name.lower()) elif file_result.parent.get('id'): folder_metadata = acc.folders.retrieve( id=file_result.parent.id) folder_name = folder_metadata.get('name') if folder_name: self.assertEqual(folder.name, folder_name) # Size Check if file_result.get('size'): self.assertEqual(self.file_size, file_result.get('size')) # Overwrite Checks multipart_data["size"] = 1 * chunk_size multipart = acc.multipart.create( data=multipart_data, params={'overwrite': 'true'}) response = multipart.upload_chunk( part_number=1, data=os.urandom(chunk_size)) self.assertTrue(response) overwrite_file_result = multipart.complete() self.assertIsInstance(overwrite_file_result, sdk.resources.File) self.assertEqual(file_result.name, overwrite_file_result.name) multipart = acc.multipart.create( data=multipart_data, params={'overwrite': 'false'}) response = multipart.upload_chunk( part_number=1, data=os.urandom(chunk_size)) self.assertTrue(response) no_overwrite_file_result = multipart.complete() self.assertIsInstance(overwrite_file_result, sdk.resources.File) self.assertNotEqual(file_result.name, no_overwrite_file_result.name)
def setUp(self): self.folder = utils.create_or_get_test_folder(self.account) self.file = utils.create_test_file(self.account)