Example #1
0
class TestAPIVersionMiddleware(amo.tests.TestCase):
    def setUp(self):
        self.api_version_middleware = APIVersionMiddleware()
        self.prefix_middleware = RedirectPrefixedURIMiddleware()

    def response(self, url):
        req = RequestFactory().get(url)
        self.prefix_middleware.process_request(req)
        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)
Example #2
0
class TestAPIVersionMiddleware(amo.tests.TestCase):

    def setUp(self):
        self.api_version_middleware = APIVersionMiddleware()
        self.prefix_middleware = RedirectPrefixedURIMiddleware()

    def response(self, url):
        req = RequestFactory().get(url)
        self.prefix_middleware.process_request(req)
        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)
Example #3
0
class TestAPIVersionMiddleware(amo.tests.TestCase):
    def setUp(self):
        self.dep = APIVersionMiddleware()

    def req(self, url, header):
        req = RequestFactory().get(url)
        self.dep.process_request(req)
        res = self.dep.process_response(req, HttpResponse())
        return res.get(header, None)

    def test_notice(self):
        eq_(self.req('/foo/', 'API-Status'), None)
        eq_(self.req('/foo/api/', 'API-Status'), None)
        eq_(self.req('/api/', 'API-Status'), 'Deprecated')
        eq_(self.req('/api/v1/', 'API-Status'), None)
        eq_(self.req('/api/v1/', 'API-Version'), '1')
Example #4
0
class TestAPIVersionMiddleware(amo.tests.TestCase):
    def setUp(self):
        self.dep = APIVersionMiddleware()

    def req(self, url, header):
        req = RequestFactory().get(url)
        self.dep.process_request(req)
        res = self.dep.process_response(req, HttpResponse())
        return res.get(header, None)

    def test_notice(self):
        eq_(self.req("/foo/", "API-Status"), None)
        eq_(self.req("/foo/api/", "API-Status"), None)
        eq_(self.req("/api/", "API-Status"), "Deprecated")
        eq_(self.req("/api/v1/", "API-Status"), None)
        eq_(self.req("/api/v1/", "API-Version"), "1")
Example #5
0
 def setUp(self):
     self.dep = APIVersionMiddleware()
Example #6
0
 def setUp(self):
     self.dep = APIVersionMiddleware()
Example #7
0
 def setUp(self):
     self.api_version_middleware = APIVersionMiddleware()
     self.prefix_middleware = RedirectPrefixedURIMiddleware()
Example #8
0
 def setUp(self):
     self.api_version_middleware = APIVersionMiddleware()
     self.prefix_middleware = RedirectPrefixedURIMiddleware()