def test_create_fw_rule_sets(self): params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor', u'fw-rule-sets': [u'3', u'8'] } sgs = [ doubles.make(self.mox, doubles.SecurityGroup, id=u'3', name='sg3'), doubles.make(self.mox, doubles.SecurityGroup, id=u'8', name='sg8') ] instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.security_groups.get(u'3').AndReturn(sgs[0]) self.tcs.compute.security_groups.get(u'8').AndReturn(sgs[1]) self.tcs.compute.servers.create( name=u'name', image=u'image', flavor=u'flavor', security_groups=['sg3', 'sg8'], key_name=None, admin_pass=None ).AndReturn('VM1') instances._instance_to_view('VM1').AndReturn('REPLY') self.mox.ReplayAll() data = self.interact(params) self.assertEquals(data, 'REPLY')
def test_create_fw_rule_sets(self): params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor', u'fw-rule-sets': [u'3', u'8'] } sgs = [ doubles.make(self.mox, doubles.SecurityGroup, id=u'3', name='sg3'), doubles.make(self.mox, doubles.SecurityGroup, id=u'8', name='sg8') ] instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.security_groups.get(u'3').AndReturn(sgs[0]) self.tcs.compute.security_groups.get(u'8').AndReturn(sgs[1]) self.tcs.compute.servers.create(name=u'name', image=u'image', flavor=u'flavor', security_groups=['sg3', 'sg8'], key_name=None, admin_pass=None).AndReturn('VM1') instances._instance_to_view('VM1').AndReturn('REPLY') self.mox.ReplayAll() data = self.interact(params) self.assertEquals(data, 'REPLY')
def test_create_expires(self): server = doubles.make(self.mox, doubles.Server, id=u'VMID', name=u'name') params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor', u'expires-at': u'2013-01-17T15:36:00Z' } instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.servers.create(name=u'name', image=u'image', flavor=u'flavor', security_groups=None, key_name=None, admin_pass=None).AndReturn(server) instances.InstanceDataDAO.create(u'VMID', expires_at=datetime( 2013, 1, 17, 15, 36, 0), remind_at=None) instances._instance_to_view(server).AndReturn('REPLY') self.mox.ReplayAll() data = self.interact(params) self.assertEquals(data, 'REPLY')
def test_create_expires(self): server = doubles.make(self.mox, doubles.Server, id=u'VMID', name=u'name') params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor', u'expires-at': u'2013-01-17T15:36:00Z' } instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.servers.create( name=u'name', image=u'image', flavor=u'flavor', security_groups=None, key_name=None, admin_pass=None ).AndReturn(server) instances.InstanceDataDAO.create(u'VMID', expires_at=datetime(2013, 1, 17, 15, 36, 0), remind_at=None) instances._instance_to_view(server).AndReturn('REPLY') self.mox.ReplayAll() data = self.interact(params) self.assertEquals(data, 'REPLY')
def test_create_fw_rule_set_not_found(self): params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor', u'fw-rule-sets': [u'3', u'8'] } instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.security_groups.get(u'3')\ .AndRaise(osc_exc.NotFound('failure')) self.mox.ReplayAll() data = self.interact(params, expected_status_code=400) self.assertEquals(u'3', data.get('element-value')) self.assertEquals(u'fw-rule-sets', data.get('element-name'))
def test_servers_for_user_work(self): self.mox.StubOutWithMock(instances, 'client_set_for_tenant') tenants = [doubles.make(self.mox, doubles.Tenant, id='P1'), doubles.make(self.mox, doubles.Tenant, id='P3')] tcs = self._fake_client_set_factory() self.fake_client_set.identity_public.tenants.list() \ .AndReturn(tenants) instances.client_set_for_tenant('P1').AndReturn(tcs) tcs.compute.servers.list().AndReturn(['V1', 'V2', 'V3']) self.mox.ReplayAll() with self.app.test_request_context('/v1/instances?my-projects=true' '&project:in=P1|P2'): self.install_fake_auth() instances.parse_collection_request(instances._SCHEMA.sortby) result = instances._servers_for_user() self.assertEquals(result, ['V1', 'V2', 'V3'])
def test_create_overlimit(self): params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor' } instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.servers.create(name=u'name', image=u'image', flavor=u'flavor', security_groups=None, key_name=None, admin_pass=None).AndRaise( osc_exc.OverLimit('failure')) self.mox.ReplayAll() data = self.interact(params, expected_status_code=403) self.assertTrue('limits' in data.get('message', '').lower())
def test_create(self): params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor', } instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.servers.create(name=u'name', image=u'image', flavor=u'flavor', security_groups=None, key_name=None, admin_pass=None).AndReturn('VM1') instances._instance_to_view('VM1').AndReturn('REPLY') self.mox.ReplayAll() data = self.interact(params) self.assertEquals(data, 'REPLY')
def test_servers_for_user_work(self): self.mox.StubOutWithMock(instances, 'client_set_for_tenant') tenants = [ doubles.make(self.mox, doubles.Tenant, id='P1'), doubles.make(self.mox, doubles.Tenant, id='P3') ] tcs = self._fake_client_set_factory() self.fake_client_set.identity_public.tenants.list() \ .AndReturn(tenants) instances.client_set_for_tenant('P1').AndReturn(tcs) tcs.compute.servers.list().AndReturn(['V1', 'V2', 'V3']) self.mox.ReplayAll() with self.app.test_request_context('/v1/instances?my-projects=true' '&project:in=P1|P2'): self.install_fake_auth() instances.parse_collection_request(instances._SCHEMA.sortby) result = instances._servers_for_user() self.assertEquals(result, ['V1', 'V2', 'V3'])
def test_create_overlimit(self): params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor' } instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.servers.create( name=u'name', image=u'image', flavor=u'flavor', security_groups=None, key_name=None, admin_pass=None ).AndRaise(osc_exc.OverLimit('failure')) self.mox.ReplayAll() data = self.interact(params, expected_status_code=403) self.assertTrue('limits' in data.get('message', '').lower())
def test_create(self): params = { u'project': u'PID', u'name': u'name', u'image': u'image', u'instance-type': u'flavor', } instances.client_set_for_tenant(u'PID').AndReturn(self.tcs) self.tcs.compute.servers.create( name=u'name', image=u'image', flavor=u'flavor', security_groups=None, key_name=None, admin_pass=None ).AndReturn('VM1') instances._instance_to_view('VM1').AndReturn('REPLY') self.mox.ReplayAll() data = self.interact(params) self.assertEquals(data, 'REPLY')