def testDefaultRouterIsReturnedIfNoAclsAreDefined(self): auth_mgr = api_auth_manager.APIAuthorizationManager( [], DefaultDummyAuthManagerTestApiRouter) router = auth_mgr.GetRouterForUser("u1") self.assertEqual(router.__class__, DefaultDummyAuthManagerTestApiRouter)
def testDefaultRouterIsReturnedIfNoConfigFileDefined(self): """The default router is returned if no API.RouterACLConfigFile defined.""" with test_lib.ConfigOverrider({"API.RouterACLConfigFile": ""}): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u1") self.assertEqual(router.__class__, DefaultDummyAuthManagerTestApiRouter)
def testReturnsFirstRouterWhenMatchingByUser(self): acls = """ router: "DummyAuthManagerTestApiRouter" users: - "u1" - "u3" --- router: "DummyAuthManagerTestApiRouter2" users: - "u1" - "u2" --- router: "DummyAuthManagerTestApiRouter3" users: - "u2" - "u4" """ with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u2") self.assertEqual(router.__class__, DummyAuthManagerTestApiRouter2) router = auth_mgr.GetRouterForUser("u4") self.assertTrue(router.__class__, DummyAuthManagerTestApiRouter3)
def testMatchingByGroupWorks(self): acls = """ router: "DummyAuthManagerTestApiRouter2" groups: - "g1" """ with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u1") self.assertEqual(router.__class__, DummyAuthManagerTestApiRouter2)
def testReturnsDefaultOnNoMatchByUser(self): acls = """ router: "DummyAuthManagerTestApiRouter" users: - "u1" - "u2" """ with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u4") self.assertEqual(router.__class__, DefaultDummyAuthManagerTestApiRouter)
def testConfigurableRouterIsInitializedWithoutParameters(self): acls = """ router: "DummyAuthManagerTestConfigurableApiRouter" users: - "u1" """ with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u1") self.assertEqual(router.params.foo, "") self.assertEqual(router.params.bar, 0)
def testRaisesWhenNonConfigurableRouterInitializedWithParams(self): acls = """ router: "DummyAuthManagerTestApiRouter" router_params: foo: "Oh no!" bar: 42 users: - "u1" """ with self.assertRaises( api_auth_manager.ApiCallRouterDoesNotExpectParameters): with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): api_auth_manager.APIAuthorizationManager()
def testMatchesIfOneOfUsersIsMatching(self): acls = """ router: "DummyAuthManagerTestApiRouter" users: - "u1" - "u2" """ with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u1") self.assertEqual(router.__class__, DummyAuthManagerTestApiRouter) router = auth_mgr.GetRouterForUser("u2") self.assertEqual(router.__class__, DummyAuthManagerTestApiRouter)
def testReturnsDefaultRouterWhenNothingMatchesByGroup(self): acls = """ router: "DummyAuthManagerTestApiRouter" groups: - "g5" --- router: "DummyAuthManagerTestApiRouter2" groups: - "g6" """ with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u1") self.assertEqual(router.__class__, DefaultDummyAuthManagerTestApiRouter)
def testReturnsFirstMatchingRouterWhenItMatchesByGroupAndOtherByUser(self): acls = """ router: "DummyAuthManagerTestApiRouter" groups: - "g3" --- router: "DummyAuthManagerTestApiRouter2" users: - "u1" """ with mock.patch.object(__builtin__, "open", mock.mock_open(read_data=acls)): auth_mgr = api_auth_manager.APIAuthorizationManager() router = auth_mgr.GetRouterForUser("u1") self.assertEqual(router.__class__, DummyAuthManagerTestApiRouter)