def test_update_positive(self, options): """@Test: Compute Resource positive update @Feature: Compute Resource update @Assert: Compute Resource successfully updated """ comp_res = make_compute_resource() # update Compute Resource result = ComputeResource.update( dict({'name': comp_res['name']}, **options)) self.assertEqual(result.return_code, 0) self.assertEqual(len(result.stderr), 0) comp_res['name'] = options.get('new-name', comp_res['name']) comp_res.update(options) # check updated values result = ComputeResource.info({'id': comp_res['id']}) self.assertEqual(result.return_code, 0) self.assertEqual(result.stdout['description'], comp_res['description']) self.assertEqual(result.stdout['name'], comp_res['name']) self.assertEqual(result.stdout['provider'].lower(), comp_res['provider'].lower()) self.assertEqual(result.stdout['url'], comp_res['url'])
def test_positive_update_name(self): """Compute Resource positive update :id: 213d7f04-4c54-4985-8ca0-d2a1a9e3b305 :expectedresults: Compute Resource successfully updated :CaseImportance: Critical """ for options in valid_update_data(): with self.subTest(options): comp_res = make_compute_resource() options.update({'name': comp_res['name']}) # update Compute Resource ComputeResource.update(options) # check updated values result = ComputeResource.info({'id': comp_res['id']}) self.assertEqual( result['description'], options.get('description', comp_res['description']) ) self.assertEqual( result['name'], options.get('new-name', comp_res['name']) ) self.assertEqual( result['url'], options.get('url', comp_res['url']) ) self.assertEqual( result['provider'].lower(), comp_res['provider'].lower() )
def test_positive_update_name(self): """Update Openstack compute resource name :id: 16eb2def-34d5-49c5-be22-88139fef7f97 :steps: 1. Create a osp compute resource 2. Update the name of the created compute resource :expectedresults: Compute Resource name is successfully updated :CaseImportance: Critical """ new_name = gen_string('alpha') comp_res = make_compute_resource({ u'provider': 'Openstack', u'user': self.username, u'password': self.password, u'tenant': self.tenant, u'url': self.current_osp_url }) self.assertTrue(comp_res['name']) ComputeResource.update({ 'name': comp_res['name'], 'new-name': new_name }) self.assertEqual( new_name, ComputeResource.info({'id': comp_res['id']})['name'] )
def test_list(self): """@Test: Test Compute Resource List @Feature: Compute Resource - List @Assert: Compute resource List is displayed """ result_create = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': "qemu+tcp://%s:16509/system" % conf.properties['main.server.hostname']}) self.assertTrue(result_create['name'], "ComputeResource create - has name") result_list = ComputeResource.list({'search': "name=%s" % result_create['name']}) self.assertEquals(result_list.return_code, 0, "ComputeResource list - exit code") self.assertTrue(len(result_list.stdout) > 0, "ComputeResource list - stdout has results") stdout = ComputeResource.exists( search=('name', result_create['name'])).stdout self.assertTrue( stdout, "ComputeResource list - exists name")
def test_set_console_password_v2(self, set_console_password): """@Test: Update a compute resource with ``--set-console-password``. @Feature: Compute Resource @Assert: No error is returned. Targets BZ 1100344. """ name = gen_string('utf8') result = ComputeResource.create({ 'name': name, 'provider': 'Libvirt', 'url': gen_url(), }) self.assertEqual(result.return_code, 0) self.assertEqual(len(result.stderr), 0) result = ComputeResource.update({ 'name': name, 'set-console-password': set_console_password, }) self.assertEqual(result.return_code, 0) self.assertEqual(len(result.stderr), 0)
def test_positive_update_name(self): """RHEV compute resource positive update :id: 5ca29b81-d1f0-409f-843d-aa5daf957d7f :steps: 1. Create a RHEV compute resource 2. Update the name of the created compute resource :expectedresults: Compute Resource is successfully updated :CaseImportance: Critical """ new_name = gen_string('alpha') comp_res = make_compute_resource({ u'provider': 'Ovirt', u'user': self.username, u'password': self.passord, u'datacenter': self.datacenter, u'url': self.current_rhev_url }) self.assertTrue(comp_res['name']) ComputeResource.update({ 'name': comp_res['name'], 'new-name': new_name }) self.assertEqual( new_name, ComputeResource.info({'id': comp_res['id']})['name'] )
def test_update_docker_compute_resource(self): """@Test: Create a Docker-based Compute Resource in the Satellite 6 instance then edit its attributes. @Assert: Compute Resource can be created, listed and its attributes can be updated. @Feature: Docker """ for url in (EXTERNAL_DOCKER_URL, INTERNAL_DOCKER_URL): with self.subTest(url): compute_resource = make_compute_resource({ 'provider': DOCKER_PROVIDER, 'url': url, }) self.assertEqual(compute_resource['url'], url) new_url = gen_url(subdomain=gen_alpha()) ComputeResource.update({ 'id': compute_resource['id'], 'url': new_url, }) compute_resource = ComputeResource.info({ 'id': compute_resource['id'], }) self.assertEqual(compute_resource['url'], new_url)
def test_positive_update_name(self): """Compute Resource positive update @Feature: Compute Resource update @Assert: Compute Resource successfully updated """ for options in valid_update_data(): with self.subTest(options): comp_res = make_compute_resource() options.update({'name': comp_res['name']}) # update Compute Resource ComputeResource.update(options) # check updated values result = ComputeResource.info({'id': comp_res['id']}) self.assertEqual( result['description'], options.get('description', comp_res['description']) ) self.assertEqual( result['name'], options.get('new-name', comp_res['name']) ) self.assertEqual( result['url'], options.get('url', comp_res['url']) ) self.assertEqual( result['provider'].lower(), comp_res['provider'].lower() )
def test_positive_create_with_name(self): """Create Compute Resource @id: 6460bcc7-d7f7-406a-aecb-b3d54d51e697 @Assert: Compute resource is created """ ComputeResource.create({ 'name': 'cr {0}'.format(gen_string(str_type='alpha')), 'provider': 'Libvirt', 'url': self.current_libvirt_url, })
def test_create(self): """@Test: Create Compute Resource @Feature: Compute Resource - Positive Create @Assert: Compute resource is created """ ComputeResource.create({ 'name': gen_string(str_type='alpha'), 'provider': 'Libvirt', 'url': LIBVIRT_URL, })
def test_positive_create_with_name(self): """Create Compute Resource @Feature: Compute Resource - Positive Create @Assert: Compute resource is created """ ComputeResource.create({ 'name': gen_string(str_type='alpha'), 'provider': 'Libvirt', 'url': self.current_libvirt_url, })
def test_negative_create_with_same_name(self): """Compute Resource negative create with the same name @Feature: Compute Resource create @Assert: Compute resource not created """ comp_res = make_compute_resource() with self.assertRaises(CLIReturnCodeError): ComputeResource.create({ u'name': comp_res['name'], u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': gen_url(), })
def test_positive_create_with_name(self): """Create Compute Resource :id: 6460bcc7-d7f7-406a-aecb-b3d54d51e697 :expectedresults: Compute resource is created :CaseImportance: Critical """ ComputeResource.create({ 'name': 'cr {0}'.format(gen_string(str_type='alpha')), 'provider': 'Libvirt', 'url': self.current_libvirt_url, })
def test_create_comp_res_with_console_password(self, console_password): """@Test: Create Compute Resource with different values of set-console-password parameter @Feature: Compute Resource - Set Console Password @Assert: Compute Resource is created and set-console-password parameter is set @BZ: 1214312 """ try: comp_resource = make_compute_resource({ u'url': gen_url(), u'provider': FOREMAN_PROVIDERS['libvirt'], u'set-console-password': console_password, }) except CLIFactoryError as err: self.fail(err) result = ComputeResource.info({'id': comp_resource['id']}) if console_password in (u'True', u'Yes', 1): self.assertEqual(result.stdout['set-console-password'], u'true') else: self.assertEqual(result.stdout['set-console-password'], u'false')
def test_positive_create_with_libvirt(self): """Test Compute Resource create @Feature: Compute Resource positive create @Assert: Compute Resource created """ for options in valid_name_desc_data(): with self.subTest(options): ComputeResource.create({ u'description': options['description'], u'name': options['name'], u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': gen_url(), })
def test_positive_delete_by_name(self): """Test Compute Resource delete @Feature: Compute Resource - Delete @Assert: Compute resource deleted """ comp_res = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': self.current_libvirt_url, }) self.assertTrue(comp_res['name']) ComputeResource.delete({'name': comp_res['name']}) result = ComputeResource.exists(search=('name', comp_res['name'])) self.assertFalse(result)
def test_positive_create_with_libvirt(self): """Test Compute Resource create @id: adc6f4f8-6420-4044-89d1-c69e0bfeeab9 @Assert: Compute Resource created """ for options in valid_name_desc_data(): with self.subTest(options): ComputeResource.create({ u'description': options['description'], u'name': options['name'], u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': gen_url(), })
def test_delete(self): """@Test: Test Compute Resource delete @Feature: Compute Resource - Delete @Assert: Compute resource deleted """ comp_res = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': LIBVIRT_URL, }) self.assertTrue(comp_res['name']) ComputeResource.delete({'name': comp_res['name']}) result = ComputeResource.exists(search=('name', comp_res['name'])) self.assertFalse(result)
def test_positive_create_with_console_password(self): """Create Compute Resource with different values of set-console-password parameter :id: 4531b3e3-906b-4835-a6ab-3332dc9bd636 :expectedresults: Compute Resource is created and set-console-password parameter is set :BZ: 1214312 :CaseImportance: Critical """ for console_password in (u'True', u'Yes', 1, u'False', u'No', 0): with self.subTest(console_password): comp_resource = make_compute_resource({ u'provider': FOREMAN_PROVIDERS['libvirt'], u'set-console-password': console_password, u'url': gen_url(), }) result = ComputeResource.info({'id': comp_resource['id']}) if console_password in (u'True', u'Yes', 1): self.assertEqual(result['set-console-password'], u'true') else: self.assertEqual(result['set-console-password'], u'false')
def test_negative_create_with_name_url(self): """Compute Resource negative create with invalid values @id: cd432ff3-b3b9-49cd-9a16-ed00d81679dd @Assert: Compute resource not created """ for options in invalid_create_data(): with self.subTest(options): with self.assertRaises(CLIReturnCodeError): ComputeResource.create({ u'name': options.get( 'name', gen_string(str_type='alphanumeric')), u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': options.get('url', gen_url()), })
def test_negative_create_osp_with_url(self): """Attempt to create Openstack compute resource with invalid URL :id: a6be8233-2641-4c87-8563-f48d6efbb6ac :expectedresults: Compute resource is not created :CaseImportance: Critical """ with self.assertRaises(CLIReturnCodeError): ComputeResource.create({ u'provider': 'Openstack', u'user': self.username, u'password': self.password, u'tenant': self.tenant, u'url': 'invalid url' })
def test_positive_create_rhev_with_valid_name(self): """Create Compute Resource of type Rhev with valid name :id: 92a577db-144e-4761-a52e-e83887464986 :expectedresults: Compute resource is created :CaseImportance: Critical """ ComputeResource.create({ u'name': 'cr {0}'.format(gen_string(str_type='alpha')), u'provider': 'Ovirt', u'user': self.username, u'password': self.passord, u'datacenter': self.datacenter, u'url': self.current_rhev_url })
def test_negative_create_with_same_name(self): """Compute Resource negative create with the same name :id: ddb5c45b-1ea3-46d0-b248-56c0388d2e4b :expectedresults: Compute resource not created :CaseImportance: Critical """ comp_res = make_compute_resource() with self.assertRaises(CLIReturnCodeError): ComputeResource.create({ u'name': comp_res['name'], u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': gen_url(), })
def test_negative_create_rhev_with_url(self): """RHEV compute resource negative create with invalid values :id: 1f318a4b-8dca-491b-b56d-cff773ed624e :expectedresults: Compute resource is not created :CaseImportance: Critical """ with self.assertRaises(CLIReturnCodeError): ComputeResource.create({ u'provider': 'Ovirt', u'user': self.username, u'password': self.passord, u'datacenter': self.datacenter, u'url': 'invalid url' })
def test_positive_create_with_libvirt(self): """Test Compute Resource create :id: adc6f4f8-6420-4044-89d1-c69e0bfeeab9 :expectedresults: Compute Resource created :CaseImportance: Critical """ for options in valid_name_desc_data(): with self.subTest(options): ComputeResource.create({ u'description': options['description'], u'name': options['name'], u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': gen_url(), })
def test_positive_delete_by_name(self): """Test Compute Resource delete :id: 7fcc0b66-f1c1-4194-8a4b-7f04b1dd439a :expectedresults: Compute resource deleted :CaseImportance: Critical """ comp_res = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': self.current_libvirt_url, }) self.assertTrue(comp_res['name']) ComputeResource.delete({'name': comp_res['name']}) result = ComputeResource.exists(search=('name', comp_res['name'])) self.assertFalse(result)
def test_positive_list(self): """Test Compute Resource List @Feature: Compute Resource - List @Assert: Compute resource List is displayed """ comp_res = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': self.current_libvirt_url, }) self.assertTrue(comp_res['name']) result_list = ComputeResource.list({ 'search': 'name=%s' % comp_res['name']}) self.assertTrue(len(result_list) > 0) result = ComputeResource.exists(search=('name', comp_res['name'])) self.assertTrue(result)
def test_negative_create_with_name_description_url(self): """Compute Resource negative create with invalid values @Feature: Compute Resource create @Assert: Compute resource not created """ for options in invalid_create_data(): with self.subTest(options): with self.assertRaises(CLIReturnCodeError): ComputeResource.create({ u'description': options.get('description', ''), u'name': options.get( 'name', gen_string(str_type='alphanumeric')), u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': options.get('url', gen_url()), })
def test_positive_create_with_console_password_and_name(self): """Create a compute resource with ``--set-console-password``. @Feature: Compute Resource @Assert: No error is returned. Targets BZ 1100344. """ for set_console_password in ('true', 'false'): with self.subTest(set_console_password): ComputeResource.create({ 'name': gen_string('utf8'), 'provider': 'Libvirt', 'set-console-password': set_console_password, 'url': gen_url(), })
def test_delete_docker_compute_resource(self): """@Test: Create a Docker-based Compute Resource then delete it. @Assert: Compute Resource can be created, listed and deleted. @Feature: Docker """ for url in (EXTERNAL_DOCKER_URL, INTERNAL_DOCKER_URL): with self.subTest(url): compute_resource = make_compute_resource({ 'provider': DOCKER_PROVIDER, 'url': url, }) self.assertEqual(compute_resource['url'], url) self.assertEqual(compute_resource['provider'], DOCKER_PROVIDER) ComputeResource.delete({'id': compute_resource['id']}) with self.assertRaises(CLIReturnCodeError): ComputeResource.info({'id': compute_resource['id']})
def test_negative_add_image_rhev_with_invalid_name(rhev): """Attempt to add invalid image name to the RHEV compute resource :id: 873a7d79-1e89-4e4f-81ca-b6db1e0246da :setup: Images/templates should be present in RHEV-M itself, so that satellite can use them. :steps: 1. Create a compute resource of type rhev. 2. Create a image for the compute resource with invalid value for name parameter, compute-resource image create. :expectedresults: The image should not be added to the CR """ if rhev.image_uuid is None: pytest.skip('Missing configuration for rhev.image_uuid') comp_res = make_compute_resource({ 'provider': 'Ovirt', 'user': rhev.username, 'password': rhev.password, 'datacenter': rhev.datacenter, 'url': rhev.current_rhev_url, }) assert comp_res['name'] with pytest.raises(CLIReturnCodeError): ComputeResource.image_create({ 'compute-resource': comp_res['name'], # too long string (>255 chars) 'name': f'img {gen_string(str_type="alphanumeric", length=256)}', 'uuid': rhev.image_uuid, 'operatingsystem': rhev.os['title'], 'architecture': rhev.image_arch, 'username': "******", })
def test_positive_delete_by_name(rhev): """Delete the RHEV compute resource by name :id: ac84acbe-3e02-4f49-9695-b668df28b353 :expectedresults: Compute resource is deleted :CaseImportance: Critical :BZ: 1602835 """ comp_res = make_compute_resource({ 'provider': 'Ovirt', 'user': rhev.username, 'password': rhev.password, 'datacenter': rhev.datacenter, 'url': rhev.current_rhev_url, }) assert comp_res['name'] ComputeResource.delete({'name': comp_res['name']}) result = ComputeResource.exists(search=('name', comp_res['name'])) assert not result
def test_positive_update_console_password(self): """Update a compute resource with ``--set-console-password``. @id: ef09351e-dcd3-4b4f-8d3b-995e9e5873b3 @Assert: No error is returned. Targets BZ 1100344. """ cr_name = gen_string('utf8') ComputeResource.create({ 'name': cr_name, 'provider': 'Libvirt', 'url': gen_url(), }) for set_console_password in ('true', 'false'): with self.subTest(set_console_password): ComputeResource.update({ 'name': cr_name, 'set-console-password': set_console_password, })
def test_update(self, option_dict): """ @Feature: Compute Resource - Update @Test: Test Compute Resource Update @Assert: Compute resource List is updated """ options = {} options['name'] = self.compute_res_updates for option in option_dict: options[option] = option_dict[option] result_update = ComputeResource.update(options) self.assertEquals(result_update.return_code, 0, "ComputeResource update - exit code")
def test_positive_check_available_networks(self, azurermclient, module_azurerm_cr): """Check networks from AzureRm CR are available to select during host provision. :id: 9e08463c-c700-47fc-8a58-e03aa8bcd097 :expectedresults: All the networks from AzureRM CR should be available. :CaseLevel: Integration """ result = ComputeResource.networks({'id': module_azurerm_cr.id}) assert len(result) > 0
def test_positive_list(self): """Test Compute Resource List :id: 11123361-ffbc-4c59-a0df-a4af3408af7a :expectedresults: Compute resource List is displayed :CaseImportance: Critical """ comp_res = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': self.current_libvirt_url, }) self.assertTrue(comp_res['name']) result_list = ComputeResource.list( {'search': 'name=%s' % comp_res['name']}) self.assertTrue(len(result_list) > 0) result = ComputeResource.exists(search=('name', comp_res['name'])) self.assertTrue(result)
def test_positive_delete_by_id(rhev): """Delete the RHEV compute resource by id :id: 4bcd4fa3-df8b-4773-b142-e47458116552 :expectedresults: Compute resource is deleted :CaseImportance: Critical :BZ: 1602835 """ comp_res = make_compute_resource({ 'provider': 'Ovirt', 'user': rhev.username, 'password': rhev.password, 'datacenter': rhev.datacenter, 'url': rhev.current_rhev_url, }) assert comp_res['name'] ComputeResource.delete({'id': comp_res['id']}) result = ComputeResource.exists(search=('name', comp_res['name'])) assert not result
def test_positive_delete_by_name(self): """Delete the RHEV compute resource by name :id: ac84acbe-3e02-4f49-9695-b668df28b353 :expectedresults: Compute resource is deleted :CaseImportance: Critical :BZ: 1602835 """ comp_res = make_compute_resource({ u'provider': 'Ovirt', u'user': self.username, u'password': self.passord, u'datacenter': self.datacenter, u'url': self.current_rhev_url }) self.assertTrue(comp_res['name']) ComputeResource.delete({'name': comp_res['name']}) result = ComputeResource.exists(search=('name', comp_res['name'])) self.assertFalse(result)
def test_negative_update(self): """Compute Resource negative update :id: e7aa9b39-dd01-4f65-8e89-ff5a6f4ee0e3 :expectedresults: Compute Resource not updated :CaseImportance: Critical """ for options in invalid_update_data(): with self.subTest(options): comp_res = make_compute_resource() with self.assertRaises(CLIReturnCodeError): ComputeResource.update( dict({'name': comp_res['name']}, **options)) result = ComputeResource.info({'id': comp_res['id']}) # check attributes have not changed self.assertEqual(result['name'], comp_res['name']) options.pop('new-name', None) for key in options.keys(): self.assertEqual(comp_res[key], result[key])
def test_positive_delete_by_id(self): """Delete the RHEV compute resource by id :id: 4bcd4fa3-df8b-4773-b142-e47458116552 :expectedresults: Compute resource is deleted :CaseImportance: Critical :BZ: 1602835 """ comp_res = make_compute_resource({ u'provider': 'Ovirt', u'user': self.username, u'password': self.passord, u'datacenter': self.datacenter, u'url': self.current_rhev_url }) self.assertTrue(comp_res['name']) ComputeResource.delete({'id': comp_res['id']}) result = ComputeResource.exists(search=('name', comp_res['name'])) self.assertFalse(result)
def test_positive_update_name(libvirt_url, options): """Compute Resource positive update :id: 213d7f04-4c54-4985-8ca0-d2a1a9e3b305 :expectedresults: Compute Resource successfully updated :CaseImportance: Critical :CaseLevel: Component :parametrized: yes """ comp_res = make_compute_resource() options.update({'name': comp_res['name']}) # update Compute Resource ComputeResource.update(options) # check updated values result = ComputeResource.info({'id': comp_res['id']}) assert result['description'] == options.get('description', comp_res['description']) assert result['name'] == options.get('new-name', comp_res['name']) assert result['url'] == options.get('url', comp_res['url']) assert result['provider'].lower() == comp_res['provider'].lower()
def test_negative_create_with_name_url(self): """Compute Resource negative create with invalid values :id: cd432ff3-b3b9-49cd-9a16-ed00d81679dd :expectedresults: Compute resource not created :CaseImportance: High :CaseLevel: Component """ for options in invalid_create_data(): with self.subTest(options): with self.assertRaises(CLIReturnCodeError): ComputeResource.create({ 'name': options.get('name', gen_string(str_type='alphanumeric')), 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': options.get('url', gen_url()), })
def test_delete(self): """@Test: Test Compute Resource delete @Feature: Compute Resource - Delete @Assert: Compute resource deleted """ result_create = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': "qemu+tcp://%s:16509/system" % conf.properties['main.server.hostname'] }) self.assertTrue(result_create['name'], "ComputeResource create - has name") result_delete = ComputeResource.delete({'name': result_create['name']}) self.assertEquals(result_delete.return_code, 0, "ComputeResource delete - exit code") stdout = ComputeResource.exists(search=('name', result_create['name'])).stdout self.assertFalse(stdout, "ComputeResource list - does not exist name")
def test_positive_create_with_console_password_and_name(self): """Create a compute resource with ``--set-console-password``. :id: 5b4c838a-0265-4c71-a73d-305fecbe508a :expectedresults: No error is returned. Targets BZ 1100344. :CaseImportance: High :CaseLevel: Component """ for set_console_password in ('true', 'false'): with self.subTest(set_console_password): ComputeResource.create( { 'name': gen_string('utf8'), 'provider': 'Libvirt', 'set-console-password': set_console_password, 'url': gen_url(), } )
def test_update_negative(self, options): """@Test: Compute Resource negative update @Feature: Compute Resource update @Assert: Compute Resource not updated """ comp_res = make_compute_resource() result = ComputeResource.update( dict({'name': comp_res['name']}, **options)) self.assertNotEqual(result.return_code, 0) self.assertGreater(len(result.stderr), 0) result = ComputeResource.info({'id': comp_res['id']}) self.assertEqual(result.return_code, 0) # check attributes have not changed self.assertEqual(result.stdout['name'], comp_res['name']) options.pop('new-name', None) for key in options.keys(): self.assertEqual(comp_res[key], result.stdout[key])
def test_positive_create_with_console_password_and_name(libvirt_url, set_console_password): """Create a compute resource with ``--set-console-password``. :id: 5b4c838a-0265-4c71-a73d-305fecbe508a :expectedresults: No error is returned. :BZ: 1100344 :CaseImportance: High :CaseLevel: Component :parametrized: yes """ ComputeResource.create( { 'name': gen_string('utf8'), 'provider': 'Libvirt', 'set-console-password': set_console_password, 'url': gen_url(), } )
def test_positive_add_image_rhev_with_name(rhev, module_os): """Add images to the RHEV compute resource :id: 2da84165-a56f-4282-9343-94828fa69c13 :setup: Images/templates should be present in RHEV-M itself, so that satellite can use them. :steps: 1. Create a compute resource of type rhev. 2. Create a image for the compute resource with valid parameter, compute-resource image create :expectedresults: The image is added to the CR successfully """ if rhev.image_uuid is None: pytest.skip('Missing configuration for rhev.image_uuid') comp_res = make_compute_resource({ 'provider': 'Ovirt', 'user': rhev.username, 'password': rhev.password, 'datacenter': rhev.datacenter, 'url': rhev.hostname, }) assert comp_res['name'] ComputeResource.image_create({ 'compute-resource': comp_res['name'], 'name': f'img {gen_string(str_type="alpha")}', 'uuid': rhev.image_uuid, 'operatingsystem': module_os.title, 'architecture': rhev.image_arch, 'username': "******", }) result = ComputeResource.image_list({'compute-resource': comp_res['name']}) assert result[0]['uuid'] == rhev.image_uuid
def test_positive_delete_by_name(self): """Delete the Openstack compute resource by name :id: 8c581100-4606-4d21-a286-930fb3a7ecd8 :expectedresults: Compute resource is deleted :CaseImportance: Critical :BZ: 1579714 """ comp_res = make_compute_resource( { 'provider': 'Openstack', 'user': OSP_SETTINGS['username'], 'password': OSP_SETTINGS['password'], 'tenant': OSP_SETTINGS['tenant'], 'url': OSP_SETTINGS['hostname'], 'project-domain-id': OSP_SETTINGS['project_domain_id'], } ) assert ComputeResource.exists(search=('name', comp_res['name'])) ComputeResource.delete({'name': comp_res['name']}) assert not ComputeResource.exists(search=('name', comp_res['name']))
def test_positive_delete_by_id(self): """Delete the Openstack compute resource by id :id: f464429f-a4ac-4504-b009-5f56f9d29317 :expectedresults: Compute resource is deleted :CaseImportance: Critical :BZ: 1579714 """ comp_res = make_compute_resource( { 'provider': 'Openstack', 'user': OSP_SETTINGS['username'], 'password': OSP_SETTINGS['password'], 'tenant': OSP_SETTINGS['tenant'], 'url': OSP_SETTINGS['hostname'], 'project-domain-id': OSP_SETTINGS['project_domain_id'], } ) assert ComputeResource.exists(search=('name', comp_res['name'])) ComputeResource.delete({'id': comp_res['id']}) assert not ComputeResource.exists(search=('name', comp_res['name']))
def test_negative_create_osp_with_url(self): """Attempt to create Openstack compute resource with invalid URL :id: a6be8233-2641-4c87-8563-f48d6efbb6ac :expectedresults: Compute resource is not created :CaseImportance: Critical :BZ: 1579714 """ name = gen_string('alpha') with pytest.raises(CLIReturnCodeError): ComputeResource.create( { 'name': name, 'provider': 'Openstack', 'user': OSP_SETTINGS['username'], 'password': OSP_SETTINGS['password'], 'tenant': OSP_SETTINGS['tenant'], 'url': 'invalid url', 'project-domain-id': OSP_SETTINGS['project_domain_id'], } )
def test_create(self): """ @Feature: Compute Resource - Positive Create @Test: Create Compute Resource @Assert: Compute reource is created """ name = generate_string("alpha", 10) result = ComputeResource.create({ 'name': name, 'provider': 'Libvirt', 'url': "qemu+tcp://%s:16509/system" % conf.properties['main.server.hostname'] }) self.assertEquals(result.return_code, 0, "ComputeResource create - exit code")
def test_negative_create_with_same_name(self): """Attempt to create Openstack compute resource with the same name as an existing one :id: b08132fe-6081-48e9-b7fd-9da7966aef5d :steps: 1. Create a osp compute resource. 2. Create another osp compute resource with same name. :expectedresults: Compute resource is not created :CaseImportance: Critical :BZ: 1579714 """ name = gen_string('alpha') compute_resource = make_compute_resource( { 'name': name, 'provider': 'Openstack', 'user': OSP_SETTINGS['username'], 'password': OSP_SETTINGS['password'], 'tenant': OSP_SETTINGS['tenant'], 'url': OSP_SETTINGS['hostname'], 'project-domain-id': OSP_SETTINGS['project_domain_id'], } ) assert ComputeResource.exists(search=('name', compute_resource['name'])) with pytest.raises(CLIFactoryError): make_compute_resource( { 'name': name, 'provider': 'Openstack', 'user': OSP_SETTINGS['username'], 'password': OSP_SETTINGS['password'], 'tenant': OSP_SETTINGS['tenant'], 'url': OSP_SETTINGS['hostname'], 'project-domain-id': OSP_SETTINGS['project_domain_id'], } )
def test_create_negative_2(self): """@Test: Compute Resource negative create with the same name @Feature: Compute Resource create @Assert: Compute resource not created """ comp_res = make_compute_resource() result = ComputeResource.create({ u'name': comp_res['name'], u'provider': FOREMAN_PROVIDERS['libvirt'], u'url': gen_url() }) self.assertNotEquals(result.return_code, 0) self.assertNotEqual(len(result.stderr), 0)
def test_info(self): """ @Feature: Compute Resource - Info @Test: Test Compute Resource Info @Assert: Compute resource Info is displayed """ result_create = make_compute_resource({ 'provider': FOREMAN_PROVIDERS['libvirt'], 'url': "qemu+tcp://%s:16509/system" % conf.properties['main.server.hostname'] }) self.assertTrue(result_create['name'], "ComputeResource create - has name") result_info = ComputeResource.info({'name': result_create['name']}) self.assertEquals(result_info.return_code, 0, "ComputeResource info - exit code") self.assertEquals(result_info.stdout['name'], result_create['name'], "ComputeResource info - check name")
def test_create_negative_1(self, options): """@Test: Compute Resource negative create with invalid values @Feature: Compute Resource create @Assert: Compute resource not created """ result = ComputeResource.create({ u'name': options.get('name', gen_string(str_type='alphanumeric')), u'url': options.get('url', gen_url()), u'provider': FOREMAN_PROVIDERS['libvirt'], u'description': options.get('description', '') }) self.assertNotEqual(result.return_code, 0) self.assertNotEqual(len(result.stderr), 0)
def test_create_positive_libvirt(self, options): """@Test: Test Compute Resource create @Feature: Compute Resource positive create @Assert: Compute Resource created """ result = ComputeResource.create({ u'name': options['name'], u'url': gen_url(), u'provider': FOREMAN_PROVIDERS['libvirt'], u'description': options['description'], }) self.assertEqual(result.return_code, 0) self.assertEqual(len(result.stderr), 0)
def test_positive_create_with_console_password(self): """Create Compute Resource with different values of set-console-password parameter @id: 4531b3e3-906b-4835-a6ab-3332dc9bd636 @Assert: Compute Resource is created and set-console-password parameter is set @BZ: 1214312 """ for console_password in (u'True', u'Yes', 1, u'False', u'No', 0): with self.subTest(console_password): comp_resource = make_compute_resource({ u'provider': FOREMAN_PROVIDERS['libvirt'], u'set-console-password': console_password, u'url': gen_url(), }) result = ComputeResource.info({'id': comp_resource['id']}) if console_password in (u'True', u'Yes', 1): self.assertEqual(result['set-console-password'], u'true') else: self.assertEqual(result['set-console-password'], u'false')
def _cleanup(): if ComputeResource.exists(search=('id', compute_resource['id'])): ComputeResource.delete(options={'id': compute_resource['id']})