Exemplo n.º 1
0
    def test_ProductVersions(self):

        def mocked_get(*args, **k):
            return {
                'hits': [
                    {
                        'product': 'Firefox',
                        'version': '1.0',
                    }
                ],
                'total': 1
            }
            raise NotImplementedError

        ProductVersions.implementation().get.side_effect = mocked_get

        url = reverse('api:model_wrapper', args=('ProductVersions',))
        response = self.client.get(url)
        eq_(response.status_code, 200)
        dump = json.loads(response.content)
        eq_(dump['total'], 1)
        eq_(dump['hits'][0], {
            'product': 'Firefox',
            'version': '1.0',
        })
Exemplo n.º 2
0
    def test_cache_control(self):
        """successful queries against models with caching should
        set a Cache-Control header."""
        def mocked_get(**options):
            assert options['product'] == [settings.DEFAULT_PRODUCT]
            return {
                "hits": [
                    {
                        "product": settings.DEFAULT_PRODUCT,
                        "throttle": 100.0,
                        "end_date": "2018-10-29",
                        "is_featured": True,
                        "build_type": "nightly",
                        "version": "63.0a1",
                        "start_date": "2018-06-25",
                        "has_builds": True,
                        "is_rapid_beta": False
                    },
                ]
            }

        ProductVersions.implementation().get.side_effect = mocked_get

        url = reverse('api:model_wrapper', args=('ProductVersions', ))
        response = self.client.get(url, {'product': settings.DEFAULT_PRODUCT})
        assert response.status_code == 200
        assert response['Cache-Control']
        assert 'private' in response['Cache-Control']
        cache_seconds = ProductVersions.cache_seconds
        assert 'max-age={}'.format(cache_seconds) in response['Cache-Control']
Exemplo n.º 3
0
    def test_ProductVersions(self):

        def mocked_get(*args, **k):
            return {
                'hits': [
                    {
                        'product': 'Firefox',
                        'version': '1.0',
                    }
                ],
                'total': 1
            }
            raise NotImplementedError

        ProductVersions.implementation().get.side_effect = mocked_get

        url = reverse('api:model_wrapper', args=('ProductVersions',))
        response = self.client.get(url)
        assert response.status_code == 200
        dump = json.loads(response.content)
        assert dump['total'] == 1
        expected = {
            'product': 'Firefox',
            'version': '1.0',
        }
        assert dump['hits'][0] == expected