[VOL-2282]
Python 3 compatibility fixes and reorg
Moved the VOLTHA 1.x testCaseUtils.py to this repo, used by OLT.robot
Change-Id: I6936421e0d3155ad79c74e28058b8c0865daf107
diff --git a/src/test/cord-api/Framework/restApi.py b/src/test/cord-api/Framework/restApi.py
index aaebbc6..8e7007d 100644
--- a/src/test/cord-api/Framework/restApi.py
+++ b/src/test/cord-api/Framework/restApi.py
@@ -1,4 +1,3 @@
-
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -13,33 +12,42 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+from __future__ import absolute_import, print_function
-#!/usr/bin/env python
-import requests, json, os, sys, time
-#sys.path.append('common-utils')
-sys.path.append(os.path.join(sys.path[0],'utils'))
-from readProperties import readProperties
+import requests
+import json
+import os
+
+from utils.readProperties import readProperties
+
class restApi(object):
- '''
+ """
Functions for testing CORD API with POST, GET, PUT, DELETE method
- '''
+ """
+
def __init__(self, propertyFile="RestApiProperties.py"):
- self.rp = readProperties(os.path.abspath(os.path.dirname(__file__))+"/../Properties/"+ propertyFile)
+ self.rp = readProperties(
+ os.path.abspath(os.path.join(
+ os.path.dirname(__file__),
+ "../Properties/",
+ propertyFile,
+ ))
+ )
self.controllerIP = self.getValueFromProperties("SERVER_IP")
self.controllerPort = self.getValueFromProperties("SERVER_PORT")
self.user = self.getValueFromProperties("XOS_USER")
self.password = self.getValueFromProperties("XOS_PASSWD")
- self.jsonHeader = {'Content-Type': 'application/json'}
+ self.jsonHeader = {"Content-Type": "application/json"}
def getValueFromProperties(self, key):
- '''
+ """
Get and return values from properties file
- '''
+ """
try:
rawValue = self.rp.getValueProperties(key)
- value = rawValue.replace("'","")
- except:
+ value = rawValue.replace("'", "")
+ except BaseException:
value = None
# Allow override from environment
@@ -49,47 +57,55 @@
return value
def getURL(self, key):
- '''
+ """
Get REST API suffix from key and return the full URL
- '''
- urlSuffix = self.getValueFromProperties(key)
+ """
+ urlSuffix = self.getValueFromProperties(key)
url = "http://" + self.controllerIP + ":" + self.controllerPort + urlSuffix
return url
def checkResult(self, resp, expectedStatus):
- '''
+ """
Check if the status code in resp equals to the expected number.
Return True or False based on the check result.
- '''
+ """
if resp.status_code == expectedStatus:
- print "Test passed: " + str(resp.status_code) + ": " + resp.text
+ print("Test passed: " + str(resp.status_code) + ": " + resp.text)
return True
else:
- print "Test failed: " + str(resp.status_code) + ": " + resp.text
+ print("Test failed: " + str(resp.status_code) + ": " + resp.text)
return False
def ApiPost(self, key, jsonData):
url = self.getURL(key)
data = json.dumps(jsonData)
- print "url, data..", url, data
- resp = requests.post(url, data=data, headers=self.jsonHeader, auth=(self.user, self.password))
- print "requests.codes.....",requests.codes.created
- passed = self.checkResult(resp, requests.codes.created) or self.checkResult(resp, requests.codes.ok)
+ print("url, data..", url, data)
+ resp = requests.post(
+ url, data=data, headers=self.jsonHeader, auth=(self.user, self.password)
+ )
+ print("requests.codes.....", requests.codes.created)
+ passed = self.checkResult(resp, requests.codes.created) or self.checkResult(
+ resp, requests.codes.ok
+ )
return passed
def ApiPostReturnJson(self, key, jsonData):
url = self.getURL(key)
data = json.dumps(jsonData)
- print "url, data..", url, data
- resp = requests.post(url, data=data, headers=self.jsonHeader, auth=(self.user, self.password))
- print "requests.codes.....",requests.codes.created
- print "posted data...", resp.json()
- passed = self.checkResult(resp, requests.codes.created) or self.checkResult(resp, requests.codes.ok)
+ print("url, data..", url, data)
+ resp = requests.post(
+ url, data=data, headers=self.jsonHeader, auth=(self.user, self.password)
+ )
+ print("requests.codes.....", requests.codes.created)
+ print("posted data...", resp.json())
+ passed = self.checkResult(resp, requests.codes.created) or self.checkResult(
+ resp, requests.codes.ok
+ )
return passed, resp.json()
def ApiGet(self, key, urlSuffix=""):
url = self.getURL(key) + str(urlSuffix)
- print "get url...",url
+ print("get url...", url)
resp = requests.get(url, auth=(self.user, self.password))
passed = self.checkResult(resp, requests.codes.ok)
if not passed:
@@ -99,7 +115,7 @@
def ApiChameleonGet(self, key, urlSuffix=""):
url = self.getURL(key) + "/" + str(urlSuffix)
- print "get url...",url
+ print("get url...", url)
resp = requests.get(url, auth=(self.user, self.password))
passed = self.checkResult(resp, requests.codes.ok)
if not passed:
@@ -108,34 +124,38 @@
return resp.json()
def ApiPut(self, key, jsonData, urlSuffix=""):
- print "urlSuffix....",type(urlSuffix)
+ print("urlSuffix....", type(urlSuffix))
url = self.getURL(key) + str(urlSuffix) + "/"
data = json.dumps(jsonData)
- resp = requests.put(url, data=data, headers=self.jsonHeader, auth=(self.user, self.password))
+ resp = requests.put(
+ url, data=data, headers=self.jsonHeader, auth=(self.user, self.password)
+ )
passed = self.checkResult(resp, requests.codes.ok)
return passed
def ApiChameleonPut(self, key, jsonData, urlSuffix=""):
- print "urlSuffix....",type(urlSuffix)
+ print("urlSuffix....", type(urlSuffix))
url = self.getURL(key) + "/" + str(urlSuffix)
- print "url", url
+ print("url", url)
data = json.dumps(jsonData)
- resp = requests.put(url, data=data, headers=self.jsonHeader, auth=(self.user, self.password))
+ resp = requests.put(
+ url, data=data, headers=self.jsonHeader, auth=(self.user, self.password)
+ )
passed = self.checkResult(resp, requests.codes.ok)
return passed
def ApiDelete(self, key, urlSuffix=""):
url = self.getURL(key) + str(urlSuffix)
- print "url",url
+ print("url", url)
resp = requests.delete(url, auth=(self.user, self.password))
passed = self.checkResult(resp, requests.codes.no_content)
return passed
def ApiChameleonDelete(self, key, urlSuffix=""):
url = self.getURL(key) + "/" + str(urlSuffix)
- print "url",url
+ print("url", url)
resp = requests.delete(url, auth=(self.user, self.password))
- #passed = self.checkResult(resp, requests.codes.no_content)
- passed = self.checkResult(resp, requests.codes.created) or self.checkResult(resp, requests.codes.ok)
+ passed = self.checkResult(resp, requests.codes.created) or self.checkResult(
+ resp, requests.codes.ok
+ )
return passed
-