|
@@ -1,5 +1,5 @@
|
|
|
from benchmark.test_types.framework_test_type import FrameworkTestType
|
|
|
-from benchmark.test_types.verifications import verify_headers
|
|
|
+from benchmark.test_types.verifications import verify_headers, verify_helloworld_object
|
|
|
|
|
|
import json
|
|
|
|
|
@@ -40,37 +40,10 @@ class JsonTestType(FrameworkTestType):
|
|
|
return [('fail', "Invalid JSON - %s" % ve, url)]
|
|
|
|
|
|
problems = []
|
|
|
- problems += self._verifyObject(response, url)
|
|
|
+ problems += verify_helloworld_object(response, url)
|
|
|
problems += verify_headers(headers, url, should_be='json')
|
|
|
|
|
|
if len(problems) > 0:
|
|
|
return problems
|
|
|
else:
|
|
|
return [('pass', '', url)]
|
|
|
-
|
|
|
- def _verifyObject(self, json_object, url):
|
|
|
- '''
|
|
|
- Ensure that the JSON object closely resembles
|
|
|
- { 'message': 'Hello, World!' }
|
|
|
- '''
|
|
|
-
|
|
|
- problems = []
|
|
|
-
|
|
|
- # Make everything case insensitive
|
|
|
- json_object = {k.lower(): v.lower()
|
|
|
- for k, v in json_object.iteritems()}
|
|
|
-
|
|
|
- if 'message' not in json_object:
|
|
|
- return [('fail', "Missing required key 'message'", url)]
|
|
|
- else:
|
|
|
- if len(json_object) != 1:
|
|
|
- additional = (', ').join(
|
|
|
- [k for k in json_object.keys() if k != 'message'])
|
|
|
- problems.append(
|
|
|
- ('warn', "Too many JSON key/value pairs, consider removing: %s" % additional, url))
|
|
|
-
|
|
|
- message = json_object['message']
|
|
|
- if message != 'hello, world!':
|
|
|
- return [('fail', "Expected message of 'hello, world!', got '%s'" % message)]
|
|
|
-
|
|
|
- return problems
|