def test_get_images_list(self): images_list = [mock.Mock(**x) for x in IMAGES_FIXTURE_ALL] with \ mock.patch('flask.current_app') as current_app,\ mock.patch('flask.g') as g,\ mock.patch('focus.clients.user_clients')\ as user_clients,\ mock.patch('focus.clients.admin_clients') as clients: current_app.config = { 'KEYSTONE_CONF': { 'admin_tenant_id': '1', }} g.tenant_id = None clients().glance.images.list.return_value = images_list result = images.get_images_list() self.assertEqual(len(result), 3) g.tenant_id = '6' user_clients.return_value.glance.images.list.return_value = \ images_list result = images.get_images_list() self.assertEqual(len(result), 33) global_images = filter( lambda x: x.owner == '1', result) self.assertEqual(len(global_images), 3) g.tenant_id = '13' user_clients.return_value.glance.images.list.return_value = \ images_list result = images.get_images_list() self.assertEqual(len(result), 15)
def test_get_images_list(self): images_list = [mock.Mock(**x) for x in IMAGES_FIXTURE_ALL] with \ mock.patch('flask.current_app') as current_app,\ mock.patch('flask.g') as g,\ mock.patch('focus.clients.user_clients')\ as user_clients,\ mock.patch('focus.clients.admin_clients') as clients: current_app.config = { 'KEYSTONE_CONF': { 'admin_tenant_id': '1', } } g.tenant_id = None clients().glance.images.list.return_value = images_list result = images.get_images_list() self.assertEqual(len(result), 3) g.tenant_id = '6' user_clients.return_value.glance.images.list.return_value = \ images_list result = images.get_images_list() self.assertEqual(len(result), 33) global_images = filter(lambda x: x.owner == '1', result) self.assertEqual(len(global_images), 3) g.tenant_id = '13' user_clients.return_value.glance.images.list.return_value = \ images_list result = images.get_images_list() self.assertEqual(len(result), 15)
def spawn_vm(): ''' Spawn VM in the tenant. ''' c = clients.user_clients(flask.g.tenant_id) images_list = images.get_images_list() flavors = c.compute.flavors.list() security_groups = c.compute.security_groups.list() key_pairs = c.compute.keypairs.list() form = forms.get_spawn_form(images_list, flavors, security_groups, key_pairs)() if form.validate_on_submit(): kw = dict(security_groups=form.security_groups.data) if form.keypair.data: kw['key_name'] = form.keypair.data if form.password.data: kw['admin_pass'] = form.password.data c.nova.servers.create(form.name.data, form.image.data, form.flavor.data, **kw) flask.flash('Virtual machine spawned.', 'success') return flask.redirect( flask.url_for('.show_tenant', tenant_id=flask.g.tenant_id)) return { 'form': form, 'tenant': flask.g.tenant, 'images': json.dumps([x._info for x in images_list]), 'flavors': json.dumps([x._info for x in flavors]), 'title': 'Virtual Machines', 'subtitle': 'Spawn new virtual machine' }
def spawn_vm(): ''' Spawn VM in the tenant. ''' c = clients.user_clients(flask.g.tenant_id) images_list = images.get_images_list() flavors = c.compute.flavors.list() security_groups = c.compute.security_groups.list() key_pairs = c.compute.keypairs.list() form = forms.get_spawn_form(images_list, flavors, security_groups, key_pairs)() if form.validate_on_submit(): kw = dict(security_groups=form.security_groups.data) if form.keypair.data: kw['key_name'] = form.keypair.data if form.password.data: kw['admin_pass'] = form.password.data c.nova.servers.create(form.name.data, form.image.data, form.flavor.data, **kw) flask.flash('Virtual machine spawned.', 'success') return flask.redirect(flask.url_for( '.show_tenant', tenant_id=flask.g.tenant_id)) return { 'form': form, 'tenant': flask.g.tenant, 'images': json.dumps([x._info for x in images_list]), 'flavors': json.dumps([x._info for x in flavors]), 'title': 'Virtual Machines', 'subtitle': 'Spawn new virtual machine' }