コード例 #1
0
def test_success(mocked_query, mocked_time, aggregator):
    integration = DNSCheck('dns_check', {}, {})

    integration.check(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(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()
コード例 #2
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()
コード例 #3
0
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()
コード例 #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()
コード例 #5
0
def test_success_nxdomain(mocked_query, mocked_time, aggregator):
    integration = DNSCheck('dns_check', {}, [common.CONFIG_SUCCESS_NXDOMAIN])
    integration.check(common.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()
コード例 #6
0
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()