Ejemplo n.º 1
0
 def _test_response(self, res):
     eq_(res.status_code, 200)
     data = res.json
     eq_(len(data), len(APP_FEATURES))
     self.assertSetEqual(data.keys(),
                         [f.lower() for f in APP_FEATURES.keys()])
     for i, feature in enumerate(APP_FEATURES.items()):
         name = feature[0].lower()
         eq_(i + 1, data[name]['position'])
Ejemplo n.º 2
0
 def _test_response(self, res):
     eq_(res.status_code, 200)
     data = res.json
     eq_(len(data), len(APP_FEATURES))
     self.assertSetEqual(data.keys(),
                         [f.lower() for f in APP_FEATURES.keys()])
     for i, feature in enumerate(APP_FEATURES.items()):
         name = feature[0].lower()
         eq_(i + 1, data[name]['position'])
Ejemplo n.º 3
0
 def get(self, request, *args, **kwargs):
     if 'pro' in request.GET:
         self.profile = FeatureProfile.from_signature(request.GET['pro'])
     else:
         self.profile = None
     features = OrderedDict(self._feature(i, slug) for i, slug in
                            enumerate(APP_FEATURES.keys()))
     return Response(features, status=status.HTTP_200_OK)
Ejemplo n.º 4
0
 def get(self, request, *args, **kwargs):
     if 'pro' in request.GET:
         self.profile = FeatureProfile.from_signature(request.GET['pro'])
     else:
         self.profile = None
     features = OrderedDict(
         self._feature(i, slug)
         for i, slug in enumerate(APP_FEATURES.keys()))
     return Response(features, status=status.HTTP_200_OK)
Ejemplo n.º 5
0
import itertools
from collections import OrderedDict

from django.conf import settings

import mock
from nose.tools import eq_, ok_

import mkt.site.tests
from mkt.constants.features import APP_FEATURES, FeatureProfile


MOCK_APP_FEATURES_LIMIT = 45
MOCK_APP_FEATURES = OrderedDict(
    itertools.islice(APP_FEATURES.iteritems(), MOCK_APP_FEATURES_LIMIT))


class TestFeaturesMixin(object):
    features = 0x110022000000
    signature = '110022000000.%d.%d' % (
        MOCK_APP_FEATURES_LIMIT, settings.APP_FEATURES_VERSION)
    expected_features = ['apps', 'proximity', 'light_events', 'vibrate']

    def _test_profile_values(self, profile):
        for k, v in profile.iteritems():
            if v:
                ok_(k in self.expected_features,
                    '"%s" is true in profile but not in expected_features' % k)
            else:
                ok_(k not in self.expected_features,
                    '"%s" is false in profile but is in expected_features' % k)
Ejemplo n.º 6
0
 def test_required_api_fields_nonascii(self):
     forms.AppFeaturesForm.base_fields['has_apps'].help_text = _(
         u'H\xe9llo')
     fields = [f.help_text for f in self.form.required_api_fields()]
     eq_(fields, sorted(f['name'] for f in APP_FEATURES.values()))
Ejemplo n.º 7
0
 def test_required_api_fields(self):
     fields = [f.help_text for f in self.form.required_api_fields()]
     eq_(fields, sorted(f['name'] for f in APP_FEATURES.values()))
Ejemplo n.º 8
0
 def test_required_api_fields_nonascii(self):
     forms.AppFeaturesForm.base_fields['has_apps'].help_text = _(
         u'H\xe9llo')
     fields = [f.help_text for f in self.form.required_api_fields()]
     eq_(fields, sorted(f['name'] for f in APP_FEATURES.values()))
Ejemplo n.º 9
0
 def test_required_api_fields(self):
     fields = [f.help_text for f in self.form.required_api_fields()]
     eq_(fields, sorted(f['name'] for f in APP_FEATURES.values()))
Ejemplo n.º 10
0
import itertools
from ordereddict import OrderedDict

from django.conf import settings

import mock
from nose.tools import eq_, ok_

import mkt.site.tests

from mkt.constants.features import APP_FEATURES, FeatureProfile


APP_FEATURES = OrderedDict(itertools.islice(APP_FEATURES.iteritems(), 45))


@mock.patch("mkt.constants.features.APP_FEATURES", APP_FEATURES)
class TestFeatureProfile(mkt.site.tests.TestCase):
    def setUp(self):
        self.features = 0x110022000000
        self.signature = "110022000000.45.%s" % settings.APP_FEATURES_VERSION
        self.truths = ["apps", "proximity", "light_events", "vibrate"]

    def test_init(self):
        profile = FeatureProfile(**dict((f, True) for f in self.truths))
        eq_(profile.to_signature(), self.signature)
        eq_(profile.to_int(), self.features)

    def _test_profile(self, profile):
        eq_(profile.to_int(), self.features)
        eq_(profile.to_signature(), self.signature)
Ejemplo n.º 11
0
import itertools
from ordereddict import OrderedDict

from django.conf import settings

import mock
from nose.tools import eq_, ok_

import amo.tests

from mkt.constants.features import APP_FEATURES, FeatureProfile


APP_FEATURES = OrderedDict(itertools.islice(APP_FEATURES.iteritems(), 45))


@mock.patch('mkt.constants.features.APP_FEATURES', APP_FEATURES)
class TestFeatureProfile(amo.tests.TestCase):

    def setUp(self):
        self.features = 0x110022000000
        self.signature = '110022000000.45.%s' % settings.APP_FEATURES_VERSION
        self.truths = ['apps', 'proximity', 'light_events', 'vibrate']

    def test_init(self):
        profile = FeatureProfile(**dict((f, True) for f in self.truths))
        eq_(profile.to_signature(), self.signature)
        eq_(profile.to_int(), self.features)

    def _test_profile(self, profile):
        eq_(profile.to_int(), self.features)
Ejemplo n.º 12
0
import itertools
from collections import OrderedDict

from django.conf import settings

import mock
from nose.tools import eq_, ok_

import mkt.site.tests
from mkt.constants.features import (APP_FEATURES, FeaturesBitField,
                                    FeatureProfile)

MOCK_APP_FEATURES_LIMIT = 45
MOCK_APP_FEATURES = OrderedDict(
    itertools.islice(APP_FEATURES.iteritems(), MOCK_APP_FEATURES_LIMIT))


class TestFeaturesMixin(object):
    features = 0x110022000000
    signature = '110022000000.%d.%d' % (MOCK_APP_FEATURES_LIMIT,
                                        settings.APP_FEATURES_VERSION)
    expected_features = ['apps', 'proximity', 'light_events', 'vibrate']
    base64_signature = '=EYAIAAAA.%d.%d' % (MOCK_APP_FEATURES_LIMIT,
                                            settings.APP_FEATURES_VERSION)

    def _test_profile_values(self, profile):
        for k, v in profile.iteritems():
            if v:
                ok_(k in self.expected_features,
                    '"%s" is true in profile but not in expected_features' % k)
            else: