def test_make_it(self): sot = endpoint.Endpoint(EXAMPLE) self.assertTrue(sot.is_enabled) self.assertEqual(EXAMPLE['id'], sot.id) self.assertEqual(EXAMPLE['interface'], sot.interface) self.assertEqual(EXAMPLE['region_id'], sot.region_id) self.assertEqual(EXAMPLE['service_id'], sot.service_id) self.assertEqual(EXAMPLE['url'], sot.url)
def test_get_endpoint(self): fake_endpoint = endpoint.Endpoint() self.mock_conn.get_endpoint.return_value = fake_endpoint utils = limit._EnforcerUtils() self.assertEqual(fake_endpoint, utils._endpoint) self.mock_conn.get_endpoint.assert_called_once_with(None)
def test_basic(self): sot = endpoint.Endpoint() self.assertEqual('endpoint', sot.resource_key) self.assertEqual('endpoints', sot.resources_key) self.assertEqual('/endpoints', sot.base_path) self.assertEqual('identity', sot.service.service_type) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_retrieve) self.assertTrue(sot.allow_update) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list)
def test_get_project_limits(self): fake_endpoint = endpoint.Endpoint() fake_endpoint.service_id = "service_id" fake_endpoint.region_id = "region_id" self.mock_conn.get_endpoint.return_value = fake_endpoint project_id = uuid.uuid4().hex # a is a project limit, b, c and d don't have one empty_iterator = iter([]) a = klimit.Limit() a.resource_name = "a" a.resource_limit = 1 a_iterator = iter([a]) self.mock_conn.limits.side_effect = [ a_iterator, empty_iterator, empty_iterator, empty_iterator ] # b has a limit, but c and d doesn't, a isn't ever checked b = registered_limit.RegisteredLimit() b.resource_name = "b" b.default_limit = 2 b_iterator = iter([b]) self.mock_conn.registered_limits.side_effect = [ b_iterator, empty_iterator, empty_iterator ] utils = limit._EnforcerUtils() limits = utils.get_project_limits(project_id, ["a", "b"]) self.assertEqual([('a', 1), ('b', 2)], limits) e = self.assertRaises(exception.ProjectOverLimit, utils.get_project_limits, project_id, ["c", "d"]) expected = ("Project %s is over a limit for " "[Resource c is over limit of 0 due to current usage 0 " "and delta 0, " "Resource d is over limit of 0 due to current usage 0 " "and delta 0]") self.assertEqual(expected % project_id, str(e)) self.assertEqual(project_id, e.project_id) self.assertEqual(2, len(e.over_limit_info_list)) over_c = e.over_limit_info_list[0] self.assertEqual("c", over_c.resource_name) over_d = e.over_limit_info_list[1] self.assertEqual("d", over_d.resource_name) self.assertEqual(0, over_d.limit) self.assertEqual(0, over_d.current_usage) self.assertEqual(0, over_d.delta)
def test_basic(self): sot = endpoint.Endpoint() self.assertEqual('endpoint', sot.resource_key) self.assertEqual('endpoints', sot.resources_key) self.assertEqual('/endpoints', sot.base_path) self.assertTrue(sot.allow_create) self.assertTrue(sot.allow_fetch) self.assertTrue(sot.allow_commit) self.assertTrue(sot.allow_delete) self.assertTrue(sot.allow_list) self.assertEqual('PATCH', sot.commit_method) self.assertDictEqual( { 'interface': 'interface', 'service_id': 'service_id', 'limit': 'limit', 'marker': 'marker', }, sot._query_mapping._mapping)
def setUp(self): super(KeystoneQuotaFixture, self).setUp() self.mock_conn = mock.MagicMock() limit._SDK_CONNECTION = self.mock_conn mock_gem = self.useFixture( pyfixtures.MockPatch('oslo_limit.limit.Enforcer.' '_get_enforcement_model')).mock mock_gem.return_value = 'flat' fake_endpoint = endpoint.Endpoint() fake_endpoint.service_id = "service_id" fake_endpoint.region_id = "region_id" self.mock_conn.get_endpoint.return_value = fake_endpoint def fake_limits(service_id, region_id, resource_name, project_id): this_limit = klimit.Limit() this_limit.resource_name = resource_name this_limit.resource_limit = self.defaults[resource_name] return iter([this_limit]) self.mock_conn.limits.side_effect = fake_limits
def get_endpoint(self, **data): return endpoint.Endpoint(data).get(self.session)
def update_endpoint(self, **data): return endpoint.Endpoint(data).update(self.session)
def delete_endpoint(self, **data): endpoint.Endpoint(data).delete(self.session)
def create_endpoint(self, **data): return endpoint.Endpoint(data).create(self.session)