Merge "Test no accept headers"
This commit is contained in:
commit
3c423f1885
42
reddwarf/tests/api/header.py
Normal file
42
reddwarf/tests/api/header.py
Normal file
@ -0,0 +1,42 @@
|
||||
from proboscis import test
|
||||
from proboscis.asserts import *
|
||||
from proboscis import SkipTest
|
||||
from functools import wraps
|
||||
|
||||
from reddwarfclient.client import ReddwarfHTTPClient
|
||||
from reddwarf.tests.api.versions import Versions
|
||||
from reddwarfclient import exceptions
|
||||
|
||||
|
||||
@test(groups=['dbaas.api.headers'])
|
||||
def must_work_with_blank_accept_headers():
|
||||
"""Test to make sure that reddwarf works without the headers"""
|
||||
versions = Versions()
|
||||
versions.setUp()
|
||||
client = versions.client
|
||||
|
||||
if type(client.client).morph_request != ReddwarfHTTPClient.morph_request:
|
||||
raise SkipTest("Not using the JSON client so can't execute this test.")
|
||||
|
||||
original_morph_request = client.client.morph_request
|
||||
|
||||
def morph_content_type_to(content_type):
|
||||
@wraps(original_morph_request)
|
||||
def _morph_request(kwargs):
|
||||
original_morph_request(kwargs)
|
||||
kwargs['headers']['Accept'] = content_type
|
||||
kwargs['headers']['Content-Type'] = content_type
|
||||
|
||||
client.client.morph_request = _morph_request
|
||||
|
||||
try:
|
||||
morph_content_type_to('')
|
||||
# run versions to make sure the API still returns JSON even though the
|
||||
# header type is blank
|
||||
versions.test_list_versions_index()
|
||||
# now change headers to XML to make sure the test fails
|
||||
morph_content_type_to('application/xml')
|
||||
assert_raises(exceptions.ResponseFormatError,
|
||||
versions.test_list_versions_index)
|
||||
finally:
|
||||
client.client.morph_request = original_morph_request
|
@ -2,6 +2,7 @@ import gettext
|
||||
import os
|
||||
import urllib
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
from reddwarf.common import cfg
|
||||
from reddwarf.openstack.common import log as logging
|
||||
@ -122,6 +123,7 @@ if __name__ == "__main__":
|
||||
test_config_file = parse_args_for_test_config()
|
||||
CONFIG.load_from_file(test_config_file)
|
||||
|
||||
from reddwarf.tests.api import header
|
||||
from reddwarf.tests.api import limits
|
||||
from reddwarf.tests.api import flavors
|
||||
from reddwarf.tests.api import versions
|
||||
@ -139,7 +141,9 @@ if __name__ == "__main__":
|
||||
from reddwarf.tests.api.mgmt import instances
|
||||
from reddwarf.tests.api.mgmt import instances_actions
|
||||
from reddwarf.tests.api.mgmt import storage
|
||||
except Exception, e:
|
||||
print "Run tests failed %s" % e.msg
|
||||
except Exception as e:
|
||||
print("Run tests failed: %s" % e)
|
||||
traceback.print_exc()
|
||||
raise
|
||||
|
||||
proboscis.TestProgram().run_and_exit()
|
||||
|
Loading…
Reference in New Issue
Block a user