def create_user(self, t, stack, resource_name, project_id='stackproject', user_id='dummy_user', password=None): self.m.StubOutWithMock(user.User, 'keystone') user.User.keystone().MultipleTimes().AndReturn(self.fc) self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'create_stack_domain_project') fakes.FakeKeystoneClient.create_stack_domain_project( stack.id).AndReturn(project_id) resource_defns = stack.t.resource_definitions(stack) rsrc = user.User(resource_name, resource_defns[resource_name], stack) rsrc.store() self.m.StubOutWithMock(short_id, 'get_id') short_id.get_id(rsrc.uuid).MultipleTimes().AndReturn('aabbcc') self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'create_stack_domain_user') fakes.FakeKeystoneClient.create_stack_domain_user( username=self.username, password=password, project_id=project_id).AndReturn(user_id) self.m.ReplayAll() self.assertIsNone(rsrc.validate()) scheduler.TaskRunner(rsrc.create)() self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state) return rsrc
def create_user(self, t, stack, resource_name, project_id, user_id='dummy_user', password=None): self.patchobject(user.User, 'keystone', return_value=self.fc) self.mock_create_project = self.patchobject( fake_ks.FakeKeystoneClient, 'create_stack_domain_project', return_value=project_id) resource_defns = stack.t.resource_definitions(stack) rsrc = user.User(resource_name, resource_defns[resource_name], stack) rsrc.store() self.patchobject(short_id, 'get_id', return_value='aabbcc') self.mock_create_user = self.patchobject(fake_ks.FakeKeystoneClient, 'create_stack_domain_user', return_value=user_id) self.assertIsNone(rsrc.validate()) scheduler.TaskRunner(rsrc.create)() self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state) return rsrc
def test_user_create_bad_policies(self): t = template_format.parse(user_policy_template) t['Resources']['CfnUser']['Properties']['Policies'] = ['NoExistBad'] stack = utils.parse_stack(t, stack_name=self.stack_name) resource_name = 'CfnUser' resource_defns = stack.t.resource_definitions(stack) rsrc = user.User(resource_name, resource_defns[resource_name], stack) self.assertRaises(exception.InvalidTemplateAttribute, rsrc.handle_create)