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)
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    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()
Ejemplo n.º 4
0
    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
Ejemplo n.º 5
0
    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()
Ejemplo n.º 6
0
    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()
Ejemplo n.º 7
0
    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)
Ejemplo n.º 8
0
 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)
Ejemplo n.º 9
0
    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()
Ejemplo n.º 10
0
 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)
Ejemplo n.º 11
0
 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()
Ejemplo n.º 12
0
    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()
Ejemplo n.º 13
0
    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()
Ejemplo n.º 14
0
    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()
Ejemplo n.º 15
0
    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()
Ejemplo n.º 16
0
    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()
Ejemplo n.º 17
0
    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()
Ejemplo n.º 18
0
    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()
Ejemplo n.º 19
0
 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()
Ejemplo n.º 20
0
    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)
Ejemplo n.º 21
0
 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()
Ejemplo n.º 22
0
    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()
Ejemplo n.º 23
0
    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()