summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBob Halley <halley@dnspython.org>2023-03-12 07:55:36 -0700
committerBob Halley <halley@dnspython.org>2023-03-12 08:19:48 -0700
commitdc2355b2d91b753fcc45388dac150f8efce537a8 (patch)
tree6f04ee24f7cf36a4345a0c10f7c554887a1b97cf /tests
parente24a50c7105299b5d015c253fc0fbf7243877cdf (diff)
downloaddnspython-txn-names.tar.gz
Add names iteration to transactions via iterate_names().txn-names
Also make rdataset iteration more obvious by adding an explicit iterate_rdatasets() API.
Diffstat (limited to 'tests')
-rw-r--r--tests/test_transaction.py25
1 files changed, 18 insertions, 7 deletions
diff --git a/tests/test_transaction.py b/tests/test_transaction.py
index 8e2744a..80559bd 100644
--- a/tests/test_transaction.py
+++ b/tests/test_transaction.py
@@ -499,12 +499,23 @@ def test_zone_ooz_name(zone):
def test_zone_iteration(zone):
expected = {}
- for (name, rdataset) in zone.iterate_rdatasets():
+ for name, rdataset in zone.iterate_rdatasets():
expected[(name, rdataset.rdtype, rdataset.covers)] = rdataset
with zone.writer() as txn:
- actual = {}
- for (name, rdataset) in txn:
- actual[(name, rdataset.rdtype, rdataset.covers)] = rdataset
+ actual1 = {}
+ for name, rdataset in txn:
+ actual1[(name, rdataset.rdtype, rdataset.covers)] = rdataset
+ actual2 = {}
+ for name, rdataset in txn.iterate_rdatasets():
+ actual2[(name, rdataset.rdtype, rdataset.covers)] = rdataset
+ assert actual1 == expected
+ assert actual2 == expected
+
+
+def test_zone_name_iteration(zone):
+ expected = list(zone.keys())
+ with zone.writer() as txn:
+ actual = list(txn.iterate_names())
assert actual == expected
@@ -515,7 +526,7 @@ def test_iteration_in_replacement_txn(zone):
with zone.writer(True) as txn:
txn.replace(dns.name.empty, rds)
actual = {}
- for (name, rdataset) in txn:
+ for name, rdataset in txn:
actual[(name, rdataset.rdtype, rdataset.covers)] = rdataset
assert actual == expected
@@ -528,7 +539,7 @@ def test_replacement_commit(zone):
txn.replace(dns.name.empty, rds)
with zone.reader() as txn:
actual = {}
- for (name, rdataset) in txn:
+ for name, rdataset in txn:
actual[(name, rdataset.rdtype, rdataset.covers)] = rdataset
assert actual == expected
@@ -592,7 +603,7 @@ def test_vzone_multiple_versions(vzone):
def _dump(zone):
for v in zone._versions:
print("VERSION", v.id)
- for (name, n) in v.nodes.items():
+ for name, n in v.nodes.items():
for rdataset in n:
print(rdataset.to_text(name))