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)
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 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 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: