Last active
August 29, 2015 13:57
-
-
Save andersonvom/9746782 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import mock | |
from heat.common import exception | |
from heat.common import template_format | |
from heat.engine import resource | |
from heat.engine import scheduler | |
from heat.tests import utils | |
from heat.tests.common import HeatTestCase | |
from ..resources import secret # noqa | |
stack_template = ''' | |
heat_template_version: 2013-05-23 | |
description: Test template | |
resources: | |
secret: | |
type: OS::Barbican::Secret | |
properties: {} | |
''' | |
@mock.patch.object(secret.client, 'Client') | |
class TestSecret(HeatTestCase): | |
def setUp(self): | |
super(TestSecret, self).setUp() | |
utils.setup_dummy_db() | |
self.ctx = utils.dummy_context() | |
self.template = template_format.parse(stack_template) | |
self.stack = utils.parse_stack(self.template) | |
self.props = { | |
'name': 'foobar-secret', | |
'payload': 'foobar', | |
} | |
self.res_template = self.template['resources']['secret'] | |
self.res_template['properties'] = self.props | |
self._register_resources() | |
def _register_resources(self): | |
for res_name, res_class in secret.resource_mapping().iteritems(): | |
resource._register_class(res_name, res_class) | |
def test_create_secret(self, mock_client): | |
barbican = mock_client.return_value.barbican.return_value | |
resource = secret.Secret('secret', self.res_template, self.stack) | |
scheduler.TaskRunner(resource.create)() # ############ THIS LINE FAILS ############### | |
expected_state = (resource.CREATE, resource.COMPLETE) | |
self.assertEqual(expected_state, resource.state) | |
args = barbican.secrets.store.call_args[1] | |
self.assertEqual('foobar', args['payload']) | |
self.assertEqual('foobar-secret', args['name']) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import mock | |
from heat.common import exception | |
from heat.common import template_format | |
from heat.engine import resource | |
from heat.engine import scheduler | |
from heat.tests import utils | |
from heat.tests.common import HeatTestCase | |
from ..resources import secret # noqa | |
stack_template = ''' | |
heat_template_version: 2013-05-23 | |
description: Test template | |
resources: | |
secret: | |
Type: OS::Barbican::Secret | |
Properties: {} | |
''' | |
@mock.patch.object(secret.client, 'Client') | |
class TestSecret(HeatTestCase): | |
def setUp(self): | |
super(TestSecret, self).setUp() | |
utils.setup_dummy_db() | |
self.ctx = utils.dummy_context() | |
self.template = template_format.parse(stack_template) | |
self.stack = utils.parse_stack(self.template) | |
self.props = { | |
'name': 'foobar-secret', | |
'payload': 'foobar', | |
} | |
self.res_template = self.template['resources']['secret'] | |
self.res_template['Properties'] = self.props | |
self._register_resources() | |
def _register_resources(self): | |
for res_name, res_class in secret.resource_mapping().iteritems(): | |
resource._register_class(res_name, res_class) | |
def test_create_secret(self, mock_client): | |
barbican = mock_client.return_value.barbican.return_value | |
resource = secret.Secret('secret', self.res_template, self.stack) | |
scheduler.TaskRunner(resource.create)() | |
expected_state = (resource.CREATE, resource.COMPLETE) | |
self.assertEqual(expected_state, resource.state) | |
args = barbican.secrets.store.call_args[1] | |
self.assertEqual('foobar', args['payload']) | |
self.assertEqual('foobar-secret', args['name']) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Registering OS::Barbican::Secret -> <class 'barbican.resources.secret.Secret'> | |
Task create from Secret "secret" Stack "test_stack" [47bb5b17-a8df-4ae0-994d-86464f960235] starting | |
creating Secret "secret" Stack "test_stack" [47bb5b17-a8df-4ae0-994d-86464f960235] | |
Task create from Secret "secret" Stack "test_stack" [47bb5b17-a8df-4ae0-994d-86464f960235] running | |
CREATE : Secret "secret" Stack "test_stack" [47bb5b17-a8df-4ae0-994d-86464f960235] | |
Traceback (most recent call last): | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 405, in _do_action | |
self.state_set(action, self.IN_PROGRESS) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 823, in state_set | |
self._add_event(action, status, reason) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 762, in _add_event | |
self.name, self.type()) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 215, in type | |
return self.t['Type'] | |
KeyError: 'Type' | |
}}} | |
Traceback (most recent call last): | |
File "/Users/Thoughtworker/.pyenv/versions/2.7.3/lib/python2.7/site-packages/mock.py", line 1201, in patched | |
return func(*args, **keywargs) | |
#### THIS IS WHERE IT STARTS ##### | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/contrib/barbican/barbican/tests/test_secret.py", line 62, in test_create_secret | |
scheduler.TaskRunner(resource.create)() | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/scheduler.py", line 140, in __call__ | |
self.start(timeout=timeout) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/scheduler.py", line 161, in start | |
self.step() | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/scheduler.py", line 189, in step | |
next(self._runner) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 425, in _do_action | |
self.state_set(action, self.FAILED, str(failure)) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 823, in state_set | |
self._add_event(action, status, reason) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 762, in _add_event | |
self.name, self.type()) | |
File "/Users/Thoughtworker/development/rackspace/openstack/heat/heat/engine/resource.py", line 215, in type | |
return self.t['Type'] | |
KeyError: 'Type' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment