xref: /netbsd-src/external/mpl/bind/dist/bin/tests/system/statschannel/generic.py (revision 154bfe8e089c1a0a4e9ed8414f08d3da90949162)
1############################################################################
2# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
3#
4# This Source Code Form is subject to the terms of the Mozilla Public
5# License, v. 2.0. If a copy of the MPL was not distributed with this
6# file, You can obtain one at http://mozilla.org/MPL/2.0/.
7#
8# See the COPYRIGHT file distributed with this work for additional
9# information regarding copyright ownership.
10############################################################################
11
12import helper
13
14
15def test_zone_timers_primary(fetch_zones, load_timers, **kwargs):
16
17    statsip = kwargs['statsip']
18    statsport = kwargs['statsport']
19    zonedir = kwargs['zonedir']
20
21    zones = fetch_zones(statsip, statsport)
22
23    for zone in zones:
24        (name, loaded, expires, refresh) = load_timers(zone, True)
25        mtime = helper.zone_mtime(zonedir, name)
26        helper.check_zone_timers(loaded, expires, refresh, mtime)
27
28
29def test_zone_timers_secondary(fetch_zones, load_timers, **kwargs):
30
31    statsip = kwargs['statsip']
32    statsport = kwargs['statsport']
33    zonedir = kwargs['zonedir']
34
35    zones = fetch_zones(statsip, statsport)
36
37    for zone in zones:
38        (name, loaded, expires, refresh) = load_timers(zone, False)
39        mtime = helper.zone_mtime(zonedir, name)
40        helper.check_zone_timers(loaded, expires, refresh, mtime)
41
42
43def test_zone_with_many_keys(fetch_zones, load_zone, **kwargs):
44
45    statsip = kwargs['statsip']
46    statsport = kwargs['statsport']
47
48    zones = fetch_zones(statsip, statsport)
49
50    for zone in zones:
51        name = load_zone(zone)
52        if name == 'manykeys':
53            helper.check_manykeys(name)
54
55
56def test_traffic(fetch_traffic, **kwargs):
57
58    statsip = kwargs['statsip']
59    statsport = kwargs['statsport']
60    port = kwargs['port']
61
62    data = fetch_traffic(statsip, statsport)
63    exp = helper.create_expected(data)
64
65    msg = helper.create_msg("short.example.", "TXT")
66    helper.update_expected(exp, "dns-udp-requests-sizes-received-ipv4", msg)
67    ans = helper.udp_query(statsip, port, msg)
68    helper.update_expected(exp, "dns-udp-responses-sizes-sent-ipv4", ans)
69    data = fetch_traffic(statsip, statsport)
70
71    helper.check_traffic(data, exp)
72
73    msg = helper.create_msg("long.example.", "TXT")
74    helper.update_expected(exp, "dns-udp-requests-sizes-received-ipv4", msg)
75    ans = helper.udp_query(statsip, port, msg)
76    helper.update_expected(exp, "dns-udp-responses-sizes-sent-ipv4", ans)
77    data = fetch_traffic(statsip, statsport)
78
79    helper.check_traffic(data, exp)
80
81    msg = helper.create_msg("short.example.", "TXT")
82    helper.update_expected(exp, "dns-tcp-requests-sizes-received-ipv4", msg)
83    ans = helper.tcp_query(statsip, port, msg)
84    helper.update_expected(exp, "dns-tcp-responses-sizes-sent-ipv4", ans)
85    data = fetch_traffic(statsip, statsport)
86
87    helper.check_traffic(data, exp)
88
89    msg = helper.create_msg("long.example.", "TXT")
90    helper.update_expected(exp, "dns-tcp-requests-sizes-received-ipv4", msg)
91    ans = helper.tcp_query(statsip, port, msg)
92    helper.update_expected(exp, "dns-tcp-responses-sizes-sent-ipv4", ans)
93    data = fetch_traffic(statsip, statsport)
94
95    helper.check_traffic(data, exp)
96