Exemple #1
0
 def test_without_request_and_undefined_waffle(self):
     """
     Test the flag behavior when outside a request context and waffle data undefined.
     """
     crum.set_current_request(None)
     test_course_flag = CourseWaffleFlag(self.NAMESPACED_FLAG_NAME,
                                         __name__)
     assert test_course_flag.is_enabled(self.TEST_COURSE_KEY) is False
Exemple #2
0
 def _is_staff_grader_enabled(self, course_key):
     """ Helper to evaluate if the staff grader flag / overrides are enabled """
     # This toggle is documented on the edx-ora2 repo in openassessment/xblock/config_mixin.py
     # pylint: disable=toggle-missing-annotation
     enhanced_staff_grader_flag = CourseWaffleFlag(
         WAFFLE_NAMESPACE,
         ENHANCED_STAFF_GRADER,
         module_name='openassessment.xblock.config_mixin'
     )
     return enhanced_staff_grader_flag.is_enabled(course_key)
Exemple #3
0
    def test_without_request_and_everyone_active_waffle(self):
        """
        Test the flag behavior when outside a request context and waffle active for everyone.
        """
        crum.set_current_request(None)

        test_course_flag = CourseWaffleFlag(self.NAMESPACED_FLAG_NAME,
                                            __name__)
        with override_waffle_flag(self.TEST_COURSE_FLAG, active=True):
            assert test_course_flag.is_enabled(self.TEST_COURSE_KEY) is True
Exemple #4
0
 def _is_staff_grader_enabled(self, course_key):
     """ Helper to evaluate if the staff grader flag / overrides are enabled """
     # This toggle is documented on the edx-ora2 repo in openassessment/xblock/config_mixin.py
     # Note: Do not copy this practice of directly using a toggle from a library.
     #  Instead, see docs for exposing a wrapper api:
     #  https://edx.readthedocs.io/projects/edx-toggles/en/latest/how_to/implement_the_right_toggle_type.html#using-other-toggles pylint: disable=line-too-long
     # pylint: disable=toggle-missing-annotation
     enhanced_staff_grader_flag = CourseWaffleFlag(
         f"{WAFFLE_NAMESPACE}.{ENHANCED_STAFF_GRADER}",
         module_name='openassessment.xblock.config_mixin')
     return enhanced_staff_grader_flag.is_enabled(course_key)
Exemple #5
0
    def test_undefined_waffle_flag(self):
        """
        Test flag with undefined waffle flag.
        """
        test_course_flag = CourseWaffleFlag(self.NAMESPACED_FLAG_NAME,
                                            __name__)

        with patch.object(
                WaffleFlagCourseOverrideModel,
                'override_value',
                return_value=WaffleFlagCourseOverrideModel.ALL_CHOICES.unset):
            # check twice to test that the result is properly cached
            assert test_course_flag.is_enabled(self.TEST_COURSE_KEY) is False
            assert test_course_flag.is_enabled(self.TEST_COURSE_KEY) is False
            # result is cached, so override check should happen once
            # pylint: disable=no-member
            WaffleFlagCourseOverrideModel.override_value.assert_called_once_with(
                self.NAMESPACED_FLAG_NAME, self.TEST_COURSE_KEY)
Exemple #6
0
 def enable_anonymous_courseware_access(self):
     waffle_flag = CourseWaffleFlag(WaffleFlagNamespace(name='seo'),
                                    'enable_anonymous_courseware_access')
     return waffle_flag.is_enabled(self.course_key)
Exemple #7
0
 def enable_anonymous_courseware_access(self):
     waffle_flag = CourseWaffleFlag(WaffleFlagNamespace(name='seo'), 'enable_anonymous_courseware_access')
     return waffle_flag.is_enabled(self.course_key)