예제 #1
0
    def test_setting_change_group(self) -> None:
        # Setup
        self.window = self.window_list.get_window(
            group_name_to_group_id('test_group'))
        self.window.type = WIN_TYPE_GROUP
        self.window.type_print = 'group'
        self.window.window_contacts = self.group_list.get_group(
            'test_group').members

        # Test
        for attr, header in [('log_messages', CH_LOGGING),
                             ('notifications', CH_NOTIFY),
                             ('file_reception', CH_FILE_RECV)]:
            for s in [ENABLE, ENABLE, DISABLE, DISABLE]:
                cmd_data = s + group_name_to_group_id('test_group')
                self.assertIsNone(ch_contact_s(cmd_data, *self.args, header))

                if header in [CH_LOGGING, CH_NOTIFY]:
                    self.assertEqual(
                        self.group_list.get_group(
                            'test_group').__getattribute__(attr),
                        (s == ENABLE))

                if header == CH_FILE_RECV:
                    for m in self.group_list.get_group('test_group').members:
                        self.assertEqual(m.file_reception, (s == ENABLE))
예제 #2
0
    def test_remove_group_by_id(self) -> None:
        self.assertEqual(len(self.group_list), len(self.group_names))

        # Test removing a non-existing group
        self.assertIsNone(self.group_list.remove_group_by_id(group_name_to_group_id('test_group_12')))
        self.assertEqual(len(self.group_list), len(self.group_names))

        # Test removing an existing group
        self.assertIsNone(self.group_list.remove_group_by_id(group_name_to_group_id('test_group_11')))
        self.assertEqual(len(self.group_list), len(self.group_names)-1)
예제 #3
0
    def setUp(self):
        self.unittest_dir = cd_unittest()
        self.master_key = MasterKey()
        self.settings = Settings()
        self.file_name = f'{DIR_USER_DATA}{self.settings.software_operation}_groups'
        self.contact_list = ContactList(self.master_key, self.settings)
        self.group_list = GroupList(self.master_key, self.settings,
                                    self.contact_list)
        self.nicks = [
            'Alice', 'Bob', 'Charlie', 'David', 'Eric', 'Fido', 'Guido',
            'Heidi', 'Ivan', 'Joana', 'Karol'
        ]
        self.group_names = [
            'test_group_1', 'test_group_2', 'test_group_3', 'test_group_4',
            'test_group_5', 'test_group_6', 'test_group_7', 'test_group_8',
            'test_group_9', 'test_group_10', 'test_group_11'
        ]
        members = list(map(create_contact, self.nicks))

        self.contact_list.contacts = members

        self.group_list.groups = \
            [Group(name         =name,
                   group_id     =group_name_to_group_id(name),
                   log_messages =False,
                   notifications=False,
                   members      =members,
                   settings     =self.settings,
                   store_groups =self.group_list.store_groups)
             for name in self.group_names]

        self.single_member_data_len = (
            GROUP_STATIC_LENGTH + self.settings.max_number_of_group_members *
            ONION_SERVICE_PUBLIC_KEY_LENGTH)
예제 #4
0
 def setUp(self):
     self.unittest_dir = cd_unittest()
     self.nicks = ['Alice', 'Bob', 'Charlie']
     members = list(map(create_contact, self.nicks))
     self.settings = Settings()
     self.group = Group(name='test_group',
                        group_id=group_name_to_group_id('test_group'),
                        log_messages=False,
                        notifications=False,
                        members=members,
                        settings=self.settings,
                        store_groups=lambda: None)
     ensure_dir(DIR_USER_DATA)
예제 #5
0
 def test_get_group_members(self):
     members = self.group_list.get_group_members(
         group_name_to_group_id('test_group_1'))
     for c in members:
         self.assertIsInstance(c, Contact)