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 os
|
||||||
import urllib
|
import urllib
|
||||||
import sys
|
import sys
|
||||||
|
import traceback
|
||||||
|
|
||||||
from reddwarf.common import cfg
|
from reddwarf.common import cfg
|
||||||
from reddwarf.openstack.common import log as logging
|
from reddwarf.openstack.common import log as logging
|
||||||
@ -122,6 +123,7 @@ if __name__ == "__main__":
|
|||||||
test_config_file = parse_args_for_test_config()
|
test_config_file = parse_args_for_test_config()
|
||||||
CONFIG.load_from_file(test_config_file)
|
CONFIG.load_from_file(test_config_file)
|
||||||
|
|
||||||
|
from reddwarf.tests.api import header
|
||||||
from reddwarf.tests.api import limits
|
from reddwarf.tests.api import limits
|
||||||
from reddwarf.tests.api import flavors
|
from reddwarf.tests.api import flavors
|
||||||
from reddwarf.tests.api import versions
|
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
|
||||||
from reddwarf.tests.api.mgmt import instances_actions
|
from reddwarf.tests.api.mgmt import instances_actions
|
||||||
from reddwarf.tests.api.mgmt import storage
|
from reddwarf.tests.api.mgmt import storage
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
print "Run tests failed %s" % e.msg
|
print("Run tests failed: %s" % e)
|
||||||
|
traceback.print_exc()
|
||||||
|
raise
|
||||||
|
|
||||||
proboscis.TestProgram().run_and_exit()
|
proboscis.TestProgram().run_and_exit()
|
||||||
|
Loading…
Reference in New Issue
Block a user