def test_ensure_present_when_absent_multi_region(): """ ensure_present when the endpoint is absent in this region """ # Setup keystone = setup_multi_region() # Mock out the service and endpoint creates endpoint = mock.Mock( id="622386d836b14fd986d9cec7504d208a", publicurl="http://192.168.206.130:8774/v2/%(tenant_id)s", internalurl="http://192.168.206.130:8774/v2/%(tenant_id)s", adminurl="http://192.168.206.130:8774/v2/%(tenant_id)s", region="RegionOne") keystone.endpoints.create = mock.Mock(return_value=endpoint) service = mock.Mock(id="a7ebed35051147d4abbe2ee049eeb346") keystone.services.create = mock.Mock(return_value=service) keystone.endpoints.delete = mock.Mock() name = "nova" service_type = "compute" description = "Compute Service" public_url = "http://192.168.206.130:8774/v2/%(tenant_id)s" internal_url = "http://192.168.206.130:8774/v2/%(tenant_id)s" admin_url = "http://192.168.206.130:8774/v2/%(tenant_id)s" region = "RegionOne" ignore_other_regions = True check_mode = False # Code under test (changed, service_id, endpoint_id) = keystone_service.ensure_present( keystone, name, service_type, description, public_url, internal_url, admin_url, region, ignore_other_regions, check_mode) # Assertions assert changed assert_equal(service_id, "a7ebed35051147d4abbe2ee049eeb346") assert not keystone.services.create.called assert_equal(endpoint_id, "622386d836b14fd986d9cec7504d208a") keystone.endpoints.create.assert_called_with( service_id="a7ebed35051147d4abbe2ee049eeb346", publicurl="http://192.168.206.130:8774/v2/%(tenant_id)s", internalurl="http://192.168.206.130:8774/v2/%(tenant_id)s", adminurl="http://192.168.206.130:8774/v2/%(tenant_id)s", region="RegionOne") assert not keystone.endpoints.delete.called
def test_ensure_present_when_present_check(): """ ensure_present when the service and endpoint are present, check mode""" # Setup keystone = setup() name = "keystone" service_type = "identity" description = "Keystone Identity Service" region = "RegionOne" ignore_other_regions = False public_url = "http://192.168.206.130:5000/v2.0" internal_url = "http://192.168.206.130:5000/v2.0" admin_url = "http://192.168.206.130:35357/v2.0" check_mode = True # Code under test (changed, service_id, endpoint_id) = keystone_service.ensure_present( keystone, name, service_type, description, public_url, internal_url, admin_url, region, ignore_other_regions, check_mode) # Assertions assert not changed assert_equal(service_id, None) assert_equal(endpoint_id, None)
def test_ensure_present_when_present_multi_region(): """ ensure_present when the service and endpoint are present in region """ # Setup keystone = setup_multi_region() name = "keystone" service_type = "identity" description = "Keystone Identity Service" region = "RegionOne" ignore_other_regions = True public_url = "http://192.168.206.130:5000/v2.0" internal_url = "http://192.168.206.130:5000/v2.0" admin_url = "http://192.168.206.130:35357/v2.0" check_mode = False # Code under test (changed, service_id, endpoint_id) = keystone_service.ensure_present( keystone, name, service_type, description, public_url, internal_url, admin_url, region, ignore_other_regions, check_mode) # Assertions assert not changed assert_equal(service_id, "b6a7ff03f2574cd9b5c7c61186e0d781") assert_equal(endpoint_id, "600759628a214eb7b3acde39b1e85180")