def test_pprint(self): """ Test pprint() method for human readable representation. """ rule1 = Rule(action="allow", src_tag="TEST", src_ports=[300, 400]) assert_equal("allow from tag TEST ports [300, 400]", rule1.pprint()) rule2 = Rule(action="allow", dst_tag="TEST", dst_ports=[300, 400], protocol="udp") assert_equal("allow udp to tag TEST ports [300, 400]", rule2.pprint()) rule3 = Rule(action="deny", src_net=IPNetwork("fd80::4:0/112"), dst_ports=[80], dst_net=IPNetwork("fd80::23:0/112")) assert_equal( "deny from fd80::4:0/112 to fd80::23:0/112 ports [80]", rule3.pprint()) rule4 = Rule(action="allow", protocol="icmp", icmp_type=8, src_net=IPNetwork("10/8")) assert_equal("allow icmp type 8 from 10.0.0.0/8", rule4.pprint())
def test_to_json(self): """ Test to_json() method. """ rule1 = Rule(action="deny", dst_net=IPNetwork("192.168.13.0/24")) json_str = rule1.to_json() expected = json.dumps({"action": "deny", "dst_net": "192.168.13.0/24"}) assert_equal(json_str, expected) rule2 = Rule(action="deny", src_net="192.168.13.0/24") json_str = rule2.to_json() expected = json.dumps({"action": "deny", "src_net": "192.168.13.0/24"}) assert_equal(json_str, expected)