コード例 #1
0
ファイル: test_api.py プロジェクト: mesbahs/pyimeji
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji

        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            album.release()
            album.link()
            album.unlink()
            album.discard('test')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')
            collection.dumps()
            repr(collection)
            collection2 = self.api.create('collection',
                                          title='abc',
                                          profile='dhV6XK39_UPrItK5')
            collection2.add_item(referenceUrl='http://example.org/')
            assert collection2
            collection.release()
            collection2.delete()
            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__)
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.metadata = os.path.join(os.path.dirname(__file__),
                                          'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'Research Data')

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(('--service=%s retrieve collection FKMxUpYdV9N2J4XG' %
                        SERVICE_URL).split())
            self.assertIsInstance(res, Collection)
コード例 #2
0
ファイル: test_api.py プロジェクト: MPDL/pyimeji
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji
        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            if not self.api.service_mode_private:
                album.release()
                album = self.api.album(album.id)
                album.link(['Wo1JI_oZNyrfxV_t'])
                album.unlink(['Wo1JI_oZNyrfxV_t'])
                album.discard('test comment')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')

            collection_template_item = collection.item_template()
            self.assertEqual(collection_template_item.collectionId, collection.id)

            collection.dumps()
            if not self.api.service_mode_private:
                collection.release()

            repr(collection)

            collection2 = self.api.create('collection', title='abc', profile='dhV6XK39_UPrItK5')
            assert collection2
            collection2.delete()

            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            assert collection3

            collection.description='test description'
            collection= collection.save()
            assert collection

            collections = self.api.collections(size=500, q='Test', offset=0)
            self.assertEqual(self.api.total_number_of_results,1)
            self.assertEqual(self.api.number_of_results,1)
            self.assertEqual(self.api.offset,0)
            self.assertEqual(self.api.size,1)

            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            with self.assertRaises(ValueError):
                self.api.collections(size=500, qquery='Test', offset=0)

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__, filename='name.png')
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.filename = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)
            collection = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            item3= collection.add_item( _file=__file__)
            self.assertEqual(item3.filename, 'virr-image.tif')
            item3.filename='name.png'
            item3.save()
            self.assertEqual(item3.filename, 'name.png')
            item3=self.api.update(item3, filename='virr-image.tif')
            assert item3
            with self.assertRaises(AttributeError):
                item3=self.api.update(item3, metadata='some metadata')

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'METADATA PROFILE VIA REST')
            profile.title = "NEW PROFILE TITLE"
            profile_template_item = profile.item_template()
            self.assertEqual(profile_template_item.collectionId, 'provide-your-collection-id-here')
            profile1 = profile.copy()
            profile.delete()
            assert profile1

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(
                ('--service=%s retrieve collection FKMxUpYdV9N2J4XG' % SERVICE_URL)
                    .split())
            self.assertIsInstance(res, Collection)
コード例 #3
0
ファイル: test_api.py プロジェクト: mesbahs/pyimeji
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji

        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            album.release()
            album.link()
            album.unlink()
            album.discard('test')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')
            collection.dumps()
            repr(collection)
            collection2 = self.api.create(
                'collection', title='abc', profile='dhV6XK39_UPrItK5')
            collection2.add_item(referenceUrl='http://example.org/')
            assert collection2
            collection.release()
            collection2.delete()
            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__)
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.metadata = os.path.join(os.path.dirname(__file__), 'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'Research Data')

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(
                ('--service=%s retrieve collection FKMxUpYdV9N2J4XG' % SERVICE_URL)
                .split())
            self.assertIsInstance(res, Collection)
コード例 #4
0
class ApiTest(TestCase):
    def setUp(self):
        from pyimeji.api import Imeji
        self.api = Imeji(service_url=SERVICE_URL)

    def test_album(self):
        with HTTMock(imeji):
            albums = self.api.albums()
            album = self.api.album(list(albums.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in album.members()
            assert album.id in album.member('Wo1JI_oZNyrfxV_t')._path()
            if not self.api.service_mode_private:
                album.release()
                album = self.api.album(album.id)
                album.link(['Wo1JI_oZNyrfxV_t'])
                album.unlink(['Wo1JI_oZNyrfxV_t'])
                album.discard('test comment')

    def test_collection(self):
        with HTTMock(imeji):
            collections = self.api.collections()
            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            collection = self.api.collection(list(collections.keys())[0])
            assert 'Wo1JI_oZNyrfxV_t' in collection.items()
            self.assertEqual(collection.title, 'Research Data')
            collection.title = 'New title'
            self.assertIsInstance(collection.createdDate, datetime)
            self.assertEqual(collection.title, 'New title')

            collection_template_item = collection.item_template()
            self.assertEqual(collection_template_item.collectionId,
                             collection.id)

            collection.dumps()
            if not self.api.service_mode_private:
                collection.release()

            repr(collection)

            collection2 = self.api.create('collection',
                                          title='abc',
                                          profile='dhV6XK39_UPrItK5')
            assert collection2
            collection2.delete()

            collection3 = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            assert collection3

            collection.description = 'test description'
            collection = collection.save()
            assert collection

            collections = self.api.collections(size=500, q='Test', offset=0)
            self.assertEqual(self.api.total_number_of_results, 1)
            self.assertEqual(self.api.number_of_results, 1)
            self.assertEqual(self.api.offset, 0)
            self.assertEqual(self.api.size, 1)

            self.assertIn('FKMxUpYdV9N2J4XG', collections)
            with self.assertRaises(ValueError):
                self.api.collections(size=500, qquery='Test', offset=0)

    def test_item(self):
        with HTTMock(imeji):
            self.api.create('item', _file=__file__, filename='name.png')
            items = self.api.items()
            self.assertIn('Wo1JI_oZNyrfxV_t', items)
            item = self.api.item(list(items.keys())[0])
            self.assertEqual(item.filename, 'virr-image.tif')
            self.assertRaises(ValueError, self.api.item)
            self.assertRaises(AttributeError, getattr, item, 'abc')
            self.assertRaises(AttributeError, setattr, item, 'id', 'abc')
            item2 = self.api.create('item', collectionId='abc', file=__file__)
            assert item2
            item2.filename = os.path.join(
                os.path.dirname(os.path.abspath(__file__)), 'test.json')
            self.api.update(item2, filename='name.png')
            item2.delete()
            self.api.delete(item)
            collection = self.api.create(
                'collection',
                title='cde',
                profile=self.api.profile('dhV6XK39_UPrItK5'))
            item3 = collection.add_item(_file=__file__)
            self.assertEqual(item3.filename, 'virr-image.tif')
            item3.filename = 'name.png'
            item3.save()
            self.assertEqual(item3.filename, 'name.png')
            item3 = self.api.update(item3, filename='virr-image.tif')
            assert item3
            with self.assertRaises(AttributeError):
                item3 = self.api.update(item3, metadata='some metadata')

    def test_profile(self):
        with HTTMock(imeji):
            profile = self.api.profile('dhV6XK39_UPrItK5')
            self.assertEqual(profile.title, 'METADATA PROFILE VIA REST')
            profile.title = "NEW PROFILE TITLE"
            profile_template_item = profile.item_template()
            self.assertEqual(profile_template_item.collectionId,
                             'provide-your-collection-id-here')
            profile1 = profile.copy()
            profile.delete()
            assert profile1

    def test_cli(self):
        from pyimeji.cli import main
        from pyimeji.resource import Collection

        with HTTMock(imeji):
            res = main(('--service=%s retrieve collection FKMxUpYdV9N2J4XG' %
                        SERVICE_URL).split())
            self.assertIsInstance(res, Collection)