def __create_collection(self, account_id, collection_name): file = open('../test_resources/XooML.xml') StorageServer.add_collection(user_id= account_id, collection_name=collection_name, callback=self.stop, file= file) response = self.wait(timeout=100) self.assertEqual(StorageResponse.OK, response)
def test_update_sharing_note(self): #create collection collection_name = 'shareable_collection' file = open('../test_resources/XooML.xml') StorageServer.add_collection(user_id=self.__account_id, collection_name=collection_name, callback=self.stop, file= file) response = self.wait() self.assertEqual(StorageResponse.OK, response) #add note note_name = "noteName" note_file = open('../test_resources/note.xml') StorageServer.add_note_to_collection(self.__account_id, collection_name, note_name, note_file, callback = self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) #update note note_file = open('../test_resources/note2.xml') update_note_action = UpdateSharedNoteAction(self.__account_id, collection_name, note_name, note_file) update_note_action.execute(callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) #cleanup StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_copy_collections_between_accounts_different_name(self): first_collection_name = str(uuid.uuid1()) file = open("../test_resources/XooML.xml") StorageServer.add_collection( user_id=self.__account_id, collection_name=first_collection_name, callback=self.stop, file=file ) response = self.wait() self.assertEqual(StorageResponse.OK, response) second_collection_name = str(uuid.uuid1()) StorageServer.copy_collection_between_accounts( self.__account_id, self.__second_account_id, first_collection_name, second_collection_name, callback=self.stop, ) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.list_collections(self.__second_account_id, callback=self.stop) col_list = self.wait() self.assertTrue(second_collection_name in col_list) # cleanup StorageServer.remove_collection(self.__account_id, first_collection_name, callback=self.stop) self.wait() StorageServer.remove_collection(self.__second_account_id, second_collection_name, callback=self.stop) self.wait()
def __create_sharing_record(self, subscriber_list, collection_name): #create collection file = open('../test_resources/XooML.xml') StorageServer.add_collection(user_id=self.__account_id, collection_name= collection_name, callback=self.stop, file= file) response = self.wait() self.assertEqual(StorageResponse.OK, response) #create sharing record SharingController.create_sharing_record(self.__account_id, collection_name, callback = self.stop) sharing_secret = self.wait(timeout=10000) self.assertTrue(sharing_secret is not None) subscribers = {} for subscriber_id in subscriber_list: #subscribe SharingController.subscribe_to_sharing_space(subscriber_id, sharing_secret, callback = self.stop) subscribers_collection_name = self.wait() self.assertTrue(subscribers_collection_name is not None) subscribers[subscriber_id] = subscribers_collection_name return sharing_secret, subscribers
def test_update_sharing_thumbnail(self): first_collection_name = 'shareable_collection_thumbnail' file = open('../test_resources/XooML.xml') StorageServer.add_collection(user_id=self.__account_id, collection_name=first_collection_name, callback=self.stop, file= file) response = self.wait() self.assertEqual(StorageResponse.OK, response) #add thumbnail file = open('../test_resources/note_img.jpg') StorageServer.add_thumbnail(self.__account_id, first_collection_name, file, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) #update thumnail action file = open('../test_resources/note_img2.jpg') update_thumbnail_action = UpdateSharedThumbnailAction(self.__account_id, first_collection_name, file) update_thumbnail_action.execute(callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) #cleanup StorageServer.remove_collection(self.__account_id, first_collection_name, callback=self.stop) self.wait()
def test_reshare_already_shared_collection(self): # create collection first_collection_name = "shareable_collection" file = open("../test_resources/XooML.xml") StorageServer.add_collection( user_id=self.__account_id, collection_name=first_collection_name, callback=self.stop, file=file ) response = self.wait() self.assertEqual(StorageResponse.OK, response) # create sharing record SharingController.create_sharing_record(self.__account_id, first_collection_name, callback=self.stop) sharing_secret = self.wait() self.assertTrue(sharing_secret is not None) # duplicate create sharing record SharingController.create_sharing_record(self.__account_id, first_collection_name, callback=self.stop) new_sharing_secret = self.wait() self.assertEqual(sharing_secret, new_sharing_secret) # verify that only one sharing record was added SharingController.get_sharing_record_by_owner_info(self.__account_id, first_collection_name, callback=self.stop) sharing_record = self.wait() subscribers_list = sharing_record.get_subscribers() self.assertEqual(1, len(subscribers_list)) # cleanup SharingController.remove_sharing_record_by_secret(sharing_secret, callback=self.stop) self.wait() StorageServer.remove_collection(self.__account_id, first_collection_name, callback=self.stop) self.wait()
def test_remove_all_subscribers(self): collection_name = "shareable_collection" file = open("../test_resources/XooML.xml") StorageServer.add_collection( user_id=self.__account_id, collection_name=collection_name, callback=self.stop, file=file ) response = self.wait() self.assertEqual(StorageResponse.OK, response) SharingController.create_sharing_record(self.__account_id, collection_name, callback=self.stop) sharing_secret = self.wait() SharingController.subscribe_to_sharing_space(self.__subscriber_id, sharing_secret, callback=self.stop) collection_name2 = self.wait(timeout=500) SharingController.remove_all_subscribers(sharing_secret, callback=self.stop) self.wait(timeout=10000) # busy wait for the results of remove all subscribers to become consistent try: self.wait(timeout=5) except Exception: pass SharingController.get_sharing_secret_from_subscriber_info( self.__account_id, collection_name, callback=self.stop ) actual_sharing_secret = self.wait() self.assertTrue(actual_sharing_secret is None) SharingController.get_sharing_secret_from_subscriber_info("second_user", collection_name2, callback=self.stop) actual_sharing_secret = self.wait() self.assertTrue(actual_sharing_secret is None)
def test_remove_collection_with_no_file(self): collection_name = str(uuid.uuid1()) StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response)
def test_rename_shared_collection_owner(self): # create collection first_collection_name = "shareable_collection" + str(random.randint) file = open("../test_resources/XooML.xml") StorageServer.add_collection( user_id=self.__account_id, collection_name=first_collection_name, callback=self.stop, file=file ) response = self.wait() self.assertEqual(StorageResponse.OK, response) # create sharing record SharingController.create_sharing_record(self.__account_id, first_collection_name, callback=self.stop) sharing_secret = self.wait() self.assertTrue(sharing_secret is not None) # subscribe SharingController.subscribe_to_sharing_space(self.__subscriber_id, sharing_secret, callback=self.stop) subscribers_collection_name = self.wait() self.assertTrue(subscribers_collection_name is not None) # rename new_collection_name = "new_name" + str(random.randint) SharingController.rename_shared_collection( self.__account_id, first_collection_name, new_collection_name, callback=self.stop ) response_code = self.wait() self.assertTrue(StorageResponse.OK, response_code) # verify SharingController.get_sharing_record_by_secret(sharing_secret, callback=self.stop) sharing_record = self.wait() renamed_collection_name = sharing_record.get_owner_collection_name() self.assertEqual(new_collection_name, renamed_collection_name) # verify owner collection SharingController.get_sharing_secret_from_subscriber_info( self.__account_id, new_collection_name, callback=self.stop ) renamed_sharing_secret = self.wait() self.assertEqual(sharing_secret, renamed_sharing_secret) # verify subscriber collection SharingController.get_sharing_record_from_subscriber_info( self.__subscriber_id, subscribers_collection_name, callback=self.stop ) renamed_sharing_record = self.wait() owner_collection_name = renamed_sharing_record.get_collection_name_for_subscriber(self.__account_id) self.assertEqual(new_collection_name, renamed_sharing_record.get_owner_collection_name()) self.assertEqual(new_collection_name, owner_collection_name) # cleanup SharingController.remove_sharing_record_by_secret(sharing_secret, callback=self.stop) self.wait() StorageServer.remove_collection(self.__account_id, first_collection_name, callback=self.stop) self.wait() StorageServer.remove_collection(self.__subscriber_id, subscribers_collection_name, callback=self.stop) self.wait()
def test_remove_collection_with_file(self): collection_name = str(uuid.uuid1()) file = open("../test_resources/XooML.xml") StorageServer.add_collection( user_id=self.__account_id, collection_name=collection_name, callback=self.stop, file=file ) response = self.wait(timeout=10) self.assertEqual(StorageResponse.OK, response) StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response)
def test_add_thumbnail(self): collection_name = str(uuid.uuid1()) StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) thumbnail = open("../test_resources/thumbnail.jpg") StorageServer.add_thumbnail(self.__account_id, collection_name, thumbnail, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) # cleanup StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_list_collections_valid_account(self): collection_name = str(uuid.uuid1()) StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.list_collections(self.__account_id, callback=self.stop) collections = self.wait() self.assertTrue(len(collections) > 0) # cleanup StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_does_collection_exist(self): collection_name = str(uuid.uuid1()) StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.does_collection_exist(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertTrue(response) # cleanup StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_save_collection_manifest(self): collection_name = "dummy" StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) collection_file = open("../test_resources/collection.xml") StorageServer.save_collection_manifest(self.__account_id, collection_name, collection_file, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) # clean up StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_list_all_notes_empty_collection(self): collection_name = "dummy" StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.list_all_notes(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(0, len(response)) # clean up StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_find_best_collection_name_with_one_existing_collection(self): collection_name = "name" StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageUtils.find_best_collection_name_for_user(collection_name, self.__account_id, callback=self.stop) new_name = self.wait() expected_new_name = collection_name + StorageUtils.SHARING_POSTFIX self.assertEqual(expected_new_name, new_name) # cleanup StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_get_note_img_invalid_note(self): # create note collection_name = "col_name" StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.get_note_image(self.__account_id, collection_name, "dummy", callback=self.stop) response = self.wait() self.assertTrue(response is None) # clean up StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_add_note_to_collection(self): collection_name = "dummy" StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) note_name = "noteName" note_file = open("../test_resources/note.xml") StorageServer.add_note_to_collection( self.__account_id, collection_name, note_name, note_file, callback=self.stop ) response = self.wait() self.assertEqual(StorageResponse.OK, response) # clean up StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_retrieve_renamed_collection(self): collection_name = str(uuid.uuid1()) new_collection_name = str(uuid.uuid1()) StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.rename_collection(self.__account_id, collection_name, new_collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.list_collections(self.__account_id, callback=self.stop) collections = self.wait() self.assertTrue(collection_name not in collections) self.assertTrue(new_collection_name in collections) # cleanup StorageServer.remove_collection(self.__account_id, new_collection_name, callback=self.stop) self.wait()
def test_subscriber_unsubscribing(self): # create collection first_collection_name = "shareable_collection" file = open("../test_resources/XooML.xml") StorageServer.add_collection( user_id=self.__account_id, collection_name=first_collection_name, callback=self.stop, file=file ) response = self.wait() self.assertEqual(StorageResponse.OK, response) # create sharing record SharingController.create_sharing_record(self.__account_id, first_collection_name, callback=self.stop) sharing_secret = self.wait() self.assertTrue(sharing_secret is not None) # subscribe SharingController.subscribe_to_sharing_space(self.__subscriber_id, sharing_secret, callback=self.stop) subscribers_collection_name = self.wait() self.assertTrue(subscribers_collection_name is not None) # unsubscribe SharingController.unsubscribe_from_sharing_space( self.__subscriber_id, subscribers_collection_name, callback=self.stop ) response = self.wait() self.assertEqual(StorageResponse.OK, response) # verify unsubscribe SharingController.get_sharing_record_by_secret(sharing_secret, callback=self.stop) sharing_record = self.wait() subscribers_list = sharing_record.get_subscribers() self.assertTrue(self.__subscriber_id not in subscribers_list) SharingController.get_sharing_record_from_subscriber_info( self.__subscriber_id, subscribers_collection_name, callback=self.stop ) sharing_record = self.wait() self.assertTrue(sharing_record is None) # cleanup SharingController.remove_sharing_record_by_secret(sharing_secret, callback=self.stop) self.wait() StorageServer.remove_collection(self.__account_id, first_collection_name, callback=self.stop) self.wait() StorageServer.remove_collection(self.__subscriber_id, subscribers_collection_name, callback=self.stop)
def test_get_thumbnail(self): collection_name = str(uuid.uuid1()) StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) thumbnail = open("../test_resources/thumbnail.jpg") StorageServer.add_thumbnail(self.__account_id, collection_name, thumbnail, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) StorageServer.get_thumbnail(self.__account_id, collection_name, callback=self.stop) response = self.wait() result_file = open("../test_resources/thumbnail2.jpg", "w") result_file.write(response.read()) response.close() # cleanup StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_add_note_img_to_invalid_note(self): # create note collection_name = "col_name" StorageServer.add_collection(self.__account_id, collection_name, callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) # add image img_file = open("../test_resources/note_img.jpg") StorageServer.add_image_to_note(self.__account_id, collection_name, "dummy", img_file, callback=self.stop) response = self.wait() # expected self.assertEqual(StorageResponse.OK, response) # clean up StorageServer.remove_collection(self.__account_id, collection_name, callback=self.stop) self.wait()
def test_update_sharing_manifest(self): #create collection first_collection_name = 'shareable_collection' file = open('../test_resources/XooML.xml') StorageServer.add_collection(user_id=self.__account_id, collection_name=first_collection_name, callback=self.stop, file= file) response = self.wait() self.assertEqual(StorageResponse.OK, response) #update manifest file = open('../test_resources/XooML2.xml') update_manifest_action = UpdateSharedManifestAction(self.__account_id,first_collection_name, file) update_manifest_action.execute(callback=self.stop) response = self.wait() self.assertEqual(StorageResponse.OK, response) #cleanup StorageServer.remove_collection(self.__account_id, first_collection_name, callback=self.stop) self.wait()