123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- # -*- coding: utf-8 -*-
- '''
- :codeauthor: Pedro Algarvio (pedro@algarvio.me)
- tests.integration.states.match
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- '''
- # Import python libs
- from __future__ import absolute_import, print_function, unicode_literals
- import os
- # Import Salt Testing libs
- from tests.support.case import ModuleCase
- from tests.support.paths import FILES
- from tests.support.helpers import skip_if_not_root
- # Import salt libs
- import salt.utils.files
- import salt.utils.stringutils
- STATE_DIR = os.path.join(FILES, 'file', 'base')
- class StateMatchTest(ModuleCase):
- '''
- Validate the file state
- '''
- @skip_if_not_root
- def test_issue_2167_ipcidr_no_AttributeError(self):
- subnets = self.run_function('network.subnets')
- self.assertTrue(len(subnets) > 0)
- top_filename = 'issue-2167-ipcidr-match.sls'
- top_file = os.path.join(STATE_DIR, top_filename)
- try:
- with salt.utils.files.fopen(top_file, 'w') as fp_:
- fp_.write(
- salt.utils.stringutils.to_str(
- 'base:\n'
- ' {0}:\n'
- ' - match: ipcidr\n'
- ' - test\n'.format(subnets[0])
- )
- )
- ret = self.run_function('state.top', [top_filename])
- self.assertNotIn(
- 'AttributeError: \'Matcher\' object has no attribute '
- '\'functions\'',
- ret
- )
- finally:
- os.remove(top_file)
|