@@ -47,6 +47,54 @@ def test_get_rules(self):
4747 self .assertEqual (result ["inbound_policy" ], "DROP" )
4848 self .assertEqual (result ["outbound_policy" ], "DROP" )
4949
50+ def test_get_rule_versions (self ):
51+ """
52+ Tests that you can submit a correct firewall rule versions view api request.
53+ """
54+
55+ firewall = Firewall (self .client , 123 )
56+
57+ with self .mock_get ("/networking/firewalls/123/history" ) as m :
58+ result = firewall .rule_versions
59+ self .assertEqual (m .call_url , "/networking/firewalls/123/history" )
60+ self .assertEqual (result ["data" ][0 ]["status" ], "enabled" )
61+ self .assertEqual (result ["data" ][0 ]["rules" ]["version" ], 1 )
62+ self .assertEqual (result ["data" ][0 ]["status" ], "enabled" )
63+ self .assertEqual (result ["data" ][1 ]["rules" ]["version" ], 2 )
64+
65+ def test_get_rule_version (self ):
66+ """
67+ Tests that you can submit a correct firewall rule version view api request.
68+ """
69+
70+ firewall = Firewall (self .client , 123 )
71+
72+ with self .mock_get ("/networking/firewalls/123/history/rules/2" ) as m :
73+ result = firewall .get_rule_version (2 )
74+ self .assertEqual (
75+ m .call_url , "/networking/firewalls/123/history/rules/2"
76+ )
77+ self .assertEqual (result ["inbound" ][0 ]["action" ], "ACCEPT" )
78+ self .assertEqual (
79+ result ["inbound" ][0 ]["addresses" ]["ipv4" ][0 ], "0.0.0.0/0"
80+ )
81+ self .assertEqual (
82+ result ["inbound" ][0 ]["addresses" ]["ipv6" ][0 ], "ff00::/8"
83+ )
84+ self .assertEqual (
85+ result ["inbound" ][0 ]["description" ],
86+ "A really cool firewall rule." ,
87+ )
88+ self .assertEqual (
89+ result ["inbound" ][0 ]["label" ], "really-cool-firewall-rule"
90+ )
91+ self .assertEqual (result ["inbound" ][0 ]["ports" ], "80" )
92+ self .assertEqual (result ["inbound" ][0 ]["protocol" ], "TCP" )
93+ self .assertEqual (result ["outbound" ], [])
94+ self .assertEqual (result ["inbound_policy" ], "ACCEPT" )
95+ self .assertEqual (result ["outbound_policy" ], "DROP" )
96+ self .assertEqual (result ["version" ], 2 )
97+
5098 def test_rdns_reset (self ):
5199 """
52100 Tests that the RDNS of an IP and be reset using an explicit null value.
0 commit comments