コード例 #1
0
    def test_restriction(self):
        """JSONAlchemy - restriction"""
        from flask_login import login_user, logout_user
        from invenio.ext.login.legacy_user import UserInfo
        from invenio.modules.jsonalchemy.reader import Reader
        from invenio.modules.jsonalchemy.wrappers import SmartJson

        blob = {'_id': 1}

        json = Reader.translate(blob,
                                SmartJson,
                                model='test_access_base',
                                master_format='json',
                                namespace='testsuite')
        self.assertIsNotNone(json)
        self.assertTrue('restriction' in json)
        self.assertTrue('email' in json['restriction'])
        self.assertTrue(hasattr(json, 'is_authorized'))
        self.assertEqual(json.is_authorized()[0], 0)
        self.assertEqual(json.is_authorized(user_info=UserInfo(1))[0], 0)

        json['restriction']['email'] = UserInfo(1)['email']
        self.assertEqual(json.is_authorized()[0], 1)
        self.assertEqual(json.is_authorized(user_info=UserInfo(1))[0], 0)

        login_user(UserInfo(1))
        self.assertEqual(json.is_authorized()[0], 0)

        logout_user()
        self.assertEqual(json.is_authorized()[0], 1)
コード例 #2
0
    def test_create(self):
        from invenio.ext.login.legacy_user import UserInfo
        from invenio.modules.deposit.models import Deposition

        user = UserInfo(uid=1)
        d = Deposition.create(user)
        assert d.type == self.DefaultType
        assert Deposition.get(d.id).type == self.DefaultType
        d = Deposition.create(user, type=self.AnotherType)
        assert d.type == self.AnotherType
        assert Deposition.get(d.id).type == self.AnotherType
コード例 #3
0
    def test_create(self):
        """Test."""
        from invenio.ext.login.legacy_user import UserInfo
        from invenio_deposit.models import Deposition

        user = UserInfo(uid=1)
        d = Deposition.create(user)
        assert d.type == self.DefaultType
        assert Deposition.get(d.id).type == self.DefaultType
        d2 = Deposition.create(user, type=self.AnotherType)
        assert d2.type == self.AnotherType
        assert Deposition.get(d2.id).type == self.AnotherType

        # remove the records
        Deposition.delete(d)
        Deposition.delete(d2)
コード例 #4
0
 def __setstate__(self, state):
     """Set user info."""
     self._user = UserInfo(state)