Esempio n. 1
0
    def test_Object(self):
        from pycdstar.resource import Object, Bitstream, ACL

        api = get_api(ret={'uid': 'abc'})
        obj = Object(api)
        assert api._req.called
        self.assertEquals(obj.id, 'abc')
        self.assertIn('uid', obj.read())

        api = get_api()
        obj = Object(api)
        assert obj.metadata
        obj.metadata = {}

        api = get_api(ret=MagicMock(status_code=404))
        obj = Object(api)
        obj.metadata = {}

        api = get_api(ret={
            'uid': 1, 'bitstreamid': 0, 'bitstream': [{'bitstreamid': 0}]})
        obj = Object(api)
        self.assertEquals(len(obj.bitstreams), 1)
        bs = obj.add_bitstream(fname=test_file('test.json'), name='test.json')
        self.assertIsInstance(bs, Bitstream)
        bs.update(fname=test_file('test.json'))
        with self.assertRaises(AttributeError):
            bs.read()  # FIXME: find way to actually test this!

        api = get_api(ret={'uid': 1, 'read': [], 'write': [], 'manage': []})
        obj = Object(api)
        acl = obj.acl
        self.assertIsInstance(acl, ACL)
        acl.update(read=['me'])
Esempio n. 2
0
    def test_(self):
        from pycdstar.util import jsonload, jsondumps

        obj = jsonload(test_file('test.json'))
        self.assertEquals(obj['int'], 5)
        jsondumps(obj)