def test_move_coll_to_coll(self): # test args args = {'base_collection': self.test_coll_path, 'collection1': 'foo', 'collection2': 'bar'} # make collection1 and collection2 in base collection path1 = "{base_collection}/{collection1}".format(**args) coll1 = helpers.make_collection(self.sess, path1) path2 = "{base_collection}/{collection2}".format(**args) coll2 = helpers.make_collection(self.sess, path2) # get collection2's id saved_id = coll2.id # move collection2 into collection1 self.sess.collections.move(path2, path1) # get updated collection path2 = "{base_collection}/{collection1}/{collection2}".format(**args) coll2 = self.sess.collections.get(path2) # compare ids self.assertEqual(coll2.id, saved_id) # remove collection coll1.remove(recurse=True, force=True)
def test_move_coll_to_coll(self): # test args args = { 'base_collection': self.test_coll_path, 'collection1': 'foo', 'collection2': 'bar' } # make collection1 and collection2 in base collection path1 = "{base_collection}/{collection1}".format(**args) coll1 = helpers.make_collection(self.sess, path1) path2 = "{base_collection}/{collection2}".format(**args) coll2 = helpers.make_collection(self.sess, path2) # get collection2's id saved_id = coll2.id # move collection2 into collection1 self.sess.collections.move(path2, path1) # get updated collection path2 = "{base_collection}/{collection1}/{collection2}".format(**args) coll2 = self.sess.collections.get(path2) # compare ids self.assertEqual(coll2.id, saved_id) # remove collection coll1.remove(recurse=True, force=True)
def setUp(self): self.sess = helpers.make_session() # Create test collection self.coll_path = '/{}/home/{}/test_dir'.format(self.sess.zone, self.sess.username) self.coll = helpers.make_collection(self.sess, self.coll_path)
def setUp(self): self.sess = helpers.make_session_from_config() # Create dummy test collection self.coll_path = '/{0}/home/{1}/test_dir'.format( config.IRODS_SERVER_ZONE, config.IRODS_USER_USERNAME) self.coll = helpers.make_collection(self.sess, self.coll_path)
def test_rename_collection(self): # test args args = { 'collection': self.test_coll_path, 'old_name': 'foo', 'new_name': 'bar' } # make collection path = "{collection}/{old_name}".format(**args) coll = helpers.make_collection(self.sess, path) # get collection id saved_id = coll.id # rename coll new_path = "{collection}/{new_name}".format(**args) coll.move(new_path) # self.sess.collections.move(path, new_path) # get updated collection coll = self.sess.collections.get(new_path) # compare ids self.assertEqual(coll.id, saved_id) # remove collection coll.remove(recurse=True, force=True)
def test_rename_collection(self): # test args args = {'collection': self.test_coll_path, 'old_name': 'foo', 'new_name': 'bar'} # make collection path = "{collection}/{old_name}".format(**args) coll = helpers.make_collection(self.sess, path) # get collection id saved_id = coll.id # rename coll new_path = "{collection}/{new_name}".format(**args) coll.move(new_path) # self.sess.collections.move(path, new_path) # get updated collection coll = self.sess.collections.get(new_path) # compare ids self.assertEqual(coll.id, saved_id) # remove collection coll.remove(recurse=True, force=True)
def test_move_obj_to_coll(self): # test args collection = self.coll_path new_coll_name = 'my_coll' file_name = 'foo' # make object in test collection path = "{collection}/{file_name}".format(**locals()) obj = helpers.make_object(self.sess, path) # get object id saved_id = obj.id # make new collection and move object to it new_coll_path = "{collection}/{new_coll_name}".format(**locals()) new_coll = helpers.make_collection(self.sess, new_coll_path) self.sess.data_objects.move(path, new_coll_path) # get new object id new_path = "{collection}/{new_coll_name}/{file_name}".format( **locals()) obj = self.sess.data_objects.get(new_path) # compare ids self.assertEqual(obj.id, saved_id) # remove new collection new_coll.remove(recurse=True, force=True)
def setUp(self): self.sess = helpers.make_session_from_config() # Create test collection self.coll_path = '/{0}/home/{1}/test_dir'.format( config.IRODS_SERVER_ZONE, config.IRODS_USER_USERNAME) self.coll = helpers.make_collection(self.sess, self.coll_path)
def test_walk_collection(self): depth = 20 # files that will be ceated in each subcollection filenames = ['foo', 'bar', 'baz'] # make nested collections coll_path = self.test_coll_path for d in range(depth): # create subcollection with files coll_path += '/sub' + str(d) helpers.make_collection(self.sess, coll_path, filenames) # now walk nested collections colls = self.test_coll.walk(topdown=False) sub_coll_name = '' for d in range(depth - 1, -2, -1): # get next result collection, subcollections, data_objects = next(colls) # check collection name if d >= 0: coll_name = 'sub' + str(d) self.assertEqual(collection.name, coll_name) else: # root collection self.assertEqual(collection.name, self.test_coll.name) # check subcollection name if d < depth - 1: self.assertEqual(sub_coll_name, subcollections[0].name) else: # last coll has no subcolls self.assertListEqual(subcollections, []) # check data object names for data_object in data_objects: self.assertIn(data_object.name, filenames) # iterate sub_coll_name = coll_name # that should be it with self.assertRaises(StopIteration): next(colls)
def setUp(self): self.sess = helpers.make_session_from_config() # make list of unicode filenames, from file self.names = parse_xml_file(UNICODE_TEST_FILE) # Create dummy test collection self.coll = helpers.make_collection(self.sess, self.coll_path, self.names)
def setUp(self): self.sess = helpers.make_session() self.coll_path = '/{}/home/{}/test_dir'.format(self.sess.zone, self.sess.username) # make list of unicode filenames, from file self.names = parse_xml_file(UNICODE_TEST_FILE) # Create test collection self.coll = helpers.make_collection( self.sess, self.coll_path, self.names)
def setUp(self): self.sess = iRODSSession(host=config.IRODS_SERVER_HOST, port=config.IRODS_SERVER_PORT, user=config.IRODS_USER_USERNAME, password=config.IRODS_USER_PASSWORD, zone=config.IRODS_SERVER_ZONE) # Create dummy test collection self.coll_path = '/{0}/home/{1}/test_dir'.format(config.IRODS_SERVER_ZONE, config.IRODS_USER_USERNAME) self.coll = helpers.make_collection(self.sess, self.coll_path)
def setUp(self): self.sess = helpers.make_session_from_config() # get server version with self.sess.pool.get_connection() as conn: self.server_version = tuple(int(token) for token in conn.server_version.replace('rods', '').split('.')) # Create test collection self.coll_path = '/{0}/home/{1}/test_dir'.format( config.IRODS_SERVER_ZONE, config.IRODS_USER_USERNAME) self.coll = helpers.make_collection(self.sess, self.coll_path)
def setUp(self): self.sess = helpers.make_session_from_config() # get server version with self.sess.pool.get_connection() as conn: self.server_version = tuple(int(token) for token in conn.server_version.replace('rods', '').split('.')) # Create dummy test collection self.coll_path = '/{0}/home/{1}/test_dir'.format( config.IRODS_SERVER_ZONE, config.IRODS_USER_USERNAME) self.coll = helpers.make_collection(self.sess, self.coll_path)
def test_copy_obj_to_coll(self): # test args collection = self.coll_path file_name = 'foo' dest_coll_name = 'copy_dest_coll' dest_coll_path = "{collection}/{dest_coll_name}".format(**locals()) dest_obj_path = "{collection}/{dest_coll_name}/{file_name}".format( **locals()) # make object in test collection path = "{collection}/{file_name}".format(**locals()) src_obj = helpers.make_object(self.sess, path, options={kw.REG_CHKSUM_KW: ''}) # make new collection and copy object into it options = {kw.VERIFY_CHKSUM_KW: ''} helpers.make_collection(self.sess, dest_coll_path) self.sess.data_objects.copy(path, dest_coll_path, options) # compare checksums dest_obj = self.sess.data_objects.get(dest_obj_path) self.assertEqual(src_obj.checksum, dest_obj.checksum)
def setUp(self): self.sess = iRODSSession(host=config.IRODS_SERVER_HOST, port=config.IRODS_SERVER_PORT, user=config.IRODS_USER_USERNAME, password=config.IRODS_USER_PASSWORD, zone=config.IRODS_SERVER_ZONE) # make list of unicode filenames, from file self.names = parse_xml_file(UNICODE_TEST_FILE) # Create dummy test collection self.coll = helpers.make_collection(self.sess, self.coll_path, self.names)
def test_copy_obj_to_coll(self): # test args collection = self.coll_path file_name = 'foo' dest_coll_name = 'copy_dest_coll' dest_coll_path = "{collection}/{dest_coll_name}".format(**locals()) dest_obj_path = "{collection}/{dest_coll_name}/{file_name}".format( **locals()) # make object in test collection path = "{collection}/{file_name}".format(**locals()) options = {kw.REG_CHKSUM_KW: ''} src_obj = helpers.make_object(self.sess, path, **options) # make new collection and copy object into it options = {kw.VERIFY_CHKSUM_KW: ''} helpers.make_collection(self.sess, dest_coll_path) self.sess.data_objects.copy(path, dest_coll_path, **options) # compare checksums dest_obj = self.sess.data_objects.get(dest_obj_path) self.assertEqual(src_obj.checksum, dest_obj.checksum)
def setUp(self): self.sess = iRODSSession(host=config.IRODS_SERVER_HOST, port=config.IRODS_SERVER_PORT, user=config.IRODS_USER_USERNAME, password=config.IRODS_USER_PASSWORD, zone=config.IRODS_SERVER_ZONE) # make list of unicode filenames, from file self.names = parse_xml_file(UNICODE_TEST_FILE) # Create dummy test collection self.coll = helpers.make_collection( self.sess, self.coll_path, self.names)
def setUp(self): self.sess = helpers.make_session() # Create test collection self.coll_path = '/{}/home/{}/test_dir'.format(self.sess.zone, self.sess.username) self.coll = helpers.make_collection(self.sess, self.coll_path) VERSION_DEPENDENT_STRINGS = { 'MODIFY':'modify_object', 'READ':'read_object' } if self.sess.server_version >= (4,3) \ else { 'MODIFY':'modify object', 'READ':'read object' } self.mapping = dict([(i, i) for i in ('own', VERSION_DEPENDENT_STRINGS['MODIFY'], VERSION_DEPENDENT_STRINGS['READ'])] + [('write', VERSION_DEPENDENT_STRINGS['MODIFY']), ('read', VERSION_DEPENDENT_STRINGS['READ'])])
def setUp(self): self.sess = iRODSSession(host=config.IRODS_SERVER_HOST, port=config.IRODS_SERVER_PORT, user=config.IRODS_USER_USERNAME, password=config.IRODS_USER_PASSWORD, zone=config.IRODS_SERVER_ZONE) # get server version with self.sess.pool.get_connection() as conn: self.server_version = tuple(int(token) for token in conn.server_version.replace('rods', '').split('.')) # Create dummy test collection self.coll_path = '/{0}/home/{1}/test_dir'.format( config.IRODS_SERVER_ZONE, config.IRODS_USER_USERNAME) self.coll = helpers.make_collection(self.sess, self.coll_path)
def setUp(self): self.sess = iRODSSession(host=config.IRODS_SERVER_HOST, port=config.IRODS_SERVER_PORT, user=config.IRODS_USER_USERNAME, password=config.IRODS_USER_PASSWORD, zone=config.IRODS_SERVER_ZONE) # get server version with self.sess.pool.get_connection() as conn: self.server_version = tuple( int(token) for token in conn.server_version.replace( 'rods', '').split('.')) # Create dummy test collection self.coll_path = '/{0}/home/{1}/test_dir'.format( config.IRODS_SERVER_ZONE, config.IRODS_USER_USERNAME) self.coll = helpers.make_collection(self.sess, self.coll_path)
def setUp(self): """Create objects for test""" self.sess = helpers.make_session() user = self.sess.users.get(self.sess.username) if user.type != 'rodsadmin': self.skipTest('''Test runnable only by rodsadmin.''') admin = self.sess delete_my_tickets(admin) # Create test collection self.coll_path = '/{}/home/{}/ticket_test_dir'.format( admin.zone, admin.username) self.coll = helpers.make_collection(admin, self.coll_path) # Create anonymous test user self.user = admin.users.create('anonymous', 'rodsuser') self.rodsuser_params = { 'host': admin.host, 'port': admin.port, 'user': '******', 'password': '', 'zone': admin.zone } # make new data object in the test collection with some initialized content self.INITIALIZED_DATA = b'1' * 16 self.data_path = '{self.coll_path}/ticketed_data'.format(**locals()) helpers.make_object(admin, self.data_path, content=self.INITIALIZED_DATA) self.MODIFIED_DATA = b'2' * 16 # make new tickets for the various combinations self.tickets = {'coll': {}, 'data': {}} for obj_type in ('coll', 'data'): for access in ('read', 'write'): ticket = Ticket(admin) self.tickets[obj_type][access] = ticket.string ticket.issue(access, getattr(self, obj_type + '_path'))