Пример #1
0
    def test_datastore_database(self):
        ds = CouchDB_DataStore(datastore_name='ion_test_ds', profile=DataStore.DS_PROFILE.RESOURCES)

        # CouchDB does not like upper case characters for database names
        with self.assertRaises(BadRequest):
            ds.create_datastore("BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.delete_datastore("BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.info_datastore("BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.list_objects("BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.list_object_revisions("badid", "BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.create_doc({"foo": "bar"}, "", datastore_name="BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.read_doc("badid", "3", "BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.read_doc_mult("badid", "BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
           ds.update_doc({"foo": "bar"}, "BadDataStoreNamePerCouchDB")

        with self.assertRaises(BadRequest):
            ds.delete_doc("badid", "BadDataStoreNamePerCouchDB")
Пример #2
0
    def test_persistent(self):
        import socket
        try:
            ds = CouchDB_DataStore(datastore_name='ion_test_ds', profile=DataStore.DS_PROFILE.RESOURCES)
            self._do_test(ds)

            # CouchDB does not like upper case characters for database names
            with self.assertRaises(BadRequest):
                ds.create_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.delete_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.info_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.list_objects("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.list_object_revisions("badid", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.create_doc({"foo": "bar"}, "", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.read_doc("badid", "3", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.read_doc_mult("badid", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
               ds.update_doc({"foo": "bar"}, "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.delete_doc("badid", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.find_doc([['type_', DataStore.EQUAL, 'foo']], "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.find_by_idref_doc([['type_', DataStore.EQUAL, 'UserInfo'], DataStore.AND, ['name', DataStore.EQUAL, 'foo']], 'roles', "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.resolve_idref_doc("Subject", "Predicate", "Object", "BadDataStoreNamePerCouchDB")

            self._do_test_views(CouchDB_DataStore(datastore_name='ion_test_ds', profile=DataStore.DS_PROFILE.RESOURCES), is_persistent=True)
        except socket.error:
            raise SkipTest('Failed to connect to CouchDB')
Пример #3
0
    def test_persistent(self):
        import socket

        try:
            ds = CouchDB_DataStore(datastore_name="ion_test_ds", profile=DataStore.DS_PROFILE.RESOURCES)
            self._do_test(ds)

            # CouchDB does not like upper case characters for database names
            with self.assertRaises(BadRequest):
                ds.create_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.delete_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.info_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.list_objects("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.list_object_revisions("badid", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.create_doc({"foo": "bar"}, "", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.read_doc("badid", "3", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.read_doc_mult("badid", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.update_doc({"foo": "bar"}, "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.delete_doc("badid", "BadDataStoreNamePerCouchDB")

            self._do_test_views(
                CouchDB_DataStore(datastore_name="ion_test_ds", profile=DataStore.DS_PROFILE.RESOURCES),
                is_persistent=True,
            )
        except socket.error:
            raise SkipTest("Failed to connect to CouchDB")
Пример #4
0
    def test_persistent(self):
        import socket
        try:
            ds = CouchDB_DataStore(datastore_name='ion_test_ds',
                                   profile=DataStore.DS_PROFILE.RESOURCES)
            self._do_test(ds)

            # CouchDB does not like upper case characters for database names
            with self.assertRaises(BadRequest):
                ds.create_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.delete_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.info_datastore("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.list_objects("BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.list_object_revisions("badid", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.create_doc({"foo": "bar"}, "", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.read_doc("badid", "3", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.read_doc_mult("badid", "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.update_doc({"foo": "bar"}, "BadDataStoreNamePerCouchDB")

            with self.assertRaises(BadRequest):
                ds.delete_doc("badid", "BadDataStoreNamePerCouchDB")

            self._do_test_views(CouchDB_DataStore(
                datastore_name='ion_test_ds',
                profile=DataStore.DS_PROFILE.RESOURCES),
                                is_persistent=True)
        except socket.error:
            raise SkipTest('Failed to connect to CouchDB')
Пример #5
0
    def test_persistent(self):
        import socket
        try:
            ds = CouchDB_DataStore(datastore_name='my_ds')
            self._do_test(ds)

            # CouchDB does not like upper case characters for database names
            create_failed = False
            try:
                ds.create_datastore("BadDataStoreNamePerCouchDB")
            except BadRequest:
                create_failed = True
            self.assertTrue(create_failed)

            delete_failed = False
            try:
                ds.delete_datastore("BadDataStoreNamePerCouchDB")
            except BadRequest:
                delete_failed = True
            self.assertTrue(delete_failed)

            info_failed = False
            try:
                ds.info_datastore("BadDataStoreNamePerCouchDB")
            except BadRequest:
                info_failed = True
            self.assertTrue(info_failed)

            list_objects_failed = False
            try:
                ds.list_objects("BadDataStoreNamePerCouchDB")
            except BadRequest:
                list_objects_failed = True
            self.assertTrue(list_objects_failed)

            list_object_revisions_failed = False
            try:
                ds.list_object_revisions("badid", "BadDataStoreNamePerCouchDB")
            except BadRequest:
                list_object_revisions_failed = True
            self.assertTrue(list_object_revisions_failed)

            create_failed = False
            try:
                ds.create_doc({"foo": "bar"}, "", "BadDataStoreNamePerCouchDB")
            except BadRequest:
                create_failed = True
            self.assertTrue(create_failed)

            read_failed = False
            try:
                ds.read_doc("badid", "3", "BadDataStoreNamePerCouchDB")
            except BadRequest:
                read_failed = True
            self.assertTrue(read_failed)

            read_mult_failed = False
            try:
                ds.read_doc_mult("badid", "BadDataStoreNamePerCouchDB")
            except BadRequest:
                read_mult_failed = True
            self.assertTrue(read_mult_failed)

            update_failed = False
            try:
                ds.update_doc({"foo": "bar"}, "BadDataStoreNamePerCouchDB")
            except BadRequest:
                update_failed = True
            self.assertTrue(update_failed)

            delete_failed = False
            try:
                ds.delete_doc("badid", "BadDataStoreNamePerCouchDB")
            except BadRequest:
                delete_failed = True
            self.assertTrue(delete_failed)

            find_failed = False
            try:
                ds.find_doc([['type_', DataStore.EQUAL, 'foo']], "BadDataStoreNamePerCouchDB")
            except BadRequest:
                find_failed = True
            self.assertTrue(find_failed)

            find__by_idref_failed = False
            try:
                ds.find_by_idref_doc([['type_', DataStore.EQUAL, 'UserInfo'], DataStore.AND, ['name', DataStore.EQUAL, 'foo']], 'roles', "BadDataStoreNamePerCouchDB")
            except BadRequest:
                find__by_idref_failed = True
            self.assertTrue(find__by_idref_failed)

            resolve_idref_failed = False
            try:
                ds.resolve_idref_doc("Subject", "Predicate", "Object", "BadDataStoreNamePerCouchDB")
            except BadRequest:
                resolve_idref_failed = True
            self.assertTrue(resolve_idref_failed)

            self._do_test_views(CouchDB_DataStore(datastore_name='my_ds'), is_persistent=True)
        except socket.error:
            raise SkipTest('Failed to connect to CouchDB')