Beispiel #1
0
 def test_invalid_name(self):
     data = {
         'name': 'name with a space',
         'description': 'with a windy description'
     }
     with pytest.raises(BadRequest):
         Group.from_json(data)
 def test_user_groups(self):
     grp1 = Group(name='test_1')
     grp2 = Group(name='test_2')
     self.test_user.groups.append(grp1)
     self.test_user.groups.append(grp2)
     with SessionScope(db):
         db.session.commit()
     self.test_user = db.session.merge(self.test_user)
     self.login()
     rv = self.client.get('/api/user/{}/groups'.format(TEST_USER_ID))
     self.assert200(rv)
     self.assertEquals(len(rv.json['groups']), 2)
Beispiel #3
0
 def test_user_groups(self):
     grp1 = Group(name='test_1')
     grp2 = Group(name='test_2')
     self.test_user.groups.append(grp1)
     self.test_user.groups.append(grp2)
     with SessionScope(db):
         db.session.commit()
     self.test_user = db.session.merge(self.test_user)
     self.login()
     response = self.client.get('/api/user/{}/groups'.format(TEST_USER_ID))
     assert response.status_code == 200
     assert len(response.json['groups']) == 2
    def test_group_post(self):
        grp = Group(name='test', description='test group')

        self.promote_user(role_name=ROLE.ADMIN)
        self.login()
        rv = self.client.post('/api/group/',
                          content_type='application/json',
                          data=json.dumps(grp.as_json()))
        self.assert200(rv)

        # Pull the posted group
        grp2 = Group.query.filter_by(name='test').one()
        self.assertEquals(grp2.name, grp.name)
        self.assertEquals(grp2.description, grp.description)
Beispiel #5
0
    def test_group_list(self):
        grp1 = Group(name='test_1')
        grp2 = Group(name='test_2')
        with SessionScope(db):
            db.session.add(grp1)
            db.session.add(grp2)
            db.session.commit()

        # use api to obtain list
        self.login()
        response = self.client.get('/api/group/')
        assert response.status_code == 200
        bundle = response.json
        assert len(bundle['groups']) == 2
    def test_group_list(self):
        grp1 = Group(name='test_1')
        grp2 = Group(name='test_2')
        with SessionScope(db):
            db.session.add(grp1)
            db.session.add(grp2)
            db.session.commit()

        # use api to obtain list
        self.login()
        rv = self.client.get('/api/group/')
        self.assert200(rv)
        bundle = rv.json
        self.assertEquals(len(bundle['groups']), 2)
Beispiel #7
0
    def test_group_post(self):
        grp = Group(name='test', description='test group')

        self.promote_user(role_name=ROLE.ADMIN.value)
        self.login()
        response = self.client.post('/api/group/',
                                    content_type='application/json',
                                    data=json.dumps(grp.as_json()))
        assert response.status_code == 200

        # Pull the posted group
        grp2 = Group.query.filter_by(name='test').one()
        assert grp2.name == grp.name
        assert grp2.description == grp.description
    def test_group_post(self):
        grp = Group(name='test', description='test group')

        self.promote_user(role_name=ROLE.ADMIN.value)
        self.login()
        response = self.client.post(
            '/api/group/', content_type='application/json',
            data=json.dumps(grp.as_json()))
        assert response.status_code == 200

        # Pull the posted group
        grp2 = Group.query.filter_by(name='test').one()
        assert grp2.name == grp.name
        assert grp2.description == grp.description
Beispiel #9
0
    def test_communicate(self):
        email_group = Group(name='test_email')
        foo = self.add_user(username='******')
        boo = self.add_user(username='******')
        foo, boo = map(db.session.merge, (foo, boo))
        foo.groups.append(email_group)
        boo.groups.append(email_group)
        data = {
            'protocol':
            'email',
            'group_name':
            'test_email',
            'subject':
            "Just a test, ignore",
            'message':
            'Review results at <a href="http://www.example.com">here</a>'
        }
        self.login()
        rv = self.client.post('/api/intervention/{}/communicate'.format(
            INTERVENTION.DECISION_SUPPORT_P3P.name),
                              content_type='application/json',
                              data=json.dumps(data))
        self.assert200(rv)
        self.assertEquals(rv.json['message'], 'sent')

        message = EmailMessage.query.one()
        set1 = set((foo.email, boo.email))
        set2 = set(message.recipients.split())
        self.assertEquals(set1, set2)
