Skip to content

Commit edabe7c

Browse files
committed
Added test cases for to_dict() and from_dict()
1 parent 0f8f08a commit edabe7c

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

tests/test_iptc.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -574,6 +574,23 @@ def test_rule_insert(self):
574574
self.failUnless(rule in crules)
575575
crules.remove(rule)
576576

577+
def test_rule_to_dict(self):
578+
rule = iptc.Rule6()
579+
rule.protocol = "tcp"
580+
rule.src = "::1"
581+
target = iptc.Target(rule, "ACCEPT")
582+
rule.target = target
583+
rule_d = rule.to_dict()
584+
self.assertEqual(rule_d, {"protocol": "tcp", "src": "::1/128", "target": "ACCEPT"})
585+
586+
def test_rule_from_dict(self):
587+
rule = iptc.Rule6()
588+
rule.protocol = "tcp"
589+
rule.src = "::1"
590+
target = iptc.Target(rule, "ACCEPT")
591+
rule.target = target
592+
rule2 = iptc.Rule6.from_dict({"protocol": "tcp", "src": "::1/128", "target": "ACCEPT"})
593+
self.assertEqual(rule, rule2)
577594

578595
class TestRule(unittest.TestCase):
579596
def setUp(self):
@@ -915,6 +932,23 @@ def test_rule_delete_nat(self):
915932
self.table_nat.commit()
916933
self.table_nat.refresh()
917934

935+
def test_rule_to_dict(self):
936+
rule = iptc.Rule()
937+
rule.protocol = "tcp"
938+
rule.src = "127.0.0.1"
939+
target = iptc.Target(rule, "ACCEPT")
940+
rule.target = target
941+
rule_d = rule.to_dict()
942+
self.assertEqual(rule_d, {"protocol": "tcp", "src": "127.0.0.1/255.255.255.255", "target": "ACCEPT"})
943+
944+
def test_rule_from_dict(self):
945+
rule = iptc.Rule()
946+
rule.protocol = "tcp"
947+
rule.src = "127.0.0.1"
948+
target = iptc.Target(rule, "ACCEPT")
949+
rule.target = target
950+
rule2 = iptc.Rule.from_dict({"protocol": "tcp", "src": "127.0.0.1/255.255.255.255", "target": "ACCEPT"})
951+
self.assertEqual(rule, rule2)
918952

919953
def suite():
920954
suite_table6 = unittest.TestLoader().loadTestsFromTestCase(TestTable6)

0 commit comments

Comments
 (0)