def test_positive_update_name(self): """Check if content host name can be updated @id: 056fff14-e9ea-407e-8340-1d5b5da1e4e4 @Assert: Content host is created and name is updated @BZ: 1318686, 1338780 """ new_system = make_content_host({ u'content-view-id': self.DEFAULT_CV['id'], u'lifecycle-environment-id': self.LIBRARY['id'], u'organization-id': self.NEW_ORG['id'], }) for new_name in valid_hosts_list(): with self.subTest(new_name): ContentHost.update({ u'id': new_system['id'], u'new-name': new_name, }) result = ContentHost.info({'id': new_system['id']}) self.assertEqual(result['name'], new_name)
def test_positive_update_name_by_name(self): """A host can be updated with a new random name. Use name to access the host @feature: Hosts @assert: A host is updated and the name matches """ for new_name in valid_hosts_list(): with self.subTest(new_name): Host.update({ 'name': self.host['name'], 'new-name': new_name, }) self.host = Host.info({ 'name': u'{0}.{1}' .format(new_name, self.host['domain']).lower() }) self.assertEqual( u'{0}.{1}'.format( new_name, self.host['domain'], ).lower(), self.host['name'], )
def test_positive_create_and_update_with_name(): """Create and update a host with different names and minimal input parameters :id: a7c0e8ec-3816-4092-88b1-0324cb271752 :expectedresults: A host is created and updated with expected name :CaseImportance: Critical """ name = gen_choice(valid_hosts_list()) host = entities.Host(name=name).create() assert host.name == f'{name}.{host.domain.read().name}' new_name = gen_choice(valid_hosts_list()) host.name = new_name host = host.update(['name']) assert host.name == f'{new_name}.{host.domain.read().name}'
def test_positive_create_with_name(self): """A host can be created with a random name @feature: Hosts @assert: A host is created and the name matches """ for name in valid_hosts_list(): with self.subTest(name): host = entities.Host() host.create_missing() result = Host.create({ u'architecture-id': host.architecture.id, u'domain-id': host.domain.id, u'environment-id': host.environment.id, # pylint:disable=no-member u'location-id': host.location.id, u'mac': host.mac, u'medium-id': host.medium.id, u'name': name, u'operatingsystem-id': host.operatingsystem.id, # pylint:disable=no-member u'organization-id': host.organization.id, u'partition-table-id': host.ptable.id, u'puppet-proxy-id': self.puppet_proxy['id'], u'root-pass': host.root_pass, }) self.assertEqual( '{0}.{1}'.format(name, host.domain.read().name).lower(), result['name'], )
def test_positive_create_with_name(self): """A host can be created with a random name @id: 2e8dd25d-47ed-4131-bba6-1ff024808d05 @assert: A host is created and the name matches """ for name in valid_hosts_list(): with self.subTest(name): host = entities.Host() host.create_missing() result = Host.create({ u'architecture-id': host.architecture.id, u'domain-id': host.domain.id, u'environment-id': host.environment.id, # pylint:disable=no-member u'location-id': host.location.id, u'mac': host.mac, u'medium-id': host.medium.id, u'name': name, u'operatingsystem-id': host.operatingsystem.id, # pylint:disable=no-member u'organization-id': host.organization.id, u'partition-table-id': host.ptable.id, u'puppet-proxy-id': self.puppet_proxy['id'], u'root-pass': host.root_pass, }) self.assertEqual( '{0}.{1}'.format(name, host.domain.read().name), result['name'], )
def test_return_type(self): """This test validates return types for functions: 1. :meth:`robottelo.datafactory.generate_strings_list` 2. :meth:`robottelo.datafactory.invalid_emails_list` 3. :meth:`robottelo.datafactory.invalid_names_list` 4. :meth:`robottelo.datafactory.valid_data_list` 5. :meth:`robottelo.datafactory.valid_emails_list` 6. :meth:`robottelo.datafactory.valid_environments_list` 7. :meth:`robottelo.datafactory.valid_hosts_list` 8. :meth:`robottelo.datafactory.valid_hostgroups_list` 9. :meth:`robottelo.datafactory.valid_labels_list` 10. :meth:`robottelo.datafactory.valid_names_list` 11. :meth:`robottelo.datafactory.valid_usernames_list` 12. :meth:`robottelo.datafactory.invalid_id_list` """ for item in itertools.chain( generate_strings_list(), invalid_emails_list(), invalid_names_list(), valid_data_list(), valid_emails_list(), valid_environments_list(), valid_hosts_list(), valid_hostgroups_list(), valid_labels_list(), valid_names_list(), valid_usernames_list(),): self.assertIsInstance(item, six.text_type) for item in invalid_id_list(): if not (isinstance(item, (six.text_type, int)) or item is None): self.fail('Unexpected data type')
def test_filtered_datapoint_True(self): """Tests if run_one_datapoint=false returns all data points""" settings.run_one_datapoint = False self.assertEqual(len(generate_strings_list()), 7) self.assertEqual(len(invalid_emails_list()), 8) self.assertEqual(len(invalid_id_list()), 4) self.assertEqual(len(invalid_interfaces_list()), 8) self.assertEqual(len(invalid_names_list()), 7) self.assertEqual(len(invalid_values_list()), 10) self.assertEqual(len(invalid_usernames_list()), 4) self.assertEqual(len(valid_labels_list()), 2) self.assertEqual(len(valid_data_list()), 7) self.assertEqual(len(valid_emails_list()), 8) self.assertEqual(len(valid_environments_list()), 4) self.assertEqual(len(valid_hosts_list()), 3) self.assertEqual(len(valid_hostgroups_list()), 7) self.assertEqual(len(valid_interfaces_list()), 3) self.assertEqual(len(valid_names_list()), 15) self.assertEqual(len(valid_org_names_list()), 7) self.assertEqual(len(valid_usernames_list()), 6) with mock.patch('robottelo.datafactory.bz_bug_is_open', return_value=True): self.assertEqual(len(valid_docker_repository_names()), 6) with mock.patch('robottelo.datafactory.bz_bug_is_open', return_value=False): self.assertEqual(len(valid_docker_repository_names()), 7)
def test_positive_update_name_by_name(self): """A host can be updated with a new random name. Use name to access the host @feature: Hosts @assert: A host is updated and the name matches """ for new_name in valid_hosts_list(): with self.subTest(new_name): Host.update({ 'name': self.host['name'], 'new-name': new_name, }) self.host = Host.info({ 'name': u'{0}.{1}'.format(new_name, self.host['domain']).lower() }) self.assertEqual( u'{0}.{1}'.format( new_name, self.host['domain'], ).lower(), self.host['name'], )
def test_filtered_datapoint_True(self): """Tests if run_one_datapoint=false returns all data points""" settings.run_one_datapoint = False self.assertEqual(len(generate_strings_list()), 7) self.assertEqual(len(invalid_emails_list()), 8) self.assertEqual(len(invalid_id_list()), 4) self.assertEqual(len(invalid_interfaces_list()), 8) self.assertEqual(len(invalid_names_list()), 7) self.assertEqual(len(invalid_values_list()), 10) self.assertEqual(len(invalid_usernames_list()), 4) self.assertEqual(len(valid_labels_list()), 2) self.assertEqual(len(valid_data_list()), 7) self.assertEqual(len(valid_emails_list()), 8) self.assertEqual(len(valid_environments_list()), 4) self.assertEqual(len(valid_hosts_list()), 3) self.assertEqual(len(valid_hostgroups_list()), 7) self.assertEqual(len(valid_interfaces_list()), 3) self.assertEqual(len(valid_names_list()), 15) self.assertEqual(len(valid_org_names_list()), 7) self.assertEqual(len(valid_usernames_list()), 6) self.assertEqual(len((valid_cron_expressions())), 4) with mock.patch('robottelo.datafactory.bz_bug_is_open', return_value=True): self.assertEqual(len(valid_docker_repository_names()), 6) with mock.patch('robottelo.datafactory.bz_bug_is_open', return_value=False): self.assertEqual(len(valid_docker_repository_names()), 7)
def test_filtered_datapoint(self, run_one_datapoint): """Tests if run_one_datapoint=false returns all data points""" if run_one_datapoint: assert len(datafactory.generate_strings_list()) == 1 assert len(datafactory.invalid_emails_list()) == 1 assert len(datafactory.invalid_environments_list()) == 1 assert len(datafactory.invalid_id_list()) == 1 assert len(datafactory.invalid_interfaces_list()) == 1 assert len(datafactory.invalid_names_list()) == 1 assert len(datafactory.invalid_values_list()) == 1 assert len(datafactory.valid_data_list()) == 1 assert len(datafactory.valid_docker_repository_names()) == 1 assert len(datafactory.valid_emails_list()) == 1 assert len(datafactory.valid_environments_list()) == 1 assert len(datafactory.valid_hosts_list()) == 1 assert len(datafactory.valid_hostgroups_list()) == 1 assert len(datafactory.valid_interfaces_list()) == 1 assert len(datafactory.valid_labels_list()) == 1 assert len(datafactory.valid_names_list()) == 1 assert len(datafactory.valid_org_names_list()) == 1 assert len(datafactory.valid_usernames_list()) == 1 assert len(datafactory.valid_cron_expressions()) == 1 else: assert len(datafactory.generate_strings_list()) == 7 assert len(datafactory.invalid_emails_list()) == 8 assert len(datafactory.invalid_environments_list()) == 4 assert len(datafactory.invalid_id_list()) == 4 assert len(datafactory.invalid_interfaces_list()) == 8 assert len(datafactory.invalid_names_list()) == 7 assert len(datafactory.invalid_values_list()) == 10 assert len(datafactory.invalid_usernames_list()) == 4 assert len(datafactory.valid_labels_list()) == 2 assert len(datafactory.valid_data_list()) == 7 assert len(datafactory.valid_emails_list()) == 8 assert len(datafactory.valid_environments_list()) == 4 assert len(datafactory.valid_hosts_list()) == 3 assert len(datafactory.valid_hostgroups_list()) == 7 assert len(datafactory.valid_interfaces_list()) == 3 assert len(datafactory.valid_names_list()) == 15 assert len(datafactory.valid_org_names_list()) == 7 assert len(datafactory.valid_usernames_list()) == 6 assert len(datafactory.valid_cron_expressions()) == 4 assert len(datafactory.valid_docker_repository_names()) == 7
def test_positive_host_hooks(self): """Create hooks to be executed on host create, update and destroy :id: 4fe35fda-1524-44f7-9221-96d1aeafc75c :Steps: 1. Create hook directories with symlinks to logger script for subset of supported events: create, update, destroy 2. Perform trigger actions (create, update and delete host) 3. Observe custom logs created by hook script :expectedresults: hook scripts are executed at proper time """ host_name = valid_hosts_list()[0] expected_msg = "Executed {0} hook on object {1}" # create hook destination directories with logger script create_event = "create" update_event = "update" destroy_event = "destroy" for event in [create_event, destroy_event, update_event]: hook_dir = "{0}/host/managed/{1}".format(HOOKS_DIR, event) ssh.command('''mkdir -p {}'''.format(hook_dir)) ssh.command('''ln -sf {0} {1}/'''.format(self.script_path, hook_dir)) result = ssh.command("systemctl restart httpd") self.assertEqual(result.return_code, 0) # delete host, check logs for hook activity host = entities.Host(name=host_name).create() self.assertEqual(host.name, '{0}.{1}'.format(host_name, host.domain.read().name)) result = ssh.command('cat {}'.format(LOGS_DIR)) self.assertEqual(result.return_code, 0) self.assertIn(expected_msg.format(create_event, host_name), result.stdout[0]) # update host, check logs for hook activity new_ip = gen_ipaddr() host.ip = new_ip host = host.update(['ip']) self.assertEqual(host.ip, new_ip) result = ssh.command('cat {}'.format(LOGS_DIR)) self.assertEqual(result.return_code, 0) self.assertIn(expected_msg.format(update_event, host_name), result.stdout[0]) # delete host, check logs for hook activity host.delete() with self.assertRaises(HTTPError): host.read() result = ssh.command('cat {}'.format(LOGS_DIR)) self.assertEqual(result.return_code, 0) self.assertIn(expected_msg.format(destroy_event, host_name), result.stdout[0])
def test_positive_create_with_name(self): """Create a host with different names and minimal input parameters @id: a7c0e8ec-3816-4092-88b1-0324cb271752 @assert: A host is created with expected name """ for name in valid_hosts_list(): with self.subTest(name): host = entities.Host(name=name).create() self.assertEqual( host.name, '{0}.{1}'.format(name, host.domain.read().name))
def test_positive_host_hooks(logger_hook, target_sat): """Create hooks to be executed on host create, update and destroy :id: 4fe35fda-1524-44f7-9221-96d1aeafc75c :Steps: 1. Create hook directories with symlinks to logger script for subset of supported events: create, update, destroy 2. Perform trigger actions (create, update and delete host) 3. Observe custom logs created by hook script :expectedresults: hook scripts are executed at proper time """ host_name = valid_hosts_list()[0] expected_msg = 'Executed {0} hook on object {1}' # create hook destination directories with logger script create_event = 'create' update_event = 'update' destroy_event = 'destroy' for event in [create_event, destroy_event, update_event]: hook_dir = f'{HOOKS_DIR}/host/managed/{event}' target_sat.execute(f'mkdir -p {hook_dir}') target_sat.execute(f'ln -sf {SCRIPT_PATH} {hook_dir}/') result = target_sat.execute('systemctl restart httpd') assert result.status == 0 # delete host, check logs for hook activity host = target_sat.api.Host(name=host_name).create() assert host.name == f'{host_name}.{host.domain.read().name}' result = target_sat.execute(f'cat {LOGS_DIR}') assert result.status == 0 assert expected_msg.format(create_event, host_name) in result.stdout # update host, check logs for hook activity new_ip = gen_ipaddr() host.ip = new_ip host = host.update(['ip']) assert host.ip == new_ip result = target_sat.execute(f'cat {LOGS_DIR}') assert result.status == 0 assert expected_msg.format(update_event, host_name) in result.stdout # delete host, check logs for hook activity host.delete() with pytest.raises(HTTPError): host.read() result = target_sat.execute(f'cat {LOGS_DIR}') assert result.status == 0 assert expected_msg.format(destroy_event, host_name) in result.stdout
def test_positive_create_with_name(self): """Create a host with different names and minimal input parameters @id: a7c0e8ec-3816-4092-88b1-0324cb271752 @assert: A host is created with expected name """ for name in valid_hosts_list(): with self.subTest(name): host = entities.Host(name=name).create() self.assertEqual( host.name, '{0}.{1}'.format(name, host.domain.read().name) )
def test_positive_create_with_name(self): """Create a host with different names and minimal input parameters @feature: Hosts @assert: A host is created with expected name """ for name in valid_hosts_list(): with self.subTest(name): host = entities.Host(name=name).create() self.assertEqual( host.name, '{0}.{1}'.format(name, host.domain.read().name).lower() )
def test_positive_update_name(self): """Update a host with a new name @id: a82b606c-d683-44ba-9086-684396ef1c10 @assert: A host is updated with expected name """ host = entities.Host().create() for new_name in valid_hosts_list(): with self.subTest(new_name): host.name = new_name host = host.update(['name']) self.assertEqual( host.name, '{0}.{1}'.format(new_name, host.domain.read().name))
def test_positive_update_name(self): """Update a host with a new name @id: a82b606c-d683-44ba-9086-684396ef1c10 @assert: A host is updated with expected name """ host = entities.Host().create() for new_name in valid_hosts_list(): with self.subTest(new_name): host.name = new_name host = host.update(['name']) self.assertEqual( host.name, '{0}.{1}'.format(new_name, host.domain.read().name) )
def test_positive_update_name(self): """Update a host with a new name @feature: Hosts @assert: A host is updated with expected name """ host = entities.Host().create() for new_name in valid_hosts_list(): with self.subTest(new_name): host.name = new_name host = host.update(['name']) self.assertEqual( host.name, '{0}.{1}'.format(new_name, host.domain.read().name).lower() )
def test_datacheck_False(self): """Tests if run_one_datapoint=True returns one data point""" settings.run_one_datapoint = True self.assertEqual(len(generate_strings_list()), 1) self.assertEqual(len(invalid_emails_list()), 1) self.assertEqual(len(invalid_id_list()), 1) self.assertEqual(len(invalid_names_list()), 1) self.assertEqual(len(invalid_values_list()), 1) self.assertEqual(len(valid_data_list()), 1) self.assertEqual(len(valid_emails_list()), 1) self.assertEqual(len(valid_environments_list()), 1) self.assertEqual(len(valid_hosts_list()), 1) self.assertEqual(len(valid_hostgroups_list()), 1) self.assertEqual(len(valid_labels_list()), 1) self.assertEqual(len(valid_names_list()), 1) self.assertEqual(len(valid_usernames_list()), 1)
def test_datacheck_True(self): """Tests if run_one_datapoint=false returns all data points""" settings.run_one_datapoint = False self.assertEqual(len(generate_strings_list()), 7) self.assertEqual(len(invalid_id_list()), 4) self.assertEqual(len(invalid_emails_list()), 10) self.assertEqual(len(invalid_names_list()), 7) self.assertEqual(len(invalid_values_list()), 10) self.assertEqual(len(valid_labels_list()), 2) self.assertEqual(len(valid_data_list()), 7) self.assertEqual(len(valid_emails_list()), 8) self.assertEqual(len(valid_environments_list()), 3) self.assertEqual(len(valid_hosts_list()), 3) self.assertEqual(len(valid_hostgroups_list()), 7) self.assertEqual(len(valid_names_list()), 15) self.assertEqual(len(valid_usernames_list()), 4)
def test_return_type(self): """This test validates return types for functions: 1. :meth:`robottelo.datafactory.generate_strings_list` 2. :meth:`robottelo.datafactory.invalid_emails_list` 3. :meth:`robottelo.datafactory.invalid_names_list` 4. :meth:`robottelo.datafactory.valid_data_list` 5. :meth:`robottelo.datafactory.valid_docker_repository_names` 6. :meth:`robottelo.datafactory.valid_emails_list` 7. :meth:`robottelo.datafactory.valid_environments_list` 8. :meth:`robottelo.datafactory.valid_hosts_list` 9. :meth:`robottelo.datafactory.valid_hostgroups_list` 10. :meth:`robottelo.datafactory.valid_labels_list` 11. :meth:`robottelo.datafactory.valid_names_list` 12. :meth:`robottelo.datafactory.valid_org_names_list` 13. :meth:`robottelo.datafactory.valid_usernames_list` 14. :meth:`robottelo.datafactory.invalid_id_list` 15. :meth:`robottelo.datafactory.invalid_interfaces_list` 16. :meth:`robottelo.datafactory.valid_interfaces_list` 17. :meth:`robottelo.datafactory.valid_cron_expressions` """ with mock.patch('robottelo.datafactory.bz_bug_is_open', return_value=False): for item in itertools.chain( generate_strings_list(), invalid_emails_list(), invalid_interfaces_list(), invalid_names_list(), valid_data_list(), valid_docker_repository_names(), valid_emails_list(), valid_environments_list(), valid_hosts_list(), valid_hostgroups_list(), valid_interfaces_list(), valid_labels_list(), valid_names_list(), valid_org_names_list(), valid_cron_expressions(), valid_usernames_list()): self.assertIsInstance(item, six.text_type) for item in invalid_id_list(): if not ( isinstance(item, (six.text_type, int)) or item is None ): self.fail('Unexpected data type')
def test_positive_create_with_name(self): """Check if content host can be created with random names @id: ad2b1b03-68a1-49c8-9523-4164fcd7ee14 @Assert: Content host is created and has random name """ for name in valid_hosts_list(): with self.subTest(name): new_system = make_content_host({ u'content-view-id': self.DEFAULT_CV['id'], u'lifecycle-environment-id': self.LIBRARY['id'], u'name': name, u'organization-id': self.NEW_ORG['id'], }) # Assert that name matches data passed self.assertEqual(new_system['name'], name)
def test_filtered_datapoint_False(self): """Tests if run_one_datapoint=True returns one data point""" settings.run_one_datapoint = True self.assertEqual(len(generate_strings_list()), 1) self.assertEqual(len(invalid_emails_list()), 1) self.assertEqual(len(invalid_id_list()), 1) self.assertEqual(len(invalid_names_list()), 1) self.assertEqual(len(invalid_values_list()), 1) self.assertEqual(len(valid_data_list()), 1) self.assertEqual(len(valid_emails_list()), 1) self.assertEqual(len(valid_environments_list()), 1) self.assertEqual(len(valid_hosts_list()), 1) self.assertEqual(len(valid_hostgroups_list()), 1) self.assertEqual(len(valid_labels_list()), 1) self.assertEqual(len(valid_names_list()), 1) self.assertEqual(len(valid_org_names_list()), 1) self.assertEqual(len(valid_usernames_list()), 1)
def test_return_type(self): """This test validates return types for functions: 1. :meth:`robottelo.datafactory.generate_strings_list` 2. :meth:`robottelo.datafactory.invalid_emails_list` 3. :meth:`robottelo.datafactory.invalid_environments_list` 4. :meth:`robottelo.datafactory.invalid_names_list` 5. :meth:`robottelo.datafactory.valid_data_list` 6. :meth:`robottelo.datafactory.valid_docker_repository_names` 7. :meth:`robottelo.datafactory.valid_emails_list` 8. :meth:`robottelo.datafactory.valid_environments_list` 9. :meth:`robottelo.datafactory.valid_hosts_list` 10. :meth:`robottelo.datafactory.valid_hostgroups_list` 11. :meth:`robottelo.datafactory.valid_labels_list` 12. :meth:`robottelo.datafactory.valid_names_list` 13. :meth:`robottelo.datafactory.valid_org_names_list` 14. :meth:`robottelo.datafactory.valid_usernames_list` 15. :meth:`robottelo.datafactory.invalid_id_list` 16. :meth:`robottelo.datafactory.invalid_interfaces_list` 17. :meth:`robottelo.datafactory.valid_interfaces_list` 18. :meth:`robottelo.datafactory.valid_cron_expressions` """ for item in itertools.chain( datafactory.generate_strings_list(), datafactory.invalid_emails_list(), datafactory.invalid_environments_list(), datafactory.invalid_interfaces_list(), datafactory.invalid_names_list(), datafactory.valid_data_list(), datafactory.valid_docker_repository_names(), datafactory.valid_emails_list(), datafactory.valid_environments_list(), datafactory.valid_hosts_list(), datafactory.valid_hostgroups_list(), datafactory.valid_interfaces_list(), datafactory.valid_labels_list(), datafactory.valid_names_list(), datafactory.valid_org_names_list(), datafactory.valid_cron_expressions(), datafactory.valid_usernames_list(), ): assert isinstance(item, str) for item in datafactory.invalid_id_list(): if not (isinstance(item, (str, int)) or item is None): pytest.fail('Unexpected data type')
def test_filtered_datapoint_True(self): """Tests if run_one_datapoint=false returns all data points""" settings.run_one_datapoint = False self.assertEqual(len(generate_strings_list()), 7) self.assertEqual(len(invalid_id_list()), 4) self.assertEqual(len(invalid_emails_list()), 10) self.assertEqual(len(invalid_names_list()), 7) self.assertEqual(len(invalid_values_list()), 10) self.assertEqual(len(invalid_usernames_list()), 4) self.assertEqual(len(valid_labels_list()), 2) self.assertEqual(len(valid_data_list()), 7) self.assertEqual(len(valid_emails_list()), 8) self.assertEqual(len(valid_environments_list()), 3) self.assertEqual(len(valid_hosts_list()), 3) self.assertEqual(len(valid_hostgroups_list()), 7) self.assertEqual(len(valid_names_list()), 15) self.assertEqual(len(valid_org_names_list()), 7) self.assertEqual(len(valid_usernames_list()), 6)
def test_positive_delete_by_name(self): """Check if content host can be created and deleted by passing its name @id: 22f1206c-b712-45e9-8e65-3a0a225d6188 @Assert: Content host is created and then deleted """ for name in valid_hosts_list(): with self.subTest(name): content_host = make_content_host({ u'content-view-id': self.DEFAULT_CV['id'], u'lifecycle-environment-id': self.LIBRARY['id'], u'name': name, u'organization-id': self.NEW_ORG['id'], }) ContentHost.delete({u'host': content_host['name']}) with self.assertRaises(CLIReturnCodeError): ContentHost.info({'id': content_host['id']})
def test_positive_bulk_destroy(self, module_org): """Destroy multiple hosts make sure that hosts were removed, or were not removed when host is excluded from the list. :id: 06d63376-8bf6-11eb-ab9f-98fa9b6ecd5a :expectedresults: Included list of hosts, that are not part of excluded list of host, are removed. :CaseImportance: Medium """ host_ids = [] for _ in range(3): name = gen_choice(valid_hosts_list()) host = entities.Host(name=name, organization=module_org).create() host_ids.append(host.id) entities.Host().bulk_destroy( data={ 'organization_id': module_org.id, 'included': { 'ids': host_ids }, 'excluded': { 'ids': host_ids[:-1] }, }) for host_id in host_ids[:-1]: result = entities.Host(id=host_id).read() assert result.id == host_id with pytest.raises(HTTPError): entities.Host(id=host_ids[-1]).read() entities.Host().bulk_destroy(data={ 'organization_id': module_org.id, 'included': { 'ids': host_ids[:-1] } }) for host_id in host_ids[:-1]: with pytest.raises(HTTPError): entities.Host(id=host_id).read()
def test_positive_update_name_by_id(self): """A host can be updated with a new random name. Use id to access the host @id: 058dbcbf-d543-483d-b755-be0602588464 @assert: A host is updated and the name matches """ for new_name in valid_hosts_list(): with self.subTest(new_name): Host.update({ 'id': self.host['id'], 'new-name': new_name, }) self.host = Host.info({'id': self.host['id']}) self.assertEqual( u'{0}.{1}'.format(new_name, self.host['network']['domain']), self.host['name'])
def test_filtered_datapoint_False(self): """Tests if run_one_datapoint=True returns one data point""" settings.run_one_datapoint = True self.assertEqual(len(generate_strings_list()), 1) self.assertEqual(len(invalid_emails_list()), 1) self.assertEqual(len(invalid_id_list()), 1) self.assertEqual(len(invalid_interfaces_list()), 1) self.assertEqual(len(invalid_names_list()), 1) self.assertEqual(len(invalid_values_list()), 1) self.assertEqual(len(valid_data_list()), 1) self.assertEqual(len(valid_docker_repository_names()), 1) self.assertEqual(len(valid_emails_list()), 1) self.assertEqual(len(valid_environments_list()), 1) self.assertEqual(len(valid_hosts_list()), 1) self.assertEqual(len(valid_hostgroups_list()), 1) self.assertEqual(len(valid_interfaces_list()), 1) self.assertEqual(len(valid_labels_list()), 1) self.assertEqual(len(valid_names_list()), 1) self.assertEqual(len(valid_org_names_list()), 1) self.assertEqual(len(valid_usernames_list()), 1)
def test_positive_update_name_by_id(self): """A host can be updated with a new random name. Use id to access the host @id: 058dbcbf-d543-483d-b755-be0602588464 @assert: A host is updated and the name matches """ for new_name in valid_hosts_list(): with self.subTest(new_name): Host.update({ 'id': self.host['id'], 'new-name': new_name, }) self.host = Host.info({'id': self.host['id']}) self.assertEqual( u'{0}.{1}'.format( new_name, self.host['network']['domain']), self.host['name'] )
def test_positive_delete_by_id(self): """Check if content host can be created and deleted by passing its ID @id: 1aa55e52-a97e-4c11-aab1-244bd4de0dd3 @Assert: Content host is created and then deleted @BZ: 1328202 """ for name in valid_hosts_list(): with self.subTest(name): content_host = make_content_host({ u'content-view-id': self.DEFAULT_CV['id'], u'lifecycle-environment-id': self.LIBRARY['id'], u'name': name, u'organization-id': self.NEW_ORG['id'], }) ContentHost.delete({u'host-id': content_host['id']}) with self.assertRaises(CLIReturnCodeError): ContentHost.info({'id': content_host['id']})
def test_positive_update_name_by_name(self): """A host can be updated with a new random name. Use name to access the host @id: f95a5952-17bd-49da-b2a7-c79f0614f1c7 @assert: A host is updated and the name matches """ for new_name in valid_hosts_list(): with self.subTest(new_name): Host.update({ 'name': self.host['name'], 'new-name': new_name, }) self.host = Host.info({ 'name': u'{0}.{1}'.format( new_name, self.host['network']['domain'])}) self.assertEqual( u'{0}.{1}'.format( new_name, self.host['network']['domain']), self.host['name'], )
def test_return_type(self): """This test validates return types for functions: 1. :meth:`robottelo.datafactory.generate_strings_list` 2. :meth:`robottelo.datafactory.invalid_emails_list` 3. :meth:`robottelo.datafactory.invalid_names_list` 4. :meth:`robottelo.datafactory.valid_data_list` 5. :meth:`robottelo.datafactory.valid_emails_list` 6. :meth:`robottelo.datafactory.valid_environments_list` 7. :meth:`robottelo.datafactory.valid_hosts_list` 8. :meth:`robottelo.datafactory.valid_hostgroups_list` 9. :meth:`robottelo.datafactory.valid_labels_list` 10. :meth:`robottelo.datafactory.valid_names_list` 11. :meth:`robottelo.datafactory.valid_org_names_list` 12. :meth:`robottelo.datafactory.valid_usernames_list` 13. :meth:`robottelo.datafactory.invalid_id_list` 14. :meth:`robottelo.datafactory.invalid_interfaces_list` 15. :meth:`robottelo.datafactory.valid_interfaces_list` """ for item in itertools.chain(generate_strings_list(), invalid_emails_list(), invalid_interfaces_list(), invalid_names_list(), valid_data_list(), valid_emails_list(), valid_environments_list(), valid_hosts_list(), valid_hostgroups_list(), valid_interfaces_list(), valid_labels_list(), valid_names_list(), valid_org_names_list(), valid_usernames_list()): self.assertIsInstance(item, six.text_type) for item in invalid_id_list(): if not (isinstance(item, (six.text_type, int)) or item is None): self.fail('Unexpected data type')