Beispiel #10
0
 def test_from_json(self):
     data = {
         'name': 'random_group_name',
         'description': 'with a windy description'
     }
     grp = Group.from_json(data)
     assert grp.name == data['name']
     assert grp.description == data['description']
 def test_from_json(self):
     data = {'name': 'random_group_name',
             'description': 'with a windy description'}
     grp = Group.from_json(data)
     self.assertEquals(grp.name,
                       data['name'])
     self.assertEquals(grp.description,
                       data['description'])
    def test_group_edit(self):
        grp = Group(name='test_grp_name', description='test group')
        with SessionScope(db):
            db.session.add(grp)
            db.session.commit()

        self.promote_user(role_name=ROLE.ADMIN)
        self.login()

        improved_grp = Group(name='changed_name', description='Updated')
        rv = self.client.put('/api/group/{}'.format('test_grp_name'),
                          content_type='application/json',
                          data=json.dumps(improved_grp.as_json()))
        self.assert200(rv)

        # Pull the posted group
        grp2 = Group.query.one()
        self.assertEquals(grp2.name, improved_grp.name)
        self.assertEquals(grp2.description, improved_grp.description)
Beispiel #13
0
    def test_group_edit(self):
        grp = Group(name='test_grp_name', description='test group')
        with SessionScope(db):
            db.session.add(grp)
            db.session.commit()

        self.promote_user(role_name=ROLE.ADMIN.value)
        self.login()

        improved_grp = Group(name='changed_name', description='Updated')
        response = self.client.put('/api/group/{}'.format('test_grp_name'),
                                   content_type='application/json',
                                   data=json.dumps(improved_grp.as_json()))
        assert response.status_code == 200

        # Pull the posted group
        grp2 = Group.query.one()
        assert grp2.name == improved_grp.name
        assert grp2.description == improved_grp.description
    def test_group_edit(self):
        grp = Group(name='test_grp_name', description='test group')
        with SessionScope(db):
            db.session.add(grp)
            db.session.commit()

        self.promote_user(role_name=ROLE.ADMIN.value)
        self.login()

        improved_grp = Group(name='changed_name', description='Updated')
        response = self.client.put(
            '/api/group/{}'.format('test_grp_name'),
            content_type='application/json',
            data=json.dumps(improved_grp.as_json()))
        assert response.status_code == 200

        # Pull the posted group
        grp2 = Group.query.one()
        assert grp2.name == improved_grp.name
        assert grp2.description == improved_grp.description
Beispiel #15
0
    def test_group_get(self):
        grp = Group(name='test')
        with SessionScope(db):
            db.session.add(grp)
            db.session.commit()
        grp = db.session.merge(grp)

        # use api to obtain
        self.login()
        response = self.client.get('/api/group/{}'.format(grp.name))
        assert response.status_code == 200
        assert response.json['group']['name'] == 'test'
    def test_group_get(self):
        grp = Group(name='test')
        with SessionScope(db):
            db.session.add(grp)
            db.session.commit()
        grp = db.session.merge(grp)

        # use api to obtain
        self.login()
        rv = self.client.get('/api/group/{}'.format(grp.name))
        self.assert200(rv)
        self.assertEquals(rv.json['group']['name'], 'test')
    def test_put_user_groups(self):
        grp1 = Group(name='test1')
        grp2 = Group(name='test2')
        self.test_user.groups.append(grp1)
        with SessionScope(db):
            db.session.add(grp2)
            db.session.commit()
        self.test_user = db.session.merge(self.test_user)

        # initially grp 1 is the only for the user
        self.assertEqual(self.test_user.groups[0].name, 'test1')
        grp2 = db.session.merge(grp2)

        # put only the 2nd group, should end up being the only one for the user
        self.login()
        rv = self.client.put('/api/user/{}/groups'.format(TEST_USER_ID),
                          content_type='application/json',
                          data=json.dumps({'groups': [grp2.as_json()]}))
        self.assert200(rv)
        self.assertEqual(len(self.test_user.groups), 1)
        self.assertEqual(self.test_user.groups[0].name, 'test2')
    def test_put_user_groups(self):
        grp1 = Group(name='test1')
        grp2 = Group(name='test2')
        self.test_user.groups.append(grp1)
        with SessionScope(db):
            db.session.add(grp2)
            db.session.commit()
        self.test_user = db.session.merge(self.test_user)

        # initially grp 1 is the only for the user
        assert self.test_user.groups[0].name == 'test1'
        grp2 = db.session.merge(grp2)

        # put only the 2nd group, should end up being the only one for the user
        self.login()
        response = self.client.put(
            '/api/user/{}/groups'.format(TEST_USER_ID),
            content_type='application/json',
            data=json.dumps({'groups': [grp2.as_json()]}))
        assert response.status_code == 200
        assert len(self.test_user.groups) == 1
        assert self.test_user.groups[0].name == 'test2'
 def test_from_json(self):
     data = {'name': 'random_group_name',
             'description': 'with a windy description'}
     grp = Group.from_json(data)
     assert grp.name == data['name']
     assert grp.description == data['description']
 def test_invalid_name(self):
     data = {'name': 'name with a space',
             'description': 'with a windy description'}
     with pytest.raises(BadRequest):
         Group.from_json(data)