summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTiago Natel <t.nateldemoura@f5.com>2019-11-26 16:00:11 +0000
committerTiago Natel <t.nateldemoura@f5.com>2019-11-26 16:00:11 +0000
commit224787bbaccfc2d065cbc6fb507820fe8d30cf61 (patch)
tree632952c7c2891d6e30699fd6b5a400c6efe11c14
parent01103c50055abef3640cef57d820567931bb3518 (diff)
downloadunit-224787bbaccfc2d065cbc6fb507820fe8d30cf61.tar.gz
unit-224787bbaccfc2d065cbc6fb507820fe8d30cf61.tar.bz2
Tests: added getjson() helper.
-rw-r--r--test/go/ns_inspect/app.go2
-rw-r--r--test/test_go_isolation.py14
-rw-r--r--test/unit/feature/isolation.py3
-rw-r--r--test/unit/http.py20
4 files changed, 29 insertions, 10 deletions
diff --git a/test/go/ns_inspect/app.go b/test/go/ns_inspect/app.go
index ebecbb00..aac2053e 100644
--- a/test/go/ns_inspect/app.go
+++ b/test/go/ns_inspect/app.go
@@ -70,6 +70,8 @@ func handler(w http.ResponseWriter, r *http.Request) {
return
}
+ w.Header().Add("Content-Type", "application/json")
+
w.Write(data)
}
diff --git a/test/test_go_isolation.py b/test/test_go_isolation.py
index a937c7a5..767346fb 100644
--- a/test/test_go_isolation.py
+++ b/test/test_go_isolation.py
@@ -32,7 +32,7 @@ class TestGoIsolation(TestApplicationGo):
def test_isolation_values(self):
self.load('ns_inspect')
- obj = self.isolation.parsejson(self.get()['body'])
+ obj = self.getjson()['body']
for ns, ns_value in self.available['features']['isolation'].items():
if ns.upper() in obj['NS']:
@@ -54,7 +54,7 @@ class TestGoIsolation(TestApplicationGo):
except:
group_id = grp.getgrnam('nobody').gr_gid
- obj = self.isolation.parsejson(self.get()['body'])
+ obj = self.getjson()['body']
self.assertTrue(obj['UID'] != 0, 'uid not zero')
self.assertTrue(obj['GID'] != 0, 'gid not zero')
@@ -68,7 +68,7 @@ class TestGoIsolation(TestApplicationGo):
self.conf_isolation({"namespaces": {"credential": True}})
- obj = self.isolation.parsejson(self.get()['body'])
+ obj = self.getjson()['body']
# default uid and gid maps current user to nobody
self.assertEqual(obj['UID'], user_id, 'uid nobody')
@@ -86,7 +86,7 @@ class TestGoIsolation(TestApplicationGo):
}
)
- obj = self.isolation.parsejson(self.get()['body'])
+ obj = self.getjson()['body']
self.assertEqual(obj['UID'], user_id, 'uid match')
self.assertEqual(obj['GID'], group_id, 'gid match')
@@ -105,7 +105,7 @@ class TestGoIsolation(TestApplicationGo):
{"namespaces": {"mount": True, "credential": True}}
)
- obj = self.isolation.parsejson(self.get()['body'])
+ obj = self.getjson()['body']
# all but user and mnt
allns = list(self.available['features']['isolation'].keys())
@@ -139,7 +139,7 @@ class TestGoIsolation(TestApplicationGo):
self.load('ns_inspect')
self.conf_isolation({"namespaces": {"pid": True, "credential": True}})
- obj = self.isolation.parsejson(self.get()['body'])
+ obj = self.getjson()['body']
self.assertEqual(obj['PID'], 1, 'pid of container is 1')
@@ -165,7 +165,7 @@ class TestGoIsolation(TestApplicationGo):
self.conf_isolation({"namespaces": namespaces})
- obj = self.isolation.parsejson(self.get()['body'])
+ obj = self.getjson()['body']
for ns in allns:
if ns.upper() in obj['NS']:
diff --git a/test/unit/feature/isolation.py b/test/unit/feature/isolation.py
index 6a429fb1..3f474993 100644
--- a/test/unit/feature/isolation.py
+++ b/test/unit/feature/isolation.py
@@ -82,6 +82,3 @@ class TestFeatureIsolation(TestApplicationProto):
data = int(os.readlink(nspath)[len(nstype) + 2 : -1])
return data
-
- def parsejson(self, data):
- return json.loads(data)
diff --git a/test/unit/http.py b/test/unit/http.py
index d59c7b56..839e91a2 100644
--- a/test/unit/http.py
+++ b/test/unit/http.py
@@ -122,6 +122,9 @@ class TestHTTP(TestUnit):
encoding
)
+ if 'json' in kwargs:
+ resp = self._parse_json(resp)
+
if 'start' not in kwargs:
sock.close()
return resp
@@ -230,6 +233,23 @@ class TestHTTP(TestUnit):
return body
+ def _parse_json(self, resp):
+ headers = resp['headers']
+
+ self.assertIn('Content-Type', headers, 'Content-Type header set')
+ self.assertEqual(
+ headers['Content-Type'],
+ 'application/json',
+ 'Content-Type header is application/json',
+ )
+
+ resp['body'] = json.loads(resp['body'])
+
+ return resp
+
+ def getjson(self, **kwargs):
+ return self.get(json=True, **kwargs)
+
def waitforsocket(self, port):
ret = False