Example #1
0
    def setUp(self):
        super(SiteConfigFeatureCheckerTests, self).setUp()

        self.checker = SiteConfigFeatureChecker()
        self.siteconfig = SiteConfiguration.objects.create(
            site=Site.objects.get_current())
Example #2
0
class SiteConfigFeatureCheckerTests(TestCase):
    """Unit tests for djblets.features.checkers.SiteConfigFeatureChecker."""

    def setUp(self):
        super(SiteConfigFeatureCheckerTests, self).setUp()

        self.checker = SiteConfigFeatureChecker()
        self.siteconfig = SiteConfiguration.objects.create(
            site=Site.objects.get_current())

    def tearDown(self):
        super(SiteConfigFeatureCheckerTests, self).tearDown()

        try:
            delattr(settings, 'ENABLED_FEATURES')
        except AttributeError:
            pass

    def test_is_feature_enabled_with_siteconfig_enabled(self):
        """Testing SiteConfigFeatureChecker.is_feature_enabled with feature
        enabled in SiteConfiguration
        """
        self.siteconfig.set('enabled_features', {
            'my-feature': True,
        })
        self.siteconfig.save()

        settings.ENABLED_FEATURES = {
            'my-feature': False,
        }

        self.assertTrue(self.checker.is_feature_enabled('my-feature'))

    def test_is_feature_enabled_with_siteconfig_disabled(self):
        """Testing SiteConfigFeatureChecker.is_feature_enabled with feature
        disabled in SiteConfiguration
        """
        self.siteconfig.set('enabled_features', {
            'my-feature': False,
        })
        self.siteconfig.save()

        settings.ENABLED_FEATURES = {
            'my-feature': True,
        }

        self.assertFalse(self.checker.is_feature_enabled('my-feature'))

    def test_is_feature_enabled_with_settings_enabled(self):
        """Testing SiteConfigFeatureChecker.is_feature_enabled with feature
        enabled in Settings
        """
        settings.ENABLED_FEATURES = {
            'my-feature': True,
        }

        self.assertTrue(self.checker.is_feature_enabled('my-feature'))

    def test_is_feature_enabled_with_settings_disabled(self):
        """Testing SiteConfigFeatureChecker.is_feature_enabled with feature
        disabled in Settings
        """
        settings.ENABLED_FEATURES = {
            'my-feature': False,
        }

        self.assertFalse(self.checker.is_feature_enabled('my-feature'))

    def test_is_feature_enabled_with_unset(self):
        """Testing SiteConfigFeatureChecker.is_feature_enabled with feature
        state not set
        """
        self.assertFalse(self.checker.is_feature_enabled('my-feature'))