Exemplo n.º 1
0
    def setUp(self):
        super(RecordAccessTestCase, self).setUp()
        with self.app.test_request_context('/'):
            db.initialize()

            # Create some roles
            self.r1 = WBRoleModel(rolename='admin')
            db.session.add(self.r1)
            self.r2 = WBRoleModel(rolename='manager')
            db.session.add(self.r2)
            self.r3 = WBRoleModel(rolename='user')
            db.session.add(self.r3)
            db.session.commit()

            # Create some users
            self.u1 = WBUserModel(username='******', password='******', roles=[self.r1])
            db.session.add(self.u1)
            self.u2 = WBUserModel(username='******', password='******', roles=[self.r2])
            db.session.add(self.u2)
            self.u3 = WBUserModel(username='******', password='******', roles=[self.r3])
            db.session.add(self.u3)
            db.session.commit()

            self.u1 = self.u1.id
            self.u2 = self.u2.id
            self.u3 = self.u3.id

            self.r1 = self.r1.id
            self.r2 = self.r2.id
            self.r3 = self.r3.id

            # Create some data
            self.d1 = MyModel(title='a', owner_id=self.u1)
            db.session.add(self.d1)
            self.d2 = MyModel(title='a', owner_id=self.u1)
            db.session.add(self.d2)
            self.d3 = MyModel(title='a', owner_id=self.u2)
            db.session.add(self.d3)
            self.d4 = MyModel(title='a', owner_id=self.u3)
            db.session.add(self.d4)
            db.session.commit()

            self.d1 = self.d1.id
            self.d2 = self.d2.id
            self.d3 = self.d3.id
            self.d4 = self.d4.id

            # Add some access control records
            anon = WBRoleModel.get_anonymous_role_id()

            db.session.add_all(make_record_acl(record_types=['My'],
                                               record_ids=[self.d1, self.d2, self.d3, self.d4],
                                               user_role_ids=[self.r1],
                                               permissions=['read', 'update', 'delete']))

            db.session.add_all(make_record_acl(record_types=['My'],
                                               record_ids=[self.d1, self.d2, self.d3, self.d4],
                                               user_role_ids=[self.r2],
                                               permissions=['read']))

            db.session.add_all(make_record_acl(record_types=['My'],
                                               record_ids=[self.d3, self.d4],
                                               user_role_ids=[self.r2],
                                               permissions=['update', 'delete']))

            db.session.add_all(make_record_acl(record_types=['My'],
                                               record_ids=[self.d1, self.d2, self.d3, self.d4],
                                               user_role_ids=[self.r3],
                                               permissions=['read']))

            db.session.add_all(make_record_acl(record_types=['My'],
                                               record_ids=[self.d3, self.d4],
                                               user_role_ids=[anon],
                                               permissions=['read']))
            db.session.commit()
Exemplo n.º 2
0
    def setUp(self):
        super(RecordAccessTestCase, self).setUp()
        with self.app.test_request_context('/'):
            db.initialize()

            # Create some roles
            self.r1 = WBRoleModel(rolename='admin')
            db.session.add(self.r1)
            self.r2 = WBRoleModel(rolename='manager')
            db.session.add(self.r2)
            self.r3 = WBRoleModel(rolename='user')
            db.session.add(self.r3)
            db.session.commit()

            # Create some users
            self.u1 = WBUserModel(username='******', password='******', roles=[self.r1])
            db.session.add(self.u1)
            self.u2 = WBUserModel(username='******', password='******', roles=[self.r2])
            db.session.add(self.u2)
            self.u3 = WBUserModel(username='******', password='******', roles=[self.r3])
            db.session.add(self.u3)
            db.session.commit()

            self.u1 = self.u1.id
            self.u2 = self.u2.id
            self.u3 = self.u3.id

            self.r1 = self.r1.id
            self.r2 = self.r2.id
            self.r3 = self.r3.id

            # Create some data
            self.d1 = MyModel(title='a', owner_id=self.u1)
            db.session.add(self.d1)
            self.d2 = MyModel(title='a', owner_id=self.u1)
            db.session.add(self.d2)
            self.d3 = MyModel(title='a', owner_id=self.u2)
            db.session.add(self.d3)
            self.d4 = MyModel(title='a', owner_id=self.u3)
            db.session.add(self.d4)
            db.session.commit()

            self.d1 = self.d1.id
            self.d2 = self.d2.id
            self.d3 = self.d3.id
            self.d4 = self.d4.id

            # Add some access control records
            anon = WBRoleModel.get_anonymous_role_id()

            db.session.add_all(
                make_record_acl(
                    record_types=['My'],
                    record_ids=[self.d1, self.d2, self.d3, self.d4],
                    user_role_ids=[self.r1],
                    permissions=['read', 'update', 'delete']))

            db.session.add_all(
                make_record_acl(
                    record_types=['My'],
                    record_ids=[self.d1, self.d2, self.d3, self.d4],
                    user_role_ids=[self.r2],
                    permissions=['read']))

            db.session.add_all(
                make_record_acl(record_types=['My'],
                                record_ids=[self.d3, self.d4],
                                user_role_ids=[self.r2],
                                permissions=['update', 'delete']))

            db.session.add_all(
                make_record_acl(
                    record_types=['My'],
                    record_ids=[self.d1, self.d2, self.d3, self.d4],
                    user_role_ids=[self.r3],
                    permissions=['read']))

            db.session.add_all(
                make_record_acl(record_types=['My'],
                                record_ids=[self.d3, self.d4],
                                user_role_ids=[anon],
                                permissions=['read']))
            db.session.commit()
Exemplo n.º 3
0
def populate_db():
    db.initialize()

    anonymous_role_id = WBRoleModel.get_anonymous_role_id()

    admin_role_id = UserModel.get_admin_role_id()
    admin_role = WBRoleModel.query.get(admin_role_id);

    user_role_id = UserModel.get_user_role_id()
    user_role = WBRoleModel.query.get(user_role_id);

    data = {'username': "******", 'password': '******', 'name': "Alice Allard", 'roles': [user_role]}
    user = UserModel(**data)
    db.session.add(user)
    db.session.commit()
    alice_id = user.id

    data = {'username': "******", 'password': '******', 'name': "Bob Binette", 'roles': [user_role]}
    user = UserModel(**data)
    db.session.add(user)
    db.session.commit()
    bob_id = user.id

    data = {'username': "******", 'password': '******', 'name': "Charles Charette", 'roles': [admin_role]}
    user = UserModel(**data)
    db.session.add(user)
    db.session.commit()
    charles_id = user.id

    root_id = FolderNodeModel.get_root_id()

    data = {'title': 'usr', 'parent_node_id': root_id, 'owner_id': alice_id}
    vs = FolderNodeModel(**data)
    db.session.add(vs)

    data = {'title': 'var', 'parent_node_id': root_id, 'owner_id': alice_id}
    vs = FolderNodeModel(**data)
    db.session.add(vs)
    db.session.commit()
    var_id = vs.id

    data = {'title': 'home', 'parent_node_id': root_id, 'owner_id': bob_id}
    vs = FolderNodeModel(**data)
    db.session.add(vs)
    db.session.commit()
    home_id = vs.id

    data = [
        {'record_type': 'ContentNode', 'record_id': home_id, 'user_role_id': anonymous_role_id, 'permission': 'read'},
    ]
    for d in data:
        acl = RecordACLModel(**d)
        db.session.add(acl)
    db.session.commit()

    data = {'title': 'Lorem', 'body': 'Lorem ipsum dolor'}
    vs = DocumentModel(**data)
    db.session.add(vs)
    db.session.commit()

    data = {'document_id': vs.id, 'parent_node_id': home_id, 'owner_id': alice_id}
    doc = DocumentNodeModel(**data)
    db.session.add(doc)
    db.session.commit()

    data = {'title': 'Sit amet', 'body': 'Consectetur adipiscing elit'}
    vs = DocumentModel(**data)
    db.session.add(vs)
    db.session.commit()

    data = {'document_id': vs.id, 'parent_node_id': var_id, 'owner_id': alice_id}
    doc = DocumentNodeModel(**data)
    db.session.add(doc)
    db.session.commit()

    return 'DB Initialization Done'