1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- # -*- coding: utf-8 -*-
- # import Python Libs
- from __future__ import absolute_import, print_function, unicode_literals
- # Import Salt Testing Libs
- from tests.support.mixins import LoaderModuleMockMixin
- from tests.support.case import TestCase
- # Import Salt Libs
- import salt.states.boto_secgroup as boto_secgroup
- from salt.utils.odict import OrderedDict
- class Boto_SecgroupTestCase(TestCase, LoaderModuleMockMixin):
- '''
- TestCase for salt.states.boto_secgroup module
- '''
- def setup_loader_modules(self):
- return {boto_secgroup: {}}
- def test__get_rule_changes_no_rules_no_change(self):
- '''
- tests a condition with no rules in present or desired group
- '''
- present_rules = []
- desired_rules = []
- self.assertEqual(boto_secgroup._get_rule_changes(desired_rules, present_rules), ([], []))
- def test__get_rule_changes_create_rules(self):
- '''
- tests a condition where a rule must be created
- '''
- present_rules = [OrderedDict([('ip_protocol', 'tcp'), ('from_port', 22), ('to_port', 22), ('cidr_ip', '0.0.0.0/0')])]
- desired_rules = [OrderedDict([('ip_protocol', 'tcp'), ('from_port', 22), ('to_port', 22), ('cidr_ip', '0.0.0.0/0')]),
- OrderedDict([('ip_protocol', 'tcp'), ('from_port', 80), ('to_port', 80), ('cidr_ip', '0.0.0.0/0')])]
- # can also use: rules_to_create = [rule for rule in desired_rules if rule not in present_rules]
- rules_to_create = [OrderedDict([('ip_protocol', 'tcp'), ('from_port', 80), ('to_port', 80), ('cidr_ip', '0.0.0.0/0')])]
- self.assertEqual(boto_secgroup._get_rule_changes(desired_rules, present_rules), ([], rules_to_create))
- def test__get_rule_changes_delete_rules(self):
- '''
- tests a condition where a rule must be deleted
- '''
- present_rules = [OrderedDict([('ip_protocol', 'tcp'), ('from_port', 22), ('to_port', 22), ('cidr_ip', '0.0.0.0/0')]),
- OrderedDict([('ip_protocol', 'tcp'), ('from_port', 80), ('to_port', 80), ('cidr_ip', '0.0.0.0/0')])]
- desired_rules = [OrderedDict([('ip_protocol', 'tcp'), ('from_port', 22), ('to_port', 22), ('cidr_ip', '0.0.0.0/0')])]
- # can also use: rules_to_delete = [rule for rule in present_rules if rule not in desired_rules]
- rules_to_delete = [OrderedDict([('ip_protocol', 'tcp'), ('from_port', 80), ('to_port', 80), ('cidr_ip', '0.0.0.0/0')])]
- self.assertEqual(boto_secgroup._get_rule_changes(desired_rules, present_rules), (rules_to_delete, []))
|