from robot.result import testcase
from robot.utils.robottime import timestamp_to_secs
-mock.patch('logging.FileHandler').start() # noqa
from functest.core import testcase_base
from functest.opnfv_tests.sdn.odl import odl
_keystone_ip = "127.0.0.1"
_neutron_ip = "127.0.0.2"
_sdn_controller_ip = "127.0.0.3"
+ _os_auth_url = "http://{}:5000/v2.0".format(_keystone_ip)
_os_tenantname = "admin"
_os_username = "admin"
_os_password = "admin"
for var in ("INSTALLER_TYPE", "SDN_CONTROLLER", "SDN_CONTROLLER_IP"):
if var in os.environ:
del os.environ[var]
+ os.environ["OS_AUTH_URL"] = self._os_auth_url
os.environ["OS_USERNAME"] = self._os_username
os.environ["OS_PASSWORD"] = self._os_password
os.environ["OS_TENANT_NAME"] = self._os_tenantname
self.test = odl.ODLTests()
self.defaultargs = {'odlusername': self._odl_username,
'odlpassword': self._odl_password,
- 'keystoneip': self._keystone_ip,
'neutronip': self._keystone_ip,
+ 'osauthurl': self._os_auth_url,
'osusername': self._os_username,
'ostenantname': self._os_tenantname,
'ospassword': self._os_password,
def _get_main_kwargs(self, key=None):
kwargs = {'odlusername': self._odl_username,
'odlpassword': self._odl_password,
- 'keystoneip': self._keystone_ip,
'neutronip': self._neutron_ip,
+ 'osauthurl': self._os_auth_url,
'osusername': self._os_username,
'ostenantname': self._os_tenantname,
'ospassword': self._os_password,
if len(args) > 1:
variable = ['KEYSTONE:{}'.format(self._keystone_ip),
'NEUTRON:{}'.format(self._neutron_ip),
+ 'OS_AUTH_URL:"{}"'.format(self._os_auth_url),
'OSUSERNAME:"{}"'.format(self._os_username),
'OSTENANTNAME:"{}"'.format(self._os_tenantname),
'OSPASSWORD:"{}"'.format(self._os_password),
def test_main_missing_odlpassword(self):
self._test_main_missing_keyword('odlpassword')
- def test_main_missing_keystoneip(self):
- self._test_main_missing_keyword('keystoneip')
-
def test_main_missing_neutronip(self):
self._test_main_missing_keyword('neutronip')
+ def test_main_missing_osauthurl(self):
+ self._test_main_missing_keyword('osauthurl')
+
def test_main_missing_osusername(self):
self._test_main_missing_keyword('osusername')
testcase_base.TestcaseBase.EX_RUN_ERROR)
def _test_run(self, status=testcase_base.TestcaseBase.EX_OK,
- exception=None, odlip="127.0.0.3", odlwebport="8080"):
+ exception=None, odlip="127.0.0.3", odlwebport="8080",
+ odlrestconfport="8181"):
with mock.patch('functest.utils.openstack_utils.get_endpoint',
side_effect=self._fake_url_for):
if exception:
self.test.main = mock.Mock(return_value=status)
self.assertEqual(self.test.run(), status)
self.test.main.assert_called_once_with(
- keystoneip=self._keystone_ip, neutronip=self._neutron_ip,
+ odl.ODLTests.default_suites,
+ neutronip=self._neutron_ip,
odlip=odlip, odlpassword=self._odl_password,
- odlrestconfport=self._odl_restconfport,
+ odlrestconfport=odlrestconfport,
odlusername=self._odl_username, odlwebport=odlwebport,
+ osauthurl=self._os_auth_url,
+ ospassword=self._os_password, ostenantname=self._os_tenantname,
+ osusername=self._os_username)
+
+ def _test_run_defining_multiple_suites(
+ self, suites,
+ status=testcase_base.TestcaseBase.EX_OK,
+ exception=None, odlip="127.0.0.3", odlwebport="8080",
+ odlrestconfport="8181"):
+ with mock.patch('functest.utils.openstack_utils.get_endpoint',
+ side_effect=self._fake_url_for):
+ if exception:
+ self.test.main = mock.Mock(side_effect=exception)
+ else:
+ self.test.main = mock.Mock(return_value=status)
+ self.assertEqual(self.test.run(suites=suites), status)
+ self.test.main.assert_called_once_with(
+ suites,
+ neutronip=self._neutron_ip,
+ odlip=odlip, odlpassword=self._odl_password,
+ odlrestconfport=odlrestconfport,
+ odlusername=self._odl_username, odlwebport=odlwebport,
+ osauthurl=self._os_auth_url,
ospassword=self._os_password, ostenantname=self._os_tenantname,
osusername=self._os_username)
self.assertEqual(self.test.run(),
testcase_base.TestcaseBase.EX_RUN_ERROR)
+ def test_run_missing_os_auth_url(self):
+ self._test_run_missing_env_var("OS_AUTH_URL")
+
def test_run_missing_os_username(self):
self._test_run_missing_env_var("OS_USERNAME")
odlip=self._sdn_controller_ip,
odlwebport=self._odl_webport)
+ def test_run_redefining_suites(self):
+ os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip
+ self._test_run_defining_multiple_suites(
+ [odl.ODLTests.basic_suite_dir],
+ testcase_base.TestcaseBase.EX_OK,
+ odlip=self._sdn_controller_ip,
+ odlwebport=self._odl_webport)
+
def test_run_fuel(self):
os.environ["INSTALLER_TYPE"] = "fuel"
self._test_run(testcase_base.TestcaseBase.EX_OK,
os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip
os.environ["INSTALLER_TYPE"] = "apex"
self._test_run(testcase_base.TestcaseBase.EX_OK,
- odlip=self._sdn_controller_ip, odlwebport='8181')
+ odlip=self._sdn_controller_ip, odlwebport='8081',
+ odlrestconfport='8081')
+
+ def test_run_netvirt_missing_sdn_controller_ip(self):
+ with mock.patch('functest.utils.openstack_utils.get_endpoint',
+ side_effect=self._fake_url_for):
+ os.environ["INSTALLER_TYPE"] = "netvirt"
+ self.assertEqual(self.test.run(),
+ testcase_base.TestcaseBase.EX_RUN_ERROR)
+
+ def test_run_netvirt(self):
+ os.environ["SDN_CONTROLLER_IP"] = self._sdn_controller_ip
+ os.environ["INSTALLER_TYPE"] = "netvirt"
+ self._test_run(testcase_base.TestcaseBase.EX_OK,
+ odlip=self._sdn_controller_ip, odlwebport='8081',
+ odlrestconfport='8081')
def test_run_joid_missing_sdn_controller(self):
with mock.patch('functest.utils.openstack_utils.get_endpoint',
def test_argparser_odlpassword(self):
self._test_argparser('odlpassword', 'foo')
- def test_argparser_keystoneip(self):
- self._test_argparser('keystoneip', '127.0.0.4')
+ def test_argparser_osauthurl(self):
+ self._test_argparser('osauthurl', 'http://127.0.0.4:5000/v2')
def test_argparser_neutronip(self):
self._test_argparser('neutronip', '127.0.0.4')