Example #1
0
def test_get_gdns_publisher_raises(conf_keys, exp_msg_snip, publisher_config,
                                   mocker, auth_client, caplog, metrics):
    """Raise when required config key(s) missing."""
    patch = 'gordon_gcp.plugins.service.gdns_publisher.gdns.GDNSClient'
    mocker.patch(patch)

    for conf_key in conf_keys:
        publisher_config.pop(conf_key)

    with pytest.raises(exceptions.GCPConfigError) as e:
        service.get_gdns_publisher(publisher_config, metrics)

    e.match('Invalid configuration:\n' + exp_msg_snip)
    assert len(conf_keys) == len(caplog.records)
Example #2
0
def test_get_gdns_publisher_bad_config(conf_key, bad_value, exp_msg_snip,
                                       publisher_config, mocker, auth_client,
                                       caplog, metrics):
    """Raise when config values are malformed."""
    patch = 'gordon_gcp.plugins.service.gdns_publisher.gdns.GDNSClient'
    mocker.patch(patch)

    publisher_config[conf_key] = bad_value

    with pytest.raises(exceptions.GCPConfigError) as e:
        service.get_gdns_publisher(publisher_config, metrics)

    e.match('Invalid configuration:\n' + exp_msg_snip)
    assert 1 == len(caplog.records)
Example #3
0
def test_get_gdns_publisher(conf_key, conf_value, expected, mocker,
                            publisher_config, auth_client, metrics):
    """Happy path to initialize a GDNSPublisher client."""
    patch = 'gordon_gcp.plugins.service.gdns_publisher.gdns.GDNSClient'
    mocker.patch(patch)

    if conf_value:
        publisher_config[conf_key] = conf_value

    client = service.get_gdns_publisher(publisher_config, metrics)

    assert isinstance(client, service.gdns_publisher.GDNSPublisher)
    assert publisher_config == client.config
    assert expected == getattr(client, conf_key)