def test_add_cancelled_validation_infra(appliance): """Tests that the flash message is correct when add is cancelled.""" prov = VMwareProvider() prov.create(cancel=True) view = appliance.browser.create_view(InfraProvidersView) view.flash.assert_success_message( 'Add of Infrastructure Provider was cancelled by the user')
def pytest_generate_tests(metafunc): argnames, argvalues, idlist = testgen.provider_by_type( metafunc, ['virtualcenter']) argnames = argnames + ["_host_provider"] new_idlist = [] new_argvalues = [] for i, argvalue_tuple in enumerate(argvalues): args = dict(zip(argnames, argvalue_tuple)) if args['provider'].type != "virtualcenter": continue hosts = args['provider'].data.get("hosts", []) if not hosts: continue version = args['provider'].data.get("version", None) if version is None: # No version, no test continue if Version(version) < "5.0": # Ignore lesser than 5 continue host = hosts[0] creds = credentials[host["credentials"]] ip_address = resolve_hostname(host["name"]) cred = VMwareProvider.Credential(principal=creds["username"], secret=creds["password"], verify_secret=creds["password"]) # Mock provider data provider_data = {} provider_data.update(args['provider'].data) provider_data["name"] = host["name"] provider_data["hostname"] = host["name"] provider_data["ipaddress"] = ip_address provider_data["credentials"] = host["credentials"] provider_data.pop("host_provisioning", None) provider_data["hosts"] = [host] provider_data["discovery_range"] = {} provider_data["discovery_range"]["start"] = ip_address provider_data["discovery_range"]["end"] = ip_address host_provider = VMwareProvider( name=host["name"], hostname=host["name"], ip_address=ip_address, credentials={'default': cred}, provider_data=provider_data, ) argvalues[i].append(host_provider) idlist[i] = "{}/{}".format(args['provider'].key, host["name"]) new_idlist.append(idlist[i]) new_argvalues.append(argvalues[i]) testgen.parametrize(metafunc, argnames, new_argvalues, ids=new_idlist, scope="module")
def test_ip_required_validation(): """Test to validate the ip address while adding a provider""" prov = VMwareProvider(name=fauxfactory.gen_alphanumeric(5), hostname=fauxfactory.gen_alphanumeric(5), ip_address=None) with error.expected("IP Address can't be blank"): prov.create()
def test_ip_required_validation(): """Test to validate the ip address while adding a provider""" prov = VMwareProvider( name=fauxfactory.gen_alphanumeric(5), hostname=fauxfactory.gen_alphanumeric(5), ip_address=None) with error.expected("IP Address can't be blank"): prov.create()
def test_add_cancelled_validation(): """Tests that the flash message is correct when add is cancelled.""" prov = VMwareProvider() prov.create(cancel=True) if version.current_version() >= 5.6: msg = 'Add of Infrastructure Provider was cancelled by the user' else: msg = 'Add of new Infrastructure Provider was cancelled by the user' flash.assert_message_match(msg)
def test_host_name_max_character_validation_infra(): """Test to validate max character for host name field""" endpoint = VirtualCenterEndpoint(hostname=fauxfactory.gen_alphanumeric(256)) prov = VMwareProvider(name=fauxfactory.gen_alphanumeric(5), endpoints=endpoint) try: prov.create() except AssertionError: view = prov.create_view(prov.endpoints_form) assert view.hostname.value == prov.hostname[0:255]
def test_name_required_validation_infra(): """Tests to validate the name while adding a provider""" endpoint = VirtualCenterEndpoint(hostname=fauxfactory.gen_alphanumeric(5)) prov = VMwareProvider(name=None, endpoints=endpoint) with pytest.raises(AssertionError): prov.create() view = prov.create_view(InfraProviderAddView) assert view.name.help_block == "Required" assert not view.add.active
def test_host_name_max_character_validation(): """Test to validate max character for host name field""" prov = VMwareProvider(name=fauxfactory.gen_alphanumeric(5), hostname=fauxfactory.gen_alphanumeric(256), ip_address='10.10.10.13') try: prov.create() except FlashMessageException: element = sel.move_to_element( prov.properties_form.locators["hostname_text"]) text = element.get_attribute('value') assert text == prov.hostname[0:255]
def test_host_name_max_character_validation(): """Test to validate max character for host name field""" prov = VMwareProvider( name=fauxfactory.gen_alphanumeric(5), hostname=fauxfactory.gen_alphanumeric(256), ip_address='10.10.10.13') try: prov.create() except FlashMessageException: element = sel.move_to_element(prov.properties_form.locators["hostname_text"]) text = element.get_attribute('value') assert text == prov.hostname[0:255]
def test_name_required_validation_infra(): """Tests to validate the name while adding a provider""" endpoint = VirtualCenterEndpoint(hostname=fauxfactory.gen_alphanumeric(5)) prov = VMwareProvider( name=None, endpoints=endpoint) with pytest.raises(AssertionError): prov.create() view = prov.create_view(InfraProviderAddView) assert view.name.help_block == "Required" assert not view.add.active
def test_infrastructure_add_provider_trailing_whitespaces(): """Test to validate the hostname and username should be without whitespaces""" credentials = Credential(principal="test test", secret=fauxfactory.gen_alphanumeric(5)) endpoint = VirtualCenterEndpoint(hostname="test test", credentials=credentials) prov = VMwareProvider(name=fauxfactory.gen_alphanumeric(5), endpoints=endpoint) with pytest.raises(AssertionError): prov.create() view = prov.create_view(prov.endpoints_form) assert view.hostname.help_block == "Spaces are prohibited" assert view.username.help_block == "Spaces are prohibited" view = prov.create_view(InfraProviderAddView) assert not view.add.active
def test_name_required_validation(): """Tests to validate the name while adding a provider""" endpoint = VirtualCenterEndpoint(hostname=fauxfactory.gen_alphanumeric(5)) prov = VMwareProvider(name=None, endpoints=endpoint) err = version.pick({ version.LOWEST: "Name can't be blank", '5.6': FlashMessageException }) with error.expected(err): prov.create() view = prov.create_view(ProviderAddView) assert view.name.help_block == "Required" assert not view.add.active
def test_host_name_required_validation(): """Test to validate the hostname while adding a provider""" prov = VMwareProvider(name=fauxfactory.gen_alphanumeric(5), hostname=None, ip_address='10.10.10.11') err = version.pick({ version.LOWEST: "Host Name can't be blank", '5.6': FlashMessageException }) with error.expected(err): prov.create() if version.current_version() >= 5.6: assert prov.properties_form.hostname_text.angular_help_block == "Required" assert prov.add_provider_button.is_dimmed
def test_host_name_required_validation(): """Test to validate the hostname while adding a provider""" prov = VMwareProvider( name=fauxfactory.gen_alphanumeric(5), hostname=None, ip_address='10.10.10.11') err = version.pick( {version.LOWEST: "Host Name can't be blank", '5.6': FlashMessageException}) with error.expected(err): prov.create() if version.current_version() >= 5.6: assert prov.properties_form.hostname_text.angular_help_block == "Required" assert prov.add_provider_button.is_dimmed
def pytest_generate_tests(metafunc): argnames, argvalues, idlist = testgen.providers_by_class( metafunc, [VMwareProvider]) argnames = argnames + ["_host_provider"] new_idlist = [] new_argvalues = [] for i, argvalue_tuple in enumerate(argvalues): args = dict(zip(argnames, argvalue_tuple)) # TODO # All this should be replaced with a proper ProviderFilter passed to testgen.providers() if args['provider'].type != "virtualcenter": continue hosts = args['provider'].data.get("hosts", []) if not hosts: continue version = args['provider'].data.get("version") if version is None: # No version, no test continue if Version(version) < "5.0": # Ignore lesser than 5 continue host = hosts[0] ip_address = resolve_hostname(host["name"]) endpoint = DefaultEndpoint(credentials=host["credentials"], hostname=host["name"]) # Mock provider data provider_data = {} provider_data.update(args['provider'].data) provider_data["name"] = host["name"] provider_data["hostname"] = host["name"] provider_data["ipaddress"] = ip_address provider_data.pop("host_provisioning", None) provider_data["hosts"] = [host] provider_data["discovery_range"] = {} provider_data["discovery_range"]["start"] = ip_address provider_data["discovery_range"]["end"] = ip_address host_provider = VMwareProvider(name=host["name"], ip_address=ip_address, endpoints=endpoint, provider_data=provider_data) argvalues[i].append(host_provider) idlist[i] = "{}/{}".format(args['provider'].key, host["name"]) new_idlist.append(idlist[i]) new_argvalues.append(argvalues[i]) testgen.parametrize(metafunc, argnames, new_argvalues, ids=new_idlist, scope="module")
def test_ip_max_character_validation(): """Test to validate max character for ip address field""" prov = VMwareProvider( name=fauxfactory.gen_alphanumeric(5), hostname=fauxfactory.gen_alphanumeric(5), ip_address='10.10.10.14') prov.create() prov.delete(cancel=False)
def test_host_name_required_validation(): """Test to validate the hostname while adding a provider""" endpoint = VirtualCenterEndpoint(hostname=None) prov = VMwareProvider(name=fauxfactory.gen_alphanumeric(5), endpoints=endpoint) err = FlashMessageException with error.expected(err): prov.create() view = prov.create_view(prov.endpoints_form) assert view.hostname.help_block == "Required" view = prov.create_view(ProviderAddView) assert not view.add.active
def test_add_cancelled_validation_infra(appliance): """Tests that the flash message is correct when add is cancelled.""" prov = VMwareProvider() prov.create(cancel=True) view = appliance.browser.create_view(InfraProvidersView) view.flash.assert_success_message('Add of Infrastructure Provider was cancelled by the user')