1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-29 15:42:04 +03:00

samba-tool dns: Test support of DNS wild card in names

As DNS wild cards are now supported we need to allow '*' characters in
the domain names.

Signed-off-by: Gary Lockyer <gary@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12952
This commit is contained in:
Gary Lockyer
2017-08-07 13:42:02 +12:00
committed by Garming Sam
parent edcbc99125
commit 3d2bd849f1
2 changed files with 70 additions and 0 deletions

View File

@ -659,3 +659,70 @@ class DnsCmdTestCase(SambaToolCmdTest):
self.zone, "testrecord2",
"A", self.testip, self.creds_string)
self.assertCmdFail(result)
def test_dns_wildcards(self):
"""
Ensure that DNS wild card entries can be added deleted and queried
"""
num_failures = 0
failure_msgs = []
records = [("*.", "MISS", "A", "1.1.1.1"),
("*.SAMDOM", "MISS.SAMDOM", "A", "1.1.1.2")]
for (name, miss, dnstype, record) in records:
try:
result, out, err = self.runsubcmd("dns", "add",
os.environ["SERVER"],
self.zone, name,
dnstype, record,
self.creds_string)
self.assertCmdSuccess(
result,
out,
err,
("Failed to add record %s (%s) with type %s."
% (name, record, dnstype)))
result, out, err = self.runsubcmd("dns", "query",
os.environ["SERVER"],
self.zone, name,
dnstype,
self.creds_string)
self.assertCmdSuccess(
result,
out,
err,
("Failed to query record %s with qualifier %s."
% (record, dnstype)))
# dns tool does not perform dns wildcard search if the name
# does not match
result, out, err = self.runsubcmd("dns", "query",
os.environ["SERVER"],
self.zone, miss,
dnstype,
self.creds_string)
self.assertCmdFail(
result,
("Failed to query record %s with qualifier %s."
% (record, dnstype)))
result, out, err = self.runsubcmd("dns", "delete",
os.environ["SERVER"],
self.zone, name,
dnstype, record,
self.creds_string)
self.assertCmdSuccess(
result,
out,
err,
("Failed to remove record %s with type %s."
% (record, dnstype)))
except AssertionError as e:
num_failures = num_failures + 1
failure_msgs.append(e)
if num_failures > 0:
for msg in failure_msgs:
print(msg)
self.fail("Failed to accept valid commands. %d total failures."
"Errors above." % num_failures)