def test_update(self): fakes.script_keystone_client() resp = fakes.FakeHTTPResponse( 202, 'Accepted', {}, 'The request is accepted for processing.') v1client.Client.json_request( 'PUT', '/stacks/teststack2/2', body=mox.IgnoreArg(), headers={'X-Auth-Key': 'password', 'X-Auth-User': '******'} ).AndReturn((resp, None)) fakes.script_heat_list() self.m.ReplayAll() template_file = os.path.join(TEST_VAR_DIR, 'minimal.template') create_text = self.shell( 'update teststack2/2 ' '--template-file=%s ' '--parameters="InstanceType=m1.large;DBUsername=wp;' 'DBPassword=verybadpassword;KeyName=heat_key;' 'LinuxDistribution=F17"' % template_file) required = [ 'stack_name', 'id', 'teststack2', '1' ] for r in required: self.assertRegexpMatches(create_text, r)
def test_create_url(self): fakes.script_keystone_client() resp = fakes.FakeHTTPResponse( 201, 'Created', {'location': 'http://no.where/v1/tenant_id/stacks/teststack2/2'}, None) v1client.Client.json_request( 'POST', '/stacks', body=mox.IgnoreArg(), headers={'X-Auth-Key': 'password', 'X-Auth-User': '******'} ).AndReturn((resp, None)) fakes.script_heat_list() self.m.ReplayAll() create_text = self.shell( 'create teststack ' '--template-url=http://no.where/minimal.template ' '--parameters="InstanceType=m1.large;DBUsername=wp;' 'DBPassword=verybadpassword;KeyName=heat_key;' 'LinuxDistribution=F17"') required = [ 'stack_name', 'id', 'teststack2', '2' ] for r in required: self.assertRegexpMatches(create_text, r)
def test_stack_delete_multiple(self): self._script_keystone_client() resp = fakes.FakeHTTPResponse( 204, 'No Content', {}, None) http.HTTPClient.raw_request( 'DELETE', '/stacks/teststack1/1', ).AndReturn((resp, None)) http.HTTPClient.raw_request( 'DELETE', '/stacks/teststack2/2', ).AndReturn((resp, None)) fakes.script_heat_list() self.m.ReplayAll() delete_text = self.shell('stack-delete teststack1/1 teststack2/2') required = [ 'stack_name', 'id', 'teststack', '1' ] for r in required: self.assertRegexpMatches(delete_text, r)
def test_stack_create(self): self._script_keystone_client() resp = fakes.FakeHTTPResponse( 201, 'Created', {'location': 'http://no.where/v1/tenant_id/stacks/teststack2/2'}, None) http.HTTPClient.json_request( 'POST', '/stacks', data=mox.IgnoreArg(), headers={'X-Auth-Key': 'password', 'X-Auth-User': '******'} ).AndReturn((resp, None)) fakes.script_heat_list() self.m.ReplayAll() template_file = os.path.join(TEST_VAR_DIR, 'minimal.template') create_text = self.shell( 'stack-create teststack ' '--template-file=%s ' '--parameters="InstanceType=m1.large;DBUsername=wp;' 'DBPassword=verybadpassword;KeyName=heat_key;' 'LinuxDistribution=F17"' % template_file) required = [ 'stack_name', 'id', 'teststack', '1' ] for r in required: self.assertRegexpMatches(create_text, r)
def test_list(self): fakes.script_keystone_client() fakes.script_heat_list() self.m.ReplayAll() list_text = self.shell('list') required = [ 'id', 'stack_status', 'creation_time', 'teststack', '1', 'CREATE_COMPLETE', 'IN_PROGRESS', ] for r in required: self.assertRegexpMatches(list_text, r)
def test_stack_list_with_args(self): self._script_keystone_client() expected_url = ('/stacks?' 'status=COMPLETE&status=FAILED' '&marker=fake_id&limit=2') fakes.script_heat_list(expected_url) self.m.ReplayAll() list_text = self.shell('stack-list' ' --limit 2' ' --marker fake_id' ' --filters=status=COMPLETE' ' --filters=status=FAILED') required = [ 'teststack', 'teststack2', ] for r in required: self.assertRegexpMatches(list_text, r)