コード例 #1
0
 def test_feature_compatibility_false(self):
     self.app.current_version.features.update(has_apps=True, has_nfc=True)
     feature_profile = FeatureProfile(apps=False, nfc=True, mobileid=True)
     self.request = RequestFactory().get('/?dev=firefoxos&pro=%s' %
                                         feature_profile.to_signature())
     res = self.serialize(self.app)
     eq_(res['feature_compatibility'], False)
コード例 #2
0
ファイル: test_filters.py プロジェクト: Jobava/zamboni
 def profile_qs(self, disabled_features=None):
     if disabled_features is None:
         disabled_features = {}
     profile = FeatureProfile().fromkeys(FeatureProfile(), True)
     for feature in disabled_features:
         profile[feature] = False
     return {'pro': profile.to_signature(), 'dev': 'firefoxos'}
コード例 #3
0
ファイル: test_serializers.py プロジェクト: mrheides/zamboni
 def test_feature_compatibility_false(self):
     self.app.current_version.features.update(has_apps=True, has_nfc=True)
     feature_profile = FeatureProfile(apps=False, nfc=True, mobileid=True)
     self.request = RequestFactory().get(
         '/?dev=firefoxos&pro=%s' % feature_profile.to_signature())
     res = self.serialize(self.app)
     eq_(res['feature_compatibility'], False)
コード例 #4
0
 def test_feature_compatibility_no_current_version(self):
     self.app._current_version = None
     feature_profile = FeatureProfile(apps=True, nfc=True, mobileid=True)
     self.request = RequestFactory().get('/?dev=firefoxos&pro=%s' %
                                         feature_profile.to_signature())
     res = self.serialize(self.app)
     eq_(res['feature_compatibility'], None)
コード例 #5
0
ファイル: test_serializers.py プロジェクト: ujdhesa/zamboni
 def test_feature_compatibility_no_current_version(self):
     self.app._current_version = None
     feature_profile = FeatureProfile(apps=True, nfc=True, mobileid=True)
     self.request = RequestFactory().get(
         '/?dev=firefoxos&pro=%s' % feature_profile.to_signature())
     res = self.serialize(self.app)
     eq_(res['feature_compatibility'], None)
コード例 #6
0
 def profile_qs(self, disabled_features=None):
     if disabled_features is None:
         disabled_features = {}
     profile = FeatureProfile().fromkeys(FeatureProfile(), True)
     for feature in disabled_features:
         profile[feature] = False
     return {'pro': profile.to_signature(), 'dev': 'firefoxos'}
コード例 #7
0
ファイル: test_serializers.py プロジェクト: mrheides/zamboni
 def test_feature_compatibility_always_none(self):
     # ES is already filtering by feature profile for us, so it does not
     # make much sense to check for feature compatibility in ES serializer.
     self.app.current_version.features.update(has_apps=True, has_nfc=True)
     self.reindex(Webapp)
     feature_profile = FeatureProfile(apps=False, nfc=True, mobileid=True)
     self.request = RequestFactory().get(
         '/?dev=firefoxos&pro=%s' % feature_profile.to_signature())
     self.request.REGION = mkt.regions.USA
     self.request.user = self.profile
     res = self.serialize()
     eq_(res['feature_compatibility'], None)
コード例 #8
0
 def test_feature_compatibility_always_none(self):
     # ES is already filtering by feature profile for us, so it does not
     # make much sense to check for feature compatibility in ES serializer.
     self.app.current_version.features.update(has_apps=True, has_nfc=True)
     self.reindex(Webapp)
     feature_profile = FeatureProfile(apps=False, nfc=True, mobileid=True)
     self.request = RequestFactory().get('/?dev=firefoxos&pro=%s' %
                                         feature_profile.to_signature())
     self.request.REGION = mkt.regions.USA
     self.request.user = self.profile
     res = self.serialize()
     eq_(res['feature_compatibility'], None)
コード例 #9
0
ファイル: test_utils_.py プロジェクト: Fjoerfoks/zamboni
class TestLoadFeatureProfile(mkt.site.tests.TestCase):
    def setUp(self):
        super(TestLoadFeatureProfile, self).setUp()
        self.profile = FeatureProfile(apps=True)
        self.signature = self.profile.to_signature()

    def test_does_nothing_on_desktop(self):
        request = RequestFactory().get('/?dev=desktop&pro=%s' % self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_does_nothing_without_dev_param(self):
        request = RequestFactory().get('/?pro=%s' % self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, None)
        request = RequestFactory().get(
            '/?device=mobilepro=%s' % self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_does_nothing_without_profile_signature(self):
        request = RequestFactory().get('/?dev=firefoxos')
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_does_nothing_if_invalid_profile_signature_is_passed(self):
        request = RequestFactory().get('/?dev=firefoxos&pro=whatever')
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_works(self):
        request = RequestFactory().get(
            '/?dev=firefoxos&pro=%s' % self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile.to_list(), self.profile.to_list())

    @mock.patch('mkt.features.utils.FeatureProfile.from_signature')
    def test_caching_on_request_property(self, from_signature_mock):
        fake_feature_profile = object()
        from_signature_mock.return_value = fake_feature_profile
        request = RequestFactory().get(
            '/?dev=firefoxos&pro=%s' % self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, fake_feature_profile)

        from_signature_mock.return_value = None
        load_feature_profile(request)
        # Should not be None thanks to the property caching.
        eq_(request.feature_profile, fake_feature_profile)
コード例 #10
0
ファイル: test_utils_.py プロジェクト: waseem18/zamboni
class TestLoadFeatureProfile(mkt.site.tests.TestCase):
    def setUp(self):
        super(TestLoadFeatureProfile, self).setUp()
        self.profile = FeatureProfile(apps=True)
        self.signature = self.profile.to_signature()

    def test_does_nothing_on_desktop(self):
        request = RequestFactory().get('/?dev=desktop&pro=%s' % self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_does_nothing_without_dev_param(self):
        request = RequestFactory().get('/?pro=%s' % self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, None)
        request = RequestFactory().get('/?device=mobilepro=%s' %
                                       self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_does_nothing_without_profile_signature(self):
        request = RequestFactory().get('/?dev=firefoxos')
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_does_nothing_if_invalid_profile_signature_is_passed(self):
        request = RequestFactory().get('/?dev=firefoxos&pro=whatever')
        load_feature_profile(request)
        eq_(request.feature_profile, None)

    def test_works(self):
        request = RequestFactory().get('/?dev=firefoxos&pro=%s' %
                                       self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile.to_list(), self.profile.to_list())

    @mock.patch('mkt.features.utils.FeatureProfile.from_signature')
    def test_caching_on_request_property(self, from_signature_mock):
        fake_feature_profile = object()
        from_signature_mock.return_value = fake_feature_profile
        request = RequestFactory().get('/?dev=firefoxos&pro=%s' %
                                       self.signature)
        load_feature_profile(request)
        eq_(request.feature_profile, fake_feature_profile)

        from_signature_mock.return_value = None
        load_feature_profile(request)
        # Should not be None thanks to the property caching.
        eq_(request.feature_profile, fake_feature_profile)
コード例 #11
0
 def test_init(self):
     profile = FeatureProfile(**dict(
         (f, True) for f in self.expected_features))
     eq_(profile.to_signature(), self.signature)
     eq_(profile.to_int(), self.features)
コード例 #12
0
ファイル: test_features.py プロジェクト: sunbiz/zamboni
 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)
コード例 #13
0
ファイル: test_features.py プロジェクト: wraithan/zamboni
 def test_init(self):
     profile = FeatureProfile(**dict((f, True) for f in self.truths))
     eq_(profile.to_signature(), self.signature)
     eq_(profile.to_binary(), self.binary)