aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Duval <thomas.duval@orange.com>2016-09-13 15:23:31 +0200
committerThomas Duval <thomas.duval@orange.com>2016-09-20 10:38:38 +0200
commit1fc5900218897aa694134019c47671ab789eee1e (patch)
treec686ec843eef7e929414b14eb737f7792c05531c
parentba20dff39a897ff8dbd71260c42da923c9bdcf7a (diff)
Set the test user to the admin role
Change-Id: I62bf2fd4c4af864666024909130c30a08b745744 (cherry picked from commit 91dca3635e79277e58ab1f413ca840654e33635b)
-rwxr-xr-xtests/run_tests.py60
1 files changed, 21 insertions, 39 deletions
diff --git a/tests/run_tests.py b/tests/run_tests.py
index fbc43069..e28f7614 100755
--- a/tests/run_tests.py
+++ b/tests/run_tests.py
@@ -21,6 +21,14 @@ try:
import http.client as client
except ImportError:
import httplib as client
+try:
+ # Python3 version
+ from urllib.request import urlopen, HTTPBasicAuthHandler, build_opener, install_opener
+except ImportError:
+ # Python2 version
+ from urllib import urlopen
+ from urllib2 import HTTPBasicAuthHandler, build_opener, install_opener
+
PORT_ODL = 8181
HOST_ODL = "localhost"
@@ -41,13 +49,6 @@ COPPER_REPO = dirs.get('dir_repo_moon')
TEST_DB_URL = functest_yaml.get('results').get('test_db_url')
logger = ft_logger.Logger("moon").getLogger()
-try:
- # Python3 version
- from urllib.request import urlopen, HTTPBasicAuthHandler, build_opener, install_opener
-except ImportError:
- # Python2 version
- from urllib import urlopen
- from urllib2 import HTTPBasicAuthHandler, build_opener, install_opener
def __get_endpoint_url(name="keystone"):
@@ -70,6 +71,10 @@ def test_federation():
proc = subprocess.Popen(["openstack", "user", "create", "--password", password, username, "-f", "yaml"], stdout=subprocess.PIPE)
logger.info("Create new user ({})".format(proc.stdout.read()))
+ # Add the role admin to our new user
+ proc = subprocess.Popen(["openstack", "role", "add ", "--project", "admin", "--user", username, "admin", "-f", "yaml"], stdout=subprocess.PIPE)
+ logger.info("Add the role admin to our new user ({})".format(proc.stdout.read()))
+
# Retrieve Moon token
nhost, nport = __get_endpoint_url()
auth_data = {'username': username, 'password': password}
@@ -84,37 +89,14 @@ def test_federation():
# Test ODL auth
nhost, nport = __get_endpoint_url(name="neutron")
nport = "8181"
- auth_data = {'username': 'admin', 'password': 'console'}
-
- # Get basic auth with curl
- # proc = subprocess.Popen("curl -u {}:{} http://{}:{}/auth/v1/domains".format(
- # auth_data["username"], auth_data["password"], nhost, nport),
- # stdout=subprocess.PIPE, stderr=subprocess.PIPE)
- # _stdout = proc.stdout.read()
- # _stderr = proc.stderr.read()
- # if len(_stdout) > 0:
- # _stdout_json = json.loads(_stdout)
- # if _stdout_json['code'] not in (200, 201, 202, 204):
- # return False, "Not able to retrieve ODL auth ({}).".format(_stdout)
-
- # Retrieve token from ODL
- # conn = client.HTTPConnection(nhost, "8181")
- # headers = {"Content-type": "application/json"}
- # conn.request("POST", "/auth/v1/domains", json.dumps(auth_data).encode('utf-8'), headers=headers)
- # resp = conn.getresponse()
- # if resp.status not in (200, 201, 202, 204):
- # 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}'.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()
+
+ # Test with basic login/pass
+ auth = HTTPBasicAuth("admin", "console")
+ 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 with admin (error code: {}).".format(code)
+
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
@@ -140,7 +122,7 @@ def main():
stop_time = time.time()
duration = round(stop_time - start_time, 1)
- if result_os == 0 and result_odl[0]:
+ if result_os[0] == 0 and result_odl[0]:
logger.info("OS MOON PASSED")
test_status = 'PASS'
else: