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
Пример #2
0
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")
Пример #5
0
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)
Пример #6
0
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")