class TestTransactionMiddleware(amo.tests.TestCase): def setUp(self): self.prefix = APIBaseMiddleware() self.transaction = APITransactionMiddleware() def test_api(self): req = RequestFactory().get("/api/foo/") self.prefix.process_request(req) ok_(req.API) def test_not_api(self): req = RequestFactory().get("/not-api/foo/") self.prefix.process_request(req) ok_(not req.API) @mock.patch("django.db.transaction.enter_transaction_management") def test_transactions(self, enter): req = RequestFactory().get("/api/foo/") self.prefix.process_request(req) self.transaction.process_request(req) ok_(enter.called) @mock.patch("django.db.transaction.enter_transaction_management") def test_not_transactions(self, enter): req = RequestFactory().get("/not-api/foo/") self.prefix.process_request(req) self.transaction.process_request(req) ok_(not enter.called)
class TestAPIBaseMiddleware(mkt.site.tests.TestCase): def setUp(self): self.api_version_middleware = APIBaseMiddleware() def response(self, url): req = RequestFactory().get(url) resp = self.api_version_middleware.process_request(req) if resp: return resp return self.api_version_middleware.process_response( req, HttpResponse()) def header(self, res, header): return res.get(header, None) def test_non_api(self): res1 = self.response('/foo/') eq_(self.header(res1, 'API-Version'), None) eq_(self.header(res1, 'API-Status'), None) res2 = self.response('/foo/') eq_(self.header(res2, 'API-Version'), None) eq_(self.header(res2, 'API-Status'), None) def test_version_not_specified(self): res = self.response('/api/') eq_(self.header(res, 'API-Version'), '1') eq_(self.header(res, 'API-Status'), 'Deprecated') def test_old_version(self): res = self.response('/api/v1/') eq_(self.header(res, 'API-Version'), '1') eq_(self.header(res, 'API-Status'), 'Deprecated') def test_current_version(self): res = self.response('/api/v2/') eq_(self.header(res, 'API-Version'), '2') eq_(self.header(res, 'API-Status'), None) def test_future_version(self): res = self.response('/api/v3/') eq_(self.header(res, 'API-Version'), '3') eq_(self.header(res, 'API-Status'), None) def test_no_api_version(self): req = RequestFactory().get('/api/v2/') req.API = True res = self.api_version_middleware.process_response(req, HttpResponse()) eq_(self.header(res, 'API-Version'), '2') eq_(self.header(res, 'API-Status'), None)
class TestAPIBaseMiddleware(amo.tests.TestCase): def setUp(self): self.api_version_middleware = APIBaseMiddleware() def response(self, url): req = RequestFactory().get(url) resp = self.api_version_middleware.process_request(req) if resp: return resp return self.api_version_middleware.process_response( req, HttpResponse()) def header(self, res, header): return res.get(header, None) def test_non_api(self): res1 = self.response('/foo/') eq_(self.header(res1, 'API-Version'), None) eq_(self.header(res1, 'API-Status'), None) res2 = self.response('/foo/') eq_(self.header(res2, 'API-Version'), None) eq_(self.header(res2, 'API-Status'), None) def test_version_not_specified(self): res = self.response('/api/') eq_(self.header(res, 'API-Version'), '1') eq_(self.header(res, 'API-Status'), 'Deprecated') def test_old_version(self): res = self.response('/api/v1/') eq_(self.header(res, 'API-Version'), '1') eq_(self.header(res, 'API-Status'), 'Deprecated') def test_current_version(self): res = self.response('/api/v2/') eq_(self.header(res, 'API-Version'), '2') eq_(self.header(res, 'API-Status'), None) def test_future_version(self): res = self.response('/api/v3/') eq_(self.header(res, 'API-Version'), '3') eq_(self.header(res, 'API-Status'), None) def test_no_api_version(self): req = RequestFactory().get('/api/v2/') req.API = True res = self.api_version_middleware.process_response(req, HttpResponse()) eq_(self.header(res, 'API-Version'), '2') eq_(self.header(res, 'API-Status'), None)
class TestAPIBaseMiddleware(amo.tests.TestCase): def setUp(self): self.api_version_middleware = APIBaseMiddleware() def response(self, url): req = RequestFactory().get(url) resp = self.api_version_middleware.process_request(req) if resp: return resp return self.api_version_middleware.process_response(req, HttpResponse()) def header(self, res, header): return res.get(header, None) def test_non_api(self): res1 = self.response("/foo/") eq_(self.header(res1, "API-Version"), None) eq_(self.header(res1, "API-Status"), None) res2 = self.response("/foo/") eq_(self.header(res2, "API-Version"), None) eq_(self.header(res2, "API-Status"), None) def test_version_not_specified(self): res = self.response("/api/") eq_(self.header(res, "API-Version"), "1") eq_(self.header(res, "API-Status"), "Deprecated") def test_old_version(self): res = self.response("/api/v1/") eq_(self.header(res, "API-Version"), "1") eq_(self.header(res, "API-Status"), "Deprecated") def test_current_version(self): res = self.response("/api/v2/") eq_(self.header(res, "API-Version"), "2") eq_(self.header(res, "API-Status"), None) def test_future_version(self): res = self.response("/api/v3/") eq_(self.header(res, "API-Version"), "3") eq_(self.header(res, "API-Status"), None) def test_no_api_version(self): req = RequestFactory().get("/api/v2/") req.API = True res = self.api_version_middleware.process_response(req, HttpResponse()) eq_(self.header(res, "API-Version"), "2") eq_(self.header(res, "API-Status"), None)