mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 17:09:03 +00:00
54 lines
2.5 KiB
Python
54 lines
2.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
|
|
# import Python Libs
|
|
from __future__ import absolute_import
|
|
|
|
# Import Salt Testing Libs
|
|
from salttesting.case import TestCase
|
|
from salttesting.helpers import ensure_in_syspath
|
|
|
|
ensure_in_syspath('../../')
|
|
|
|
# Import Salt Libs
|
|
from salt.states import boto_secgroup
|
|
from salt.utils.odict import OrderedDict
|
|
|
|
|
|
class Boto_SecgroupTestCase(TestCase):
|
|
'''
|
|
TestCase for salt.states.boto_secgroup module
|
|
'''
|
|
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, []))
|
|
|
|
if __name__ == '__main__':
|
|
from integration import run_tests
|
|
run_tests(Boto_SecgroupTestCase)
|