Leverage on Xtesting
[functest.git] / functest / opnfv_tests / sdn / odl / odl.py
index 6c05c01..0940fad 100644 (file)
@@ -26,10 +26,12 @@ import re
 import sys
 
 from six.moves import urllib
+from snaps.openstack.utils import keystone_utils
 
-from functest.core import robotframework
-from functest.utils import constants
-import functest.utils.openstack_utils as op_utils
+from functest.opnfv_tests.openstack.snaps import snaps_utils
+from functest.utils import config
+from functest.utils import env
+from xtesting.core import robotframework
 
 __author__ = "Cedric Ollivier <cedric.ollivier@orange.com>"
 
@@ -37,7 +39,7 @@ __author__ = "Cedric Ollivier <cedric.ollivier@orange.com>"
 class ODLTests(robotframework.RobotFramework):
     """ODL test runner."""
 
-    odl_test_repo = constants.CONST.__getattribute__('dir_repo_odl_test')
+    odl_test_repo = getattr(config.CONF, 'dir_repo_odl_test')
     neutron_suite_dir = os.path.join(
         odl_test_repo, "csit/suites/openstack/neutron")
     basic_suite_dir = os.path.join(
@@ -50,7 +52,7 @@ class ODLTests(robotframework.RobotFramework):
     def __init__(self, **kwargs):
         super(ODLTests, self).__init__(**kwargs)
         self.res_dir = os.path.join(
-            constants.CONST.__getattribute__('dir_results'), 'odl')
+            getattr(config.CONF, 'dir_results'), 'odl')
         self.xml_file = os.path.join(self.res_dir, 'output.xml')
 
     @classmethod
@@ -139,7 +141,7 @@ class ODLTests(robotframework.RobotFramework):
     def run(self, **kwargs):
         """Run suites in OPNFV environment
 
-        It basically check env vars to call main() with the keywords
+        It basically checks env vars to call main() with the keywords
         required.
 
         Args:
@@ -155,17 +157,16 @@ class ODLTests(robotframework.RobotFramework):
                 suites = kwargs["suites"]
             except KeyError:
                 pass
-            kwargs = {'neutronurl': op_utils.get_endpoint(
-                service_type='network')}
+            snaps_creds = snaps_utils.get_credentials()
+            kwargs = {'neutronurl': keystone_utils.get_endpoint(
+                snaps_creds, 'network')}
             kwargs['odlip'] = urllib.parse.urlparse(
                 kwargs['neutronurl']).hostname
             kwargs['odlwebport'] = '8080'
             kwargs['odlrestconfport'] = '8181'
             kwargs['odlusername'] = 'admin'
             kwargs['odlpassword'] = 'admin'
-            installer_type = None
-            if 'INSTALLER_TYPE' in os.environ:
-                installer_type = os.environ['INSTALLER_TYPE']
+            installer_type = env.get('INSTALLER_TYPE')
             kwargs['osusername'] = os.environ['OS_USERNAME']
             kwargs['osuserdomainname'] = os.environ.get(
                 'OS_USER_DOMAIN_NAME', 'Default')
@@ -178,19 +179,18 @@ class ODLTests(robotframework.RobotFramework):
                 kwargs['odlwebport'] = '8181'
                 kwargs['odlrestconfport'] = '8282'
             elif installer_type == 'apex' or installer_type == 'netvirt':
-                kwargs['odlip'] = os.environ['SDN_CONTROLLER_IP']
+                kwargs['odlip'] = env.get('SDN_CONTROLLER_IP')
                 kwargs['odlwebport'] = '8081'
                 kwargs['odlrestconfport'] = '8081'
-            elif installer_type == 'joid':
-                kwargs['odlip'] = os.environ['SDN_CONTROLLER']
             elif installer_type == 'compass':
                 kwargs['odlrestconfport'] = '8080'
             elif installer_type == 'daisy':
-                kwargs['odlip'] = os.environ['SDN_CONTROLLER_IP']
+                kwargs['odlip'] = env.get('SDN_CONTROLLER_IP')
                 kwargs['odlwebport'] = '8181'
                 kwargs['odlrestconfport'] = '8087'
             else:
-                kwargs['odlip'] = os.environ['SDN_CONTROLLER_IP']
+                kwargs['odlip'] = env.get('SDN_CONTROLLER_IP')
+            assert kwargs['odlip']
         except KeyError as ex:
             self.__logger.error("Cannot run ODL testcases. "
                                 "Please check env var: "
@@ -274,7 +274,6 @@ def main():
             return result
         if args['pushtodb']:
             return odl.push_to_db()
-        else:
-            return result
+        return result
     except Exception:  # pylint: disable=broad-except
         return robotframework.RobotFramework.EX_RUN_ERROR