def test_save_throws_ValueError_if_aws_object_and_not_overwrite(self):
     fake_boto3_session, put_parameter = self.get_mock_boto3_session(
         response={'Parameters': [{
             'Type': 'String'
         }]})
     with Replacer() as r:
         r.replace('deployfish.aws.systems_manager.get_boto3_session',
                   fake_boto3_session)
         p = UnboundParameter('foo.bar.BAZ', kms_key_id='my_key')
         p.value = 'foobar'
         with self.assertRaises(ValueError):
             p.save()
         put_parameter.assert_not_called()
 def test_save_saves_if_no_aws_object(self):
     fake_boto3_session, put_parameter = self.get_mock_boto3_session()
     with Replacer() as r:
         r.replace('deployfish.aws.systems_manager.get_boto3_session',
                   fake_boto3_session)
         p = UnboundParameter('foo.bar.BAZ', kms_key_id='my_key')
         p.value = 'foobar'
         p.save()
         put_parameter.assert_called_once()
         compare(
             put_parameter.call_args,
             call(Name='foo.bar.BAZ',
                  Value='foobar',
                  Overwrite=True,
                  Type='SecureString',
                  KeyId='my_key'))