From c3a129eefad7a6039cf87ed6be6be967e2c981e9 Mon Sep 17 00:00:00 2001 From: hewei Date: Sat, 17 Nov 2018 15:49:49 +0800 Subject: [PATCH] Refactoring UT test_resource move location of test_resource Remove redundant tests and move partion of tests to test_wsgi Change-Id: I7a7fbfc6aeccb27b219676a93a5d965416ea17cc --- .../unit/api/{v2 => v1}/test_resource.py | 78 ------------------- tacker/tests/unit/test_wsgi.py | 28 +++++++ 2 files changed, 28 insertions(+), 78 deletions(-) rename tacker/tests/unit/api/{v2 => v1}/test_resource.py (74%) diff --git a/tacker/tests/unit/api/v2/test_resource.py b/tacker/tests/unit/api/v1/test_resource.py similarity index 74% rename from tacker/tests/unit/api/v2/test_resource.py rename to tacker/tests/unit/api/v1/test_resource.py index 8e9c12058..8ce3db1b6 100644 --- a/tacker/tests/unit/api/v2/test_resource.py +++ b/tacker/tests/unit/api/v1/test_resource.py @@ -14,7 +14,6 @@ # under the License. import mock -import oslo_i18n from webob import exc import webtest @@ -30,62 +29,7 @@ class RequestTestCase(base.BaseTestCase): super(RequestTestCase, self).setUp() self.req = wsgi_resource.Request({'foo': 'bar'}) - def test_content_type_missing(self): - request = wsgi.Request.blank('/tests/123', method='POST') - request.body = b"" - self.assertIsNone(request.get_content_type()) - - def test_content_type_with_charset(self): - request = wsgi.Request.blank('/tests/123') - request.headers["Content-Type"] = "application/json; charset=UTF-8" - result = request.get_content_type() - self.assertEqual("application/json", result) - - def test_content_type_from_accept(self): - content_type = 'application/json' - request = wsgi.Request.blank('/tests/123') - request.headers["Accept"] = content_type - result = request.best_match_content_type() - self.assertEqual(result, content_type) - - def test_content_type_from_accept_best(self): - request = wsgi.Request.blank('/tests/123') - request.headers["Accept"] = "application/json" - result = request.best_match_content_type() - self.assertEqual("application/json", result) - - request = wsgi.Request.blank('/tests/123') - request.headers["Accept"] = ("application/json; q=0.3, ") - result = request.best_match_content_type() - self.assertEqual("application/json", result) - - def test_content_type_from_query_extension(self): - request = wsgi.Request.blank('/tests/123.json') - result = request.best_match_content_type() - self.assertEqual("application/json", result) - - request = wsgi.Request.blank('/tests/123.json') - result = request.best_match_content_type() - self.assertEqual("application/json", result) - - request = wsgi.Request.blank('/tests/123.invalid') - result = request.best_match_content_type() - self.assertEqual("application/json", result) - - def test_content_type_accept_and_query_extension(self): - request = wsgi.Request.blank('/tests/123.json') - request.headers["Accept"] = "application/json" - result = request.best_match_content_type() - self.assertEqual("application/json", result) - - def test_content_type_accept_default(self): - request = wsgi.Request.blank('/tests/123.unsupported') - request.headers["Accept"] = "application/unsupported1" - result = request.best_match_content_type() - self.assertEqual("application/json", result) - def test_context_with_tacker_context(self): - self.skip("Not ready yet") ctxt = context.Context('fake_user', 'fake_tenant') self.req.environ['tacker.context'] = ctxt self.assertEqual(ctxt, self.req.context) @@ -93,28 +37,6 @@ class RequestTestCase(base.BaseTestCase): def test_context_without_tacker_context(self): self.assertTrue(self.req.context.is_admin) - def test_best_match_language(self): - # Test that we are actually invoking language negotiation by webop - request = wsgi.Request.blank('/') - oslo_i18n.get_available_languages = mock.MagicMock() - oslo_i18n.get_available_languages.return_value = [ - 'known-language', 'es', 'zh'] - request.headers['Accept-Language'] = 'known-language' - language = request.best_match_language() - self.assertEqual('known-language', language) - - # If the Accept-Leader is an unknown language, missing or empty, - # the best match locale should be None - request.headers['Accept-Language'] = 'unknown-language' - language = request.best_match_language() - self.assertIsNone(language) - request.headers['Accept-Language'] = '' - language = request.best_match_language() - self.assertIsNone(language) - request.headers.pop('Accept-Language') - language = request.best_match_language() - self.assertIsNone(language) - class ResourceTestCase(base.BaseTestCase): diff --git a/tacker/tests/unit/test_wsgi.py b/tacker/tests/unit/test_wsgi.py index 5071becbb..36441cb82 100644 --- a/tacker/tests/unit/test_wsgi.py +++ b/tacker/tests/unit/test_wsgi.py @@ -14,6 +14,7 @@ # under the License. import os +import oslo_i18n import socket import mock @@ -338,6 +339,11 @@ class RequestTest(base.BaseTestCase): self.assertEqual("application/json", result) + request = wsgi.Request.blank('/tests/123') + request.headers["Accept"] = ("application/json; q=0.3, ") + result = request.best_match_content_type() + self.assertEqual("application/json", result) + def test_content_type_from_query_extension(self): request = wsgi.Request.blank('/tests/123.json') result = request.best_match_content_type() @@ -370,6 +376,28 @@ class RequestTest(base.BaseTestCase): self.assertEqual('application/json', result) + def test_best_match_language(self): + # Test that we are actually invoking language negotiation by webop + request = wsgi.Request.blank('/') + oslo_i18n.get_available_languages = mock.MagicMock() + oslo_i18n.get_available_languages.return_value = [ + 'known-language', 'es', 'zh'] + request.headers['Accept-Language'] = 'known-language' + language = request.best_match_language() + self.assertEqual('known-language', language) + + # If the Accept-Leader is an unknown language, missing or empty, + # the best match locale should be None + request.headers['Accept-Language'] = 'unknown-language' + language = request.best_match_language() + self.assertIsNone(language) + request.headers['Accept-Language'] = '' + language = request.best_match_language() + self.assertIsNone(language) + request.headers.pop('Accept-Language') + language = request.best_match_language() + self.assertIsNone(language) + class ActionDispatcherTest(base.BaseTestCase): def test_dispatch(self):