def _user_create(self, stack_name, project_id, user_id, resource_name='user', create_project=True, password=None): t = template_format.parse(user_template) stack = utils.parse_stack(t, stack_name=stack_name) rsrc = stack[resource_name] self.m.StubOutWithMock(stack_user.StackUser, 'keystone') stack_user.StackUser.keystone().MultipleTimes().AndReturn(self.fc) if create_project: self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'create_stack_domain_project') fakes.FakeKeystoneClient.create_stack_domain_project( stack.id).AndReturn(project_id) else: stack.set_stack_user_project_id(project_id) rsrc._store() self.m.StubOutWithMock(short_id, 'get_id') short_id.get_id(rsrc.id).AndReturn('aabbcc') self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'create_stack_domain_user') expected_username = '******' % (stack_name, resource_name, 'aabbcc') fakes.FakeKeystoneClient.create_stack_domain_user( username=expected_username, password=password, project_id=project_id).AndReturn(user_id) return rsrc
def _user_create(self, stack_name, project_id, user_id, resource_name='user', create_project=True): t = template_format.parse(user_template) stack = utils.parse_stack(t, stack_name=stack_name) rsrc = stack[resource_name] self.m.StubOutWithMock(stack_user.StackUser, 'keystone') stack_user.StackUser.keystone().MultipleTimes().AndReturn(self.fc) if create_project: self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'create_stack_domain_project') fakes.FakeKeystoneClient.create_stack_domain_project( stack.id).AndReturn(project_id) else: stack.set_stack_user_project_id(project_id) rsrc._store() self.m.StubOutWithMock(short_id, 'get_id') short_id.get_id(rsrc.id).AndReturn('aabbcc') self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'create_stack_domain_user') expected_username = '******' % (stack_name, resource_name, 'aabbcc') fakes.FakeKeystoneClient.create_stack_domain_user( username=expected_username, password=None, project_id=project_id).AndReturn(user_id) return rsrc
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) rsrc = user.User(resource_name, t['Resources'][resource_name], stack) rsrc._store() self.m.StubOutWithMock(short_id, 'get_id') short_id.get_id(rsrc.id).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='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 physical_resource_name(self): if self.id is None: return None return '%s-%s-%s' % (self.stack.name, self.name, short_id.get_id(self.id))
def physical_resource_name(self): if self.id is None: return None name = "%s-%s-%s" % (self.stack.name, self.name, short_id.get_id(self.id)) if self.physical_resource_name_limit: name = self.reduce_physical_resource_name(name, self.physical_resource_name_limit) return name
def test_instance_group_refid_rsrc_name(self): self.instance_group.id = '123' self.instance_group.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74' self.instance_group.action = 'CREATE' expected = '%s-%s-%s' % (self.instance_group.stack.name, self.instance_group.name, short_id.get_id(self.instance_group.uuid)) self.assertEqual(expected, self.instance_group.FnGetRefId())
def test_eip_allocation_refid_resource_name(self): t = template_format.parse(eip_template_ipassoc) stack = utils.parse_stack(t) rsrc = stack['IPAssoc'] rsrc.id = '123' rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74' rsrc.action = 'CREATE' expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name, short_id.get_id(rsrc.uuid)) self.assertEqual(expected, rsrc.FnGetRefId())
def test_floating_ip_assoc_refid_rsrc_name(self): t = template_format.parse(floating_ip_template_with_assoc) stack = utils.parse_stack(t) rsrc = stack['MyFloatingIPAssociation'] rsrc.id = '123' rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74' rsrc.action = 'CREATE' expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name, short_id.get_id(rsrc.uuid)) self.assertEqual(expected, rsrc.FnGetRefId())
def test_instance_group_refid_rsrc_name(self): self.instance_group.id = "123" self.instance_group.uuid = "9bfb9456-3fe8-41f4-b318-9dba18eeef74" self.instance_group.action = "CREATE" expected = "%s-%s-%s" % ( self.instance_group.stack.name, self.instance_group.name, short_id.get_id(self.instance_group.uuid), ) self.assertEqual(expected, self.instance_group.FnGetRefId())
def test_user_token(self): rsrc = self._user_create(stack_name='user_test123', project_id='aproject123', user_id='auser123', password='******') short_id.get_id(rsrc.id).AndReturn('aabbcc') self.m.StubOutWithMock(fakes.FakeKeystoneClient, 'stack_domain_user_token') username = '******' fakes.FakeKeystoneClient.stack_domain_user_token( username=username, project_id='aproject123', password='******').AndReturn('atoken123') self.m.ReplayAll() rsrc.password = '******' scheduler.TaskRunner(rsrc.create)() self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state) self.assertEqual('atoken123', rsrc._user_token()) self.m.VerifyAll()
def physical_resource_name(self): if self.id is None: return None name = '%s-%s-%s' % (self.stack.name, self.name, short_id.get_id(self.id)) if self.physical_resource_name_limit: name = self.reduce_physical_resource_name( name, self.physical_resource_name_limit) return name
def test_security_group_refid_rsrc_name(self, mock_using_neutron): mock_using_neutron.return_value = False t = template_format.parse(self.test_template_nova) stack = utils.parse_stack(t) rsrc = stack['the_sg'] rsrc.id = '123' rsrc.uuid = '9bfb9456-3fe8-41f4-b318-9dba18eeef74' rsrc.action = 'CREATE' expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name, short_id.get_id(rsrc.uuid)) self.assertEqual(expected, rsrc.FnGetRefId())
def physical_resource_name(self): if self.id is None or self.action == self.INIT: return None name = '%s-%s-%s' % (self.stack.name, self.name, short_id.get_id(self.uuid)) if self.physical_resource_name_limit: name = self.reduce_physical_resource_name( name, self.physical_resource_name_limit) return name
def test_launch_config_get_ref_by_id(self): t = template_format.parse(as_template) stack = utils.parse_stack(t, params=self.params) rsrc = stack['LaunchConfig'] self.stub_ImageConstraint_validate() self.assertIsNone(rsrc.validate()) scheduler.TaskRunner(rsrc.create)() self.assertEqual((rsrc.CREATE, rsrc.COMPLETE), rsrc.state) # use physical_resource_name when rsrc.id is not None self.assertIsNotNone(rsrc.id) expected = '%s-%s-%s' % (rsrc.stack.name, rsrc.name, short_id.get_id(rsrc.id)) self.assertEqual(expected, rsrc.FnGetRefId()) # otherwise use parent method rsrc.id = None self.assertIsNone(rsrc.resource_id) self.assertEqual('LaunchConfig', rsrc.FnGetRefId())
def test_get_id_uuid_endianness(self): source = uuid.UUID("ffffffff-00ff-4000-aaaa-aaaaaaaaaaaa") self.assertEqual("aaaa77777777", short_id.get_id(source))
def test_get_id_uuid_endianness(self): source = uuid.UUID('ffffffff-00ff-4000-aaaa-aaaaaaaaaaaa') self.assertEqual(short_id.get_id(source), 'aaaa77777777')
def test_get_id_uuid_0(self): source = uuid.UUID('00000000-0000-4000-bfff-ffffffffffff') self.assertEqual(short_id.get_id(source), 'aaaaaaaaaaaa')
def test_get_id_uuid_f(self): source = uuid.UUID('ffffffff-ffff-4fff-8000-000000000000') self.assertEqual(short_id.get_id(source), '777777777777')
def test_get_id_uuid_1(self): source = uuid.UUID('11111111-1111-4111-bfff-ffffffffffff') self.assertEqual(source.time, 0x111111111111111) self.assertEqual(short_id.get_id(source), 'ceirceirceir')
def test_get_id_string(self): id = short_id.get_id('11111111-1111-4111-bfff-ffffffffffff') self.assertEqual(id, 'ceirceirceir')
def test_get_id_uuid_f(self): source = uuid.UUID("ffffffff-ffff-4fff-8000-000000000000") self.assertEqual("777777777777", short_id.get_id(source))
def test_get_id_uuid_f(self): source = uuid.UUID('ffffffff-ffff-4fff-8000-000000000000') self.assertEqual('777777777777', short_id.get_id(source))
def test_get_id_string(self): id = short_id.get_id("11111111-1111-4111-bfff-ffffffffffff") self.assertEqual("ceirceirceir", id)
def test_get_id_uuid_0(self): source = uuid.UUID('00000000-0000-4000-bfff-ffffffffffff') self.assertEqual('aaaaaaaaaaaa', short_id.get_id(source))
def test_get_id_string(self): id = short_id.get_id('11111111-1111-4111-bfff-ffffffffffff') self.assertEqual('ceirceirceir', id)
def test_get_id_uuid_endianness(self): source = uuid.UUID('ffffffff-00ff-4000-aaaa-aaaaaaaaaaaa') self.assertEqual('aaaa77777777', short_id.get_id(source))
def test_get_id_uuid_1(self): source = uuid.UUID("11111111-1111-4111-bfff-ffffffffffff") self.assertEqual(0x111111111111111, source.time) self.assertEqual("ceirceirceir", short_id.get_id(source))
def test_get_id_uuid_0(self): source = uuid.UUID("00000000-0000-4000-bfff-ffffffffffff") self.assertEqual("aaaaaaaaaaaa", short_id.get_id(source))
def physical_resource_name(self): assert self.id is not None return '%s-%s-%s' % (self.stack.name, self.name, short_id.get_id(self.id))
def test_get_id_uuid_1(self): source = uuid.UUID('11111111-1111-4111-bfff-ffffffffffff') self.assertEqual(0x111111111111111, source.time) self.assertEqual('ceirceirceir', short_id.get_id(source))