예제 #1
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)
예제 #2
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)
예제 #3
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)
예제 #4
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: