Modify the auth process for ODL. 75/21775/1
authorThomas Duval <thomas.duval@orange.com>
Mon, 12 Sep 2016 09:36:31 +0000 (11:36 +0200)
committerThomas Duval <thomas.duval@orange.com>
Tue, 20 Sep 2016 08:38:38 +0000 (10:38 +0200)
Change-Id: I9e6b8545166a1f3c747298184461cb49f1c72684
(cherry picked from commit 42357cd33b44b22dbebec8cdecdb29b9d76e5f99)

tests/run_tests.py

index 80dce69..fbc4306 100755 (executable)
@@ -15,6 +15,8 @@ import time
 import yaml
 import subprocess
 import json
+import requests
+from requests.auth import HTTPBasicAuth
 try:
     import http.client as client
 except ImportError:
@@ -104,15 +106,18 @@ def test_federation():
     #     return False, "Not able to retrieve ODL token on {}:{} (error code: {}).".format(nhost, "8181", resp.status)
 
     # Retrieve basic auth from ODL
-    auth_handler = HTTPBasicAuthHandler()
-    auth_handler.add_password(realm='Moon',
-                              uri='http://{host}:{port}/auth/v1/domains'.format(host=nhost, port=nport),
-                              user=username,
-                              passwd=password)
-    opener = build_opener(auth_handler)
-    install_opener(opener)
-    url = urlopen('http://{host}:{port}/auth/v1/domains'.format(host=nhost, port=nport))
-    code = url.getcode()
+    # auth_handler = HTTPBasicAuthHandler()
+    # auth_handler.add_password(realm='Moon',
+    #                           uri='http://{host}:{port}'.format(host=nhost, port=nport),
+    #                           user=username,
+    #                           passwd=password)
+    # opener = build_opener(auth_handler)
+    # install_opener(opener)
+    # url = urlopen('http://{host}:{port}/auth/v1/domains'.format(host=nhost, port=nport))
+    # code = url.getcode()
+    auth = HTTPBasicAuth(username, password)
+    req = requests.get(url='http://{host}:{port}/auth/v1/domains'.format(host=nhost, port=nport), auth=auth)
+    code = req.status_code
     if code not in (200, 201, 202, 204):
         return False, "Not able to authenticate to ODL (error code: {}).".format(code)
     return True, ""