def test_returns_populated_groups(self, get_group): conn = Mock() # The following tom-foolery with returns and side_effect is to make sure # we don't have to bother with setting up get_group correctly, and so # we assume it works correctly to mock it here. returns = [[sentinel.testuser1, sentinel.testuser2], [sentinel.testuser3, sentinel.testuser4], [sentinel.testuser5, sentinel.testuser6]] expected = [sentinel.testuser1, sentinel.testuser2, sentinel.testuser3, sentinel.testuser4, sentinel.testuser5, sentinel.testuser6, ] def side_effect(*args): result = returns.pop(0) return result config = {'groups': self.test_groups, 'dir_guid_source': 'user_guid_source', 'dir_username_source': 'user_source', 'dir_fname_source': 'fname_source', 'dir_lname_source': 'lname_source',} groups = [("dn", Mock(),), ("dn", Mock(),), ("dn", Mock(),)] get_group.side_effect = side_effect self.assertEqual(ldap_reader.collect_groups(conn, config), expected)
def test_returns_empty_groups(self): conn = Mock() conn.search_s.return_value = [] config = {'groups': self.test_groups, 'dir_guid_source': 'user_guid_source', 'dir_username_source': 'user_source', 'dir_fname_source': 'fname_source', 'dir_lname_source': 'lname_source',} self.assertEqual(len(ldap_reader.collect_groups((conn, Mock()), config)), 0)