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): """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_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_update_console_password(libvirt_url, set_console_password): """Update a compute resource with ``--set-console-password``. :id: ef09351e-dcd3-4b4f-8d3b-995e9e5873b3 :expectedresults: No error is returned. :BZ: 1100344 :CaseImportance: High :CaseLevel: Component :parametrized: yes """ cr_name = gen_string('utf8') ComputeResource.create({ 'name': cr_name, 'provider': 'Libvirt', 'url': gen_url() }) ComputeResource.update({ 'name': cr_name, 'set-console-password': set_console_password })
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_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_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 :BZ: 1579714 """ new_name = gen_string('alpha') 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.update({'name': comp_res['name'], 'new-name': new_name}) assert new_name == ComputeResource.info({'id': comp_res['id']})['name']
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 :BZ: 1602835 """ new_name = gen_string('alpha') comp_res = make_compute_resource({ 'provider': 'Ovirt', 'user': self.username, 'password': self.password, 'datacenter': self.datacenter, '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_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): """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_update_console_password(self): """Update a compute resource with ``--set-console-password``. :id: ef09351e-dcd3-4b4f-8d3b-995e9e5873b3 :expectedresults: No error is returned. Targets BZ 1100344. :CaseImportance: Critical """ 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_positive_crud_azurerm_cr(self, module_org, module_location, azurerm_settings): """Create, Read, Update and Delete AzureRm compute resources :id: 776243ac-1666-4d9b-b99c-f0cadb19b06e :expectedresults: Compute resource should be created, read, updated and deleted :CaseImportance: Critical :CaseLevel: Component """ # Create CR cr_name = gen_string('alpha') compresource = ComputeResource.create( { 'name': cr_name, 'provider': 'AzureRm', 'app-ident': azurerm_settings['app_ident'], 'secret-key': azurerm_settings['secret'], 'tenant': azurerm_settings['tenant'], 'sub-id': azurerm_settings['sub_id'], 'region': azurerm_settings['region'], 'organization-id': module_org.id, 'location-id': module_location.id, } ) assert compresource['name'] == cr_name assert compresource['provider'] == 'Azure Resource Manager' assert compresource['tenant'] == azurerm_settings['tenant'] assert compresource['app_ident'] == azurerm_settings['app_ident'] assert compresource['sub_id'] == azurerm_settings['sub_id'] assert compresource['region'] == azurerm_settings['region'] assert module_org.name in compresource['organizations'] assert module_location.name in compresource['locations'] # List CR list_cr = ComputeResource.list() assert len([cr for cr in list_cr if cr['name'] == cr_name]) == 1 # Update CR new_cr_name = gen_string('alpha') description = gen_string('utf8') ComputeResource.update({'name': cr_name, 'new-name': new_cr_name}) ComputeResource.update({'name': new_cr_name, 'description': description}) # check updated values result = ComputeResource.info({'id': compresource['id']}) assert result['name'] == new_cr_name assert result['description'] == description # Delete CR ComputeResource.delete({'name': result['name']}) assert not ComputeResource.exists(search=('name', result['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_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_update_positive(self, options): """@Test: Compute Resource positive update @Feature: Compute Resource update @Assert: Compute Resource successfully updated """ comp_res = make_compute_resource() options.update({ 'name': comp_res['name'], }) # update Compute Resource result = ComputeResource.update(options) self.assertEqual(result.return_code, 0) self.assertEqual(len(result.stderr), 0) # check updated values result = ComputeResource.info({'id': comp_res['id']}) self.assertEqual(result.return_code, 0) self.assertEqual(len(result.stderr), 0) self.assertEqual(result.stdout['description'], options.get('description', comp_res['description'])) self.assertEqual(result.stdout['name'], options.get('new-name', comp_res['name'])) self.assertEqual(result.stdout['url'], options.get('url', comp_res['url'])) self.assertEqual(result.stdout['provider'].lower(), comp_res['provider'].lower())
def test_negative_update(self): """Compute Resource negative update @Feature: Compute Resource update @Assert: Compute Resource not updated """ 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_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_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_negative_update(libvirt_url, options): """Compute Resource negative update :id: e7aa9b39-dd01-4f65-8e89-ff5a6f4ee0e3 :expectedresults: Compute Resource not updated :CaseImportance: High :CaseLevel: Component :parametrized: yes """ comp_res = make_compute_resource() with pytest.raises(CLIReturnCodeError): ComputeResource.update(dict({'name': comp_res['name']}, **options)) result = ComputeResource.info({'id': comp_res['id']}) # check attributes have not changed assert result['name'] == comp_res['name'] options.pop('new-name', None) for key in options.keys(): assert comp_res[key] == result[key]
def test_positive_update_console_password(self): """Update a compute resource with ``--set-console-password``. @Feature: Compute Resource @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_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_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']) for key in options.keys(): self.assertEqual(comp_res[key], result.stdout[key])
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_crud_and_duplicate_name(self, request, id_type): """Create, list, update and delete Openstack compute resource :id: caf60bad-999d-483e-807f-95f52f35085d :expectedresults: OSP Compute resource can be created updated and deleted :CaseImportance: Critical :parametrized: yes :BZ: 1579714 """ # create 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'], }) request.addfinalizer(lambda: self.cr_cleanup(compute_resource['id'])) assert compute_resource['name'] == name assert ComputeResource.exists(search=(id_type, compute_resource[id_type])) # negative create with same 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'], }) # update new_name = gen_string('alpha') ComputeResource.update({ id_type: compute_resource[id_type], 'new-name': new_name }) if id_type == 'name': compute_resource = ComputeResource.info({'name': new_name}) else: compute_resource = ComputeResource.info( {'id': compute_resource['id']}) assert new_name == compute_resource['name'] ComputeResource.delete({id_type: compute_resource[id_type]}) assert not ComputeResource.exists(search=(id_type, compute_resource[id_type]))