def test_its_key_is_value_dict_kv_multi_success(self, *args):
     step = MockedStep()
     step.context.stash = [{
         'type': 'aws_db_instance',
         'some_key': 'some_value',
         'values': {
             'tags': {
                 'tag_key_one': 'tag_value_one',
                 'tag_key_two': 'tag_value_two'
             }
         }
     }, {
         'type': 'aws_db_instance',
         'some_key': 'some_other_value',
         'values': {
             'tags': {
                 'tag_key_one': 'tag_value_one',
                 'tag_key_three': 'tag_value_three'
             }
         }
     }]
     its_key_is_value(step, 'tags', 'tag_key_one', 'tag_value_one')
     self.assertTrue(type(step.context.stash) is list)
     self.assertEqual(len(step.context.stash), 2)
     self.assertEqual(step.context.stash[0]['some_key'], 'some_value')
     self.assertEqual(step.context.stash[1]['some_key'], 'some_other_value')
Exemplo n.º 2
0
 def test_its_key_is_value_dict_kv_failure_2(self, *args):
     step = MockedStep()
     step.context.stash = [
         {
             'type': 'aws_db_instance',
             'some_key': 'some_value',
             'values': {
                 'tags': {
                     'tag_key_one': 'tag_value_one',
                     'tag_key_two': 'tag_value_two'
                 }
             }
         },
         {
             'type': 'aws_db_instance',
             'some_key': 'some_other_value',
             'values': {
                 'tags': {
                     'tag_key_one': 'tag_value_one',
                     'tag_key_three': 'tag_value_three'
                 }
             }
         }
     ]
     its_key_is_value(step, 'tags', 'tag_key_three', 'not_tag_key_three')
     self.assertEqual(step.state, 'skipped')
Exemplo n.º 3
0
    def test_its_key_is_value(self, test_case):
        step = MockedStep()
        step.context.stash = test_case.stash

        with patch('terraform_compliance.extensions.ext_radish_bdd.world',
                   return_value=MockedWorld()):
            its_key_is_value(step, *test_case.args)

        assert step.state == ('passed'
                              if test_case.expected_ids else 'skipped')

        if test_case.expected_ids:
            actual_ids = set(o['id'] for o in step.context.stash)
            assert actual_ids == test_case.expected_ids
Exemplo n.º 4
0
 def test_its_key_is_value_not_existent(self, *args):
     step = MockedStep()
     step.context.stash = [{
         'type': 'aws_db_instance',
         'some_key': 'some_value',
         'values': {
             'storage_encrypted': True
         }
     }, {
         'type': 'aws_db_instance',
         'some_key': 'some_other_value',
         'values': {
             'storage_encrypted': False
         }
     }]
     its_key_is_value(step, 'something_else', 'some_value')
     self.assertEqual(step.state, 'skipped')
Exemplo n.º 5
0
 def test_its_key_is_value_exist_in_values_bool(self):
     step = MockedStep()
     step.context.stash = [{
         'type': 'aws_db_instance',
         'some_key': 'some_value[0]',
         'values': {
             'storage_encrypted': True
         }
     }, {
         'type': 'aws_db_instance',
         'some_key': 'some_other_value',
         'values': {
             'storage_encrypted': False
         }
     }]
     its_key_is_value(step, 'storage_encrypted', True)
     self.assertTrue(type(step.context.stash) is list)
     self.assertEqual(step.context.stash[0]['some_key'], 'some_value[0]')