def test_build_ip_rules(self):
        data = {
            'ip-rules': ['1.1.1.1', '6.0.0.0/16']
        }

        action = StorageSetFirewallAction(data)
        action.append = False
        rules = action._build_ip_rules(['1.1.1.1', '8.0.0.0/12'], data['ip-rules'])
        self.assertEqual(sorted(['1.1.1.1', '6.0.0.0/16']), sorted(rules))

        action.append = True
        rules = action._build_ip_rules(['1.1.1.1', '8.0.0.0/12'], data['ip-rules'])
        self.assertEqual(sorted(['1.1.1.1', '6.0.0.0/16', '8.0.0.0/12']), sorted(rules))
    def test_build_vnet_rules(self):
        data = {
            'virtual-network-rules': ['id1', 'id2']
        }

        action = StorageSetFirewallAction(data)
        action.append = False
        rules = action._build_vnet_rules(['Hello', 'World'], data['virtual-network-rules'])
        self.assertEqual(sorted(['id1', 'id2']), sorted(rules))

        action.append = True
        rules = action._build_vnet_rules(['Hello', 'World'], data['virtual-network-rules'])
        self.assertEqual(sorted(['id1', 'id2', 'Hello', 'World']), sorted(rules))
    def test_build_bypass_rules(self):
        data = {
            'type': 'set-firewall-rules',
            'bypass-rules': ['Logging', 'Metrics'],
        }

        action = StorageSetFirewallAction(data)
        action.append = False
        rules = action._build_bypass_rules(['Hello', 'World'], data['bypass-rules'])
        self.assertEqual('Logging,Metrics', rules)

        action.append = True
        rules = action._build_bypass_rules(['Hello', 'World'], data['bypass-rules'])
        self.assertEqual('Logging,Metrics,Hello,World', rules)
예제 #4
0
    def test_build_ip_rules_alias(self):
        data = {'ip-rules': ['ServiceTags.ApiManagement.WestUS', '6.0.0.0/16']}

        action = StorageSetFirewallAction(data)
        action.append = False
        rules = action._build_ip_rules(['1.1.1.1', '8.0.0.0/12'],
                                       data['ip-rules'])
        self.assertIn('6.0.0.0/16', rules)
        self.assertEqual(4, len(rules))

        # With append we expect all our specified values + others from the service tag.
        action.append = True
        rules = action._build_ip_rules(['1.1.1.1', '8.0.0.0/12'],
                                       data['ip-rules'])
        self.assertTrue({'6.0.0.0/16', '1.1.1.1', '8.0.0.0/12'} <= set(rules))
        self.assertEqual(6, len(rules))