def setUp(self): request = DummyRequest() self.auth = ('user', 'pass') settings = { 'auth.backend_server': 'server', 'auth.user': self.auth[0], 'auth.password': self.auth[1], } kwargs = RemoteAccessBackend.configure(settings) self.backend = RemoteAccessBackend(request, **kwargs) self.requests = MagicMock() patch.dict('sys.modules', requests=self.requests).start()
class TestRemoteBackend(unittest.TestCase): """ Tests for the access backend that delegates calls to remote server """ def setUp(self): request = DummyRequest() self.auth = ('user', 'pass') settings = { 'auth.backend_server': 'server', 'auth.user': self.auth[0], 'auth.password': self.auth[1], } kwargs = RemoteAccessBackend.configure(settings) self.backend = RemoteAccessBackend(request, **kwargs) self.requests = MagicMock() patch.dict('sys.modules', requests=self.requests).start() def tearDown(self): patch.stopall() def test_verify(self): """ Delegate login to remote server """ verified = self.backend.verify_user('user', 'pass') params = {'username': '******', 'password': '******'} self.requests.get.assert_called_with('server/verify', params=params, auth=self.auth) self.assertEqual(verified, self.requests.get().json()) def test_user_groups(self): """ Delegate fetching user groups to remote server """ groups = self.backend.groups('dsa') params = {'username': '******'} self.requests.get.assert_called_with('server/groups', params=params, auth=self.auth) self.assertEqual(groups, self.requests.get().json()) def test_all_groups(self): """ Delegate fetching all groups to remote server """ groups = self.backend.groups() self.requests.get.assert_called_with('server/groups', params={}, auth=self.auth) self.assertEqual(groups, self.requests.get().json()) def test_group_members(self): """ Delegate fetching group members to remote server """ groups = self.backend.group_members('g1') params = {'group': 'g1'} self.requests.get.assert_called_with('server/group_members', params=params, auth=self.auth) self.assertEqual(groups, self.requests.get().json()) def test_admin(self): """ Query server to determine if user is admin """ is_admin = self.backend.is_admin('dsa') params = {'username': '******'} self.requests.get.assert_called_with('server/admin', params=params, auth=self.auth) self.assertEqual(is_admin, self.requests.get().json()) def test_all_group_perms(self): """ Query server for all group permissions on a package """ perms = self.backend.group_permissions('mypkg') params = {'package': 'mypkg'} self.requests.get.assert_called_with('server/group_permissions', params=params, auth=self.auth) self.assertEqual(perms, self.requests.get().json()) def test_all_user_perms(self): """ Query server for all user permissions on a package """ perms = self.backend.user_permissions('mypkg') params = {'package': 'mypkg'} self.requests.get.assert_called_with('server/user_permissions', params=params, auth=self.auth) self.assertEqual(perms, self.requests.get().json()) def test_user_data(self): """ Retrieve all users """ users = self.backend.user_data() self.requests.get.assert_called_with('server/user_data', params=None, auth=self.auth) self.assertEqual(users, self.requests.get().json()) def test_single_user_data(self): """ Retrieve user data """ users = self.backend.user_data('foo') self.requests.get.assert_called_with('server/user_data', params={'username': '******'}, auth=self.auth) self.assertEqual(users, self.requests.get().json()) def test_user_package_perms(self): """ Fetch all packages a user has permissions on """ users = self.backend.user_package_permissions('u1') params = {'username': '******'} self.requests.get.assert_called_with('server/user_package_permissions', params=params, auth=self.auth) self.assertEqual(users, self.requests.get().json()) def test_group_package_perms(self): """ Fetch all packages a group has permissions on """ groups = self.backend.group_package_permissions('g1') params = {'group': 'g1'} self.requests.get.assert_called_with( 'server/group_package_permissions', params=params, auth=self.auth) self.assertEqual(groups, self.requests.get().json())
class TestRemoteBackend(unittest.TestCase): """ Tests for the access backend that delegates calls to remote server """ def setUp(self): request = DummyRequest() self.auth = ('user', 'pass') settings = { 'auth.backend_server': 'server', 'auth.user': self.auth[0], 'auth.password': self.auth[1], } kwargs = RemoteAccessBackend.configure(settings) self.backend = RemoteAccessBackend(request, **kwargs) self.requests = MagicMock() patch.dict('sys.modules', requests=self.requests).start() def tearDown(self): patch.stopall() def test_verify(self): """ Delegate login to remote server """ verified = self.backend.verify_user('user', 'pass') params = {'username': '******', 'password': '******'} self.requests.get.assert_called_with('server/verify', params=params, auth=self.auth) self.assertEqual(verified, self.requests.get().json()) def test_user_groups(self): """ Delegate fetching user groups to remote server """ groups = self.backend.groups('dsa') params = {'username': '******'} self.requests.get.assert_called_with( 'server/groups', params=params, auth=self.auth) self.assertEqual(groups, self.requests.get().json()) def test_all_groups(self): """ Delegate fetching all groups to remote server """ groups = self.backend.groups() self.requests.get.assert_called_with( 'server/groups', params={}, auth=self.auth) self.assertEqual(groups, self.requests.get().json()) def test_group_members(self): """ Delegate fetching group members to remote server """ groups = self.backend.group_members('g1') params = {'group': 'g1'} self.requests.get.assert_called_with('server/group_members', params=params, auth=self.auth) self.assertEqual(groups, self.requests.get().json()) def test_admin(self): """ Query server to determine if user is admin """ is_admin = self.backend.is_admin('dsa') params = {'username': '******'} self.requests.get.assert_called_with('server/admin', params=params, auth=self.auth) self.assertEqual(is_admin, self.requests.get().json()) def test_all_group_perms(self): """ Query server for all group permissions on a package """ perms = self.backend.group_permissions('mypkg') params = {'package': 'mypkg'} self.requests.get.assert_called_with('server/group_permissions', params=params, auth=self.auth) self.assertEqual(perms, self.requests.get().json()) def test_group_perms(self): """ Query server for group permissions on a package """ perms = self.backend.group_permissions('mypkg', 'grp') params = {'package': 'mypkg', 'group': 'grp'} self.requests.get.assert_called_with('server/group_permissions', params=params, auth=self.auth) self.assertEqual(perms, self.requests.get().json()) def test_all_user_perms(self): """ Query server for all user permissions on a package """ perms = self.backend.user_permissions('mypkg') params = {'package': 'mypkg'} self.requests.get.assert_called_with('server/user_permissions', params=params, auth=self.auth) self.assertEqual(perms, self.requests.get().json()) def test_user_perms(self): """ Query server for a user's permissions on a package """ perms = self.backend.user_permissions('mypkg', 'u1') params = {'package': 'mypkg', 'username': '******'} self.requests.get.assert_called_with('server/user_permissions', params=params, auth=self.auth) self.assertEqual(perms, self.requests.get().json()) def test_user_perms_with_username(self): """ Query server for a user's permissions on a package """ perms = self.backend.user_permissions('mypkg', 'a') params = {'package': 'mypkg', 'username': '******'} self.requests.get.assert_called_with('server/user_permissions', params=params, auth=self.auth) self.assertEqual(perms, self.requests.get().json()) def test_user_data(self): """ Retrieve all users """ users = self.backend.user_data() self.requests.get.assert_called_with('server/user_data', params=None, auth=self.auth) self.assertEqual(users, self.requests.get().json()) def test_single_user_data(self): """ Retrieve user data """ users = self.backend.user_data('foo') self.requests.get.assert_called_with('server/user_data', params={'username': '******'}, auth=self.auth) self.assertEqual(users, self.requests.get().json()) def test_user_package_perms(self): """ Fetch all packages a user has permissions on """ users = self.backend.user_package_permissions('u1') params = {'username': '******'} self.requests.get.assert_called_with('server/user_package_permissions', params=params, auth=self.auth) self.assertEqual(users, self.requests.get().json()) def test_group_package_perms(self): """ Fetch all packages a group has permissions on """ groups = self.backend.group_package_permissions('g1') params = {'group': 'g1'} self.requests.get.assert_called_with( 'server/group_package_permissions', params=params, auth=self.auth) self.assertEqual(groups, self.requests.get().json())