示例#1
0
def test_instance_timeout(mocked_query, mocked_time, aggregator):
    integration = DNSCheck('dns_check', {}, {})
    integration.check(CONFIG_INSTANCE_TIMEOUT)

    tags = ['instance:instance_timeout', 'resolved_hostname:www.example.org', 'nameserver:127.0.0.1', 'record_type:A']
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME, status=DNSCheck.CRITICAL,
                                    tags=tags, count=1, message="DNS resolution of www.example.org timed out")

    # Assert coverage for this check on this instance
    aggregator.assert_all_metrics_covered()
def test_invalid_config(aggregator):
    for instance, message in common.CONFIG_INVALID:
        integration = DNSCheck('dns_check', {}, [instance])
        integration.check(instance)
        aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME,
                                        status=DNSCheck.CRITICAL,
                                        count=1,
                                        message=message)

        # Assert coverage for this check on this instance
        aggregator.assert_all_metrics_covered()
示例#3
0
def test_success_nxdomain(mocked_query, mocked_time, aggregator):
    integration = DNSCheck('dns_check', {}, {})
    integration.check(CONFIG_SUCCESS_NXDOMAIN)

    tags = ['instance:nxdomain', 'nameserver:127.0.0.1', 'resolved_hostname:www.example.org', 'record_type:NXDOMAIN']
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME, status=DNSCheck.OK,
                                    tags=tags, count=1)
    aggregator.assert_metric('dns.response_time', tags=tags, count=1, value=1)

    # Assert coverage for this check on this instance
    aggregator.assert_all_metrics_covered()
示例#4
0
def test_success(mocked_query, mocked_time, aggregator, instance, tags):
    integration = DNSCheck('dns_check', {}, [instance])

    integration.check({})
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME,
                                    status=DNSCheck.OK,
                                    tags=tags,
                                    count=1)
    aggregator.assert_metric('dns.response_time', tags=tags, count=1, value=1)

    # Assert coverage for this check on this instance
    aggregator.assert_all_metrics_covered()
def test_default_timeout(mocked_query, mocked_time, aggregator):
    integration = DNSCheck('dns_check',
                           common.CONFIG_DEFAULT_TIMEOUT['init_config'],
                           common.CONFIG_DEFAULT_TIMEOUT['instances'])
    integration.check(common.CONFIG_DEFAULT_TIMEOUT['instances'][0])

    tags = [
        'instance:default_timeout', 'resolved_hostname:www.example.org',
        'nameserver:127.0.0.1', 'record_type:A'
    ]
    aggregator.assert_service_check(
        DNSCheck.SERVICE_CHECK_NAME,
        status=DNSCheck.CRITICAL,
        tags=tags,
        count=1,
        message="DNS resolution of www.example.org timed out",
    )

    # Assert coverage for this check on this instance
    aggregator.assert_all_metrics_covered()
def test_success(mocked_query, mocked_time, aggregator):
    integration = DNSCheck('dns_check', {}, common.CONFIG_SUCCESS['instances'])

    integration.check(common.CONFIG_SUCCESS['instances'][0])
    tags = [
        'instance:success', 'resolved_hostname:www.example.org',
        'nameserver:127.0.0.1', 'record_type:A'
    ]
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME,
                                    status=DNSCheck.OK,
                                    tags=tags,
                                    count=1)
    aggregator.assert_metric('dns.response_time', tags=tags, count=1, value=1)

    integration.check(common.CONFIG_SUCCESS['instances'][2])
    tags = [
        'instance:check_response_ip',
        'resolved_hostname:www.example.org',
        'nameserver:127.0.0.1',
        'record_type:A',
        'resolved_as:127.0.0.2',
    ]
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME,
                                    status=DNSCheck.OK,
                                    tags=tags,
                                    count=1)
    aggregator.assert_metric('dns.response_time', tags=tags, count=1, value=1)

    integration.check(common.CONFIG_SUCCESS['instances'][3])
    tags = [
        'instance:check_response_multiple_ips',
        'resolved_hostname:my.example.org',
        'nameserver:127.0.0.1',
        'record_type:A',
        'resolved_as:127.0.0.2,127.0.0.3,127.0.0.4',
    ]
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME,
                                    status=DNSCheck.OK,
                                    tags=tags,
                                    count=1)
    aggregator.assert_metric('dns.response_time', tags=tags, count=1, value=1)

    integration.check(common.CONFIG_SUCCESS['instances'][4])
    tags = [
        'instance:check_response_CNAME',
        'resolved_hostname:www.example.org',
        'nameserver:127.0.0.1',
        'record_type:CNAME',
        'resolved_as:alias.example.org',
    ]
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME,
                                    status=DNSCheck.OK,
                                    tags=tags,
                                    count=1)
    aggregator.assert_metric('dns.response_time', tags=tags, count=1, value=1)

    integration.check(common.CONFIG_SUCCESS['instances'][1])
    tags = [
        'instance:cname', 'resolved_hostname:www.example.org',
        'nameserver:127.0.0.1', 'record_type:CNAME'
    ]
    aggregator.assert_service_check(DNSCheck.SERVICE_CHECK_NAME,
                                    status=DNSCheck.OK,
                                    tags=tags,
                                    count=1)
    aggregator.assert_metric('dns.response_time', tags=tags, count=1, value=1)

    # Assert coverage for this check on this instance
    aggregator.assert_all_metrics_covered()
示例#7
0
def check():
    return DNSCheck('dns_check', {}, {})
示例#8
0
def check():
    return DNSCheck('dns_check', {}, [common.INSTANCE_INTEGRATION])