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'])
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)
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)
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)
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()))
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()))
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)
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)
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: