Exemplo n.º 1
0
    def test_create_publishes_join_event(self, db_session, users):
        publish = mock.Mock(spec_set=[])
        svc = GroupService(db_session, users.get, publish=publish)

        group = svc.create('Dishwasher disassemblers', 'foobar.com', 'theresa')

        publish.assert_called_once_with('group-join', group.pubid, 'theresa')
Exemplo n.º 2
0
    def test_create_sets_group_ids(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group.id
        assert group.pubid
Exemplo n.º 3
0
    def test_create_sets_description_when_present(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir',
                           'all about ant eaters')

        assert group.description == 'all about ant eaters'
Exemplo n.º 4
0
    def test_member_join_is_idempotent(self, db_session, group, users):
        svc = GroupService(db_session, users.get)

        svc.member_join(group, 'theresa')
        svc.member_join(group, 'theresa')

        assert group.members.count(users['theresa']) == 1
Exemplo n.º 5
0
    def test_create_sets_group_ids(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group.id
        assert group.pubid
Exemplo n.º 6
0
    def test_create_publishes_join_event(self, db_session, users):
        publish = mock.Mock(spec_set=[])
        svc = GroupService(db_session, users.get, publish=publish)

        group = svc.create('Dishwasher disassemblers', 'foobar.com', 'theresa')

        publish.assert_called_once_with('group-join', group.pubid, 'theresa')
Exemplo n.º 7
0
    def test_member_join_is_idempotent(self, db_session, group, users):
        svc = GroupService(db_session, users.get)

        svc.member_join(group, 'theresa')
        svc.member_join(group, 'theresa')

        assert group.members.count(users['theresa']) == 1
Exemplo n.º 8
0
    def test_create_skips_setting_description_when_missing(
            self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group.description is None
Exemplo n.º 9
0
    def test_member_join_publishes_join_event(self, db_session, group, users):
        publish = mock.Mock(spec_set=[])
        svc = GroupService(db_session, users.get, publish=publish)
        group.pubid = 'abc123'

        svc.member_join(group, 'theresa')

        publish.assert_called_once_with('group-join', 'abc123', 'theresa')
Exemplo n.º 10
0
    def test_member_join_publishes_join_event(self, db_session, group, users):
        publish = mock.Mock(spec_set=[])
        svc = GroupService(db_session, users.get, publish=publish)
        group.pubid = 'abc123'

        svc.member_join(group, 'theresa')

        publish.assert_called_once_with('group-join', 'abc123', 'theresa')
Exemplo n.º 11
0
    def test_create_doesnt_add_group_creator_to_members_for_publisher_groups(
            self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans',
                           'foobar.com',
                           'cazimir',
                           type_='publisher')

        assert users['cazimir'] not in group.members
Exemplo n.º 12
0
    def test_member_leave_removes_user_from_group(self, db_session, users):
        svc = GroupService(db_session, users.get)
        group = Group(name='Theresa and her buddies',
                      authority='foobar.com',
                      creator=users['theresa'])
        group.members.append(users['cazimir'])

        svc.member_leave(group, 'cazimir')

        assert users['cazimir'] not in group.members
Exemplo n.º 13
0
    def test_member_leave_removes_user_from_group(self, db_session, users):
        svc = GroupService(db_session, users.get)
        group = Group(name='Theresa and her buddies',
                      authority='foobar.com',
                      creator=users['theresa'])
        group.members.append(users['cazimir'])

        svc.member_leave(group, 'cazimir')

        assert users['cazimir'] not in group.members
Exemplo n.º 14
0
    def test_create_sets_access_flags_for_group_types(self, db_session, users,
                                                      group_type, flag,
                                                      expected_value):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans',
                           'foobar.com',
                           'cazimir',
                           type_=group_type)

        assert getattr(group, flag) == expected_value
Exemplo n.º 15
0
    def test_create_sets_access_flags_for_group_types(self,
                                                      db_session,
                                                      users,
                                                      group_type,
                                                      flag,
                                                      expected_value):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir', type_=group_type)

        assert getattr(group, flag) == expected_value
Exemplo n.º 16
0
    def test_member_leave_publishes_leave_event(self, db_session, users):
        publish = mock.Mock(spec_set=[])
        svc = GroupService(db_session, users.get, publish=publish)
        group = Group(name='Donkey Trust',
                      authority='foobari.com',
                      creator=users['theresa'])
        group.members.append(users['cazimir'])
        group.pubid = 'abc123'

        svc.member_leave(group, 'cazimir')

        publish.assert_called_once_with('group-leave', 'abc123', 'cazimir')
Exemplo n.º 17
0
    def test_member_leave_publishes_leave_event(self, db_session, users):
        publish = mock.Mock(spec_set=[])
        svc = GroupService(db_session, users.get, publish=publish)
        group = Group(name='Donkey Trust',
                      authority='foobari.com',
                      creator=users['theresa'])
        group.members.append(users['cazimir'])
        group.pubid = 'abc123'

        svc.member_leave(group, 'cazimir')

        publish.assert_called_once_with('group-leave', 'abc123', 'cazimir')
Exemplo n.º 18
0
    def test_create_sets_description_when_present(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir', 'all about ant eaters')

        assert group.description == 'all about ant eaters'
Exemplo n.º 19
0
    def test_create_sets_group_authority(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group.authority == 'foobar.com'
Exemplo n.º 20
0
    def test_create_returns_group(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert isinstance(group, Group)
Exemplo n.º 21
0
def svc(db_session, usr_svc, publish):
    return GroupService(db_session, usr_svc, publish=publish)
Exemplo n.º 22
0
    def test_member_join_adds_user_to_group(self, db_session, group, users):
        svc = GroupService(db_session, users.get)

        svc.member_join(group, 'theresa')

        assert users['theresa'] in group.members
Exemplo n.º 23
0
    def test_create_returns_group(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert isinstance(group, Group)
Exemplo n.º 24
0
    def test_member_join_adds_user_to_group(self, db_session, group, users):
        svc = GroupService(db_session, users.get)

        svc.member_join(group, 'theresa')

        assert users['theresa'] in group.members
Exemplo n.º 25
0
 def service(self, db_session, users):
     return GroupService(db_session, users.get)
Exemplo n.º 26
0
    def test_create_sets_group_authority(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group.authority == 'foobar.com'
Exemplo n.º 27
0
    def test_create_raises_for_invalid_group_type(self, db_session, users):
        svc = GroupService(db_session, users.get)

        with pytest.raises(ValueError):
            svc.create('Anteater fans', 'foobar.com', 'cazimir', type_='foo')
Exemplo n.º 28
0
    def test_create_skips_setting_description_when_missing(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group.description is None
Exemplo n.º 29
0
    def test_create_raises_for_invalid_group_type(self, db_session, users):
        svc = GroupService(db_session, users.get)

        with pytest.raises(ValueError):
            svc.create('Anteater fans', 'foobar.com', 'cazimir', type_='foo')
Exemplo n.º 30
0
def svc(db_session, usr_svc):
    return GroupService(db_session, usr_svc)
Exemplo n.º 31
0
    def test_create_adds_group_to_session(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group in db_session
Exemplo n.º 32
0
    def test_create_doesnt_add_group_creator_to_members_for_publisher_groups(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir', type_='publisher')

        assert users['cazimir'] not in group.members
Exemplo n.º 33
0
    def test_create_adds_group_to_session(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert group in db_session
Exemplo n.º 34
0
    def test_create_adds_group_creator_to_members(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert users['cazimir'] in group.members
Exemplo n.º 35
0
 def service(self, db_session, users, publish):
     return GroupService(db_session, users.get, publish=publish)
Exemplo n.º 36
0
    def test_create_adds_group_creator_to_members(self, db_session, users):
        svc = GroupService(db_session, users.get)

        group = svc.create('Anteater fans', 'foobar.com', 'cazimir')

        assert users['cazimir'] in group.members