Skip to content

Commit e74ea6f

Browse files
authored
fix: use correctly the libraries_v2_enabled function (openedx#128)
1 parent d394cba commit e74ea6f

2 files changed

Lines changed: 16 additions & 19 deletions

File tree

openedx_authz/engine/enforcer.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,9 @@
2727
from cms.djangoapps.contentstore.toggles import libraries_v2_enabled
2828
except ImportError:
2929
# If the CMS is not available, define a dummy toggle that is always enabled
30-
class DummyToggle:
31-
@staticmethod
32-
def is_enabled():
33-
return True
34-
35-
libraries_v2_enabled = DummyToggle()
30+
def libraries_v2_enabled() -> bool:
31+
"""Dummy toggle that is always enabled."""
32+
return True
3633

3734

3835
logger = logging.getLogger(__name__)
@@ -162,7 +159,7 @@ def get_enforcer(cls) -> SyncedEnforcer:
162159
# removed for the next release cycle.
163160
# When replaced, we will only need to configure the enforcer here. Which
164161
# is in charge of enabling/disabling auto-load and auto-save.
165-
if libraries_v2_enabled.is_enabled():
162+
if libraries_v2_enabled():
166163
cls.configure_enforcer_auto_save_and_load()
167164
else:
168165
cls.deactivate_enforcer()

openedx_authz/tests/test_enforcer.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -590,7 +590,7 @@ def test_enforcer_auto_save_enabled_when_toggle_enabled(self, mock_toggle):
590590
- Policy changes are persisted to database
591591
- CASBIN_AUTO_LOAD_POLICY_INTERVAL=0 doesn't disable auto-save
592592
"""
593-
mock_toggle.is_enabled.return_value = True
593+
mock_toggle.return_value = True
594594

595595
enforcer = AuthzEnforcer.get_enforcer()
596596

@@ -619,7 +619,7 @@ def test_enforcer_deactivated_when_toggle_disabled(self, mock_toggle):
619619
- Auto-save is disabled via deactivate_enforcer
620620
- Auto-load is stopped
621621
"""
622-
mock_toggle.is_enabled.return_value = False
622+
mock_toggle.return_value = False
623623

624624
enforcer = AuthzEnforcer.get_enforcer()
625625

@@ -635,7 +635,7 @@ def test_enforcer_auto_load_starts_when_toggle_enabled(self, mock_toggle):
635635
- Auto-load thread is started with configured interval
636636
- Auto-save is enabled
637637
"""
638-
mock_toggle.is_enabled.return_value = True
638+
mock_toggle.return_value = True
639639

640640
enforcer = AuthzEnforcer.get_enforcer()
641641

@@ -652,7 +652,7 @@ def test_enforcer_auto_load_not_restarted_on_subsequent_calls(self, mock_toggle)
652652
- Subsequent calls don't restart the auto-load thread
653653
- Auto-save remains enabled
654654
"""
655-
mock_toggle.is_enabled.return_value = True
655+
mock_toggle.return_value = True
656656

657657
enforcer1 = AuthzEnforcer.get_enforcer()
658658
self.assertTrue(enforcer1.is_auto_loading_running())
@@ -674,11 +674,11 @@ def test_toggle_state_checked_on_every_get_enforcer_call(self, mock_toggle):
674674
- First call with toggle off: auto-save disabled
675675
- Second call with toggle on: auto-save enabled
676676
"""
677-
mock_toggle.is_enabled.return_value = False
677+
mock_toggle.return_value = False
678678
enforcer1 = AuthzEnforcer.get_enforcer()
679679
self.assertFalse(AuthzEnforcer.is_auto_save_enabled())
680680

681-
mock_toggle.is_enabled.return_value = True
681+
mock_toggle.return_value = True
682682
enforcer2 = AuthzEnforcer.get_enforcer()
683683
self.assertIs(enforcer1, enforcer2)
684684
self.assertTrue(AuthzEnforcer.is_auto_save_enabled())
@@ -696,7 +696,7 @@ def test_dummy_toggle_behavior_in_tests(self, mock_toggle):
696696
- Enforcer initializes successfully
697697
- Auto-save is enabled (DummyToggle returns True)
698698
"""
699-
mock_toggle.is_enabled.return_value = True
699+
mock_toggle.return_value = True
700700

701701
enforcer = AuthzEnforcer.get_enforcer()
702702

@@ -715,7 +715,7 @@ def test_auto_save_preserved_with_interval_zero(self, mock_toggle):
715715
- Tests can manually enable auto-save
716716
- Subsequent get_enforcer() calls preserve auto-save state
717717
"""
718-
mock_toggle.is_enabled.return_value = True
718+
mock_toggle.return_value = True
719719

720720
enforcer = AuthzEnforcer.get_enforcer()
721721
enforcer.enable_auto_save(True)
@@ -735,7 +735,7 @@ def test_auto_save_persistence_with_interval_zero(self, mock_toggle):
735735
- Policies added via add_policy() are persisted to database
736736
- Policies can be reloaded from database
737737
"""
738-
mock_toggle.is_enabled.return_value = True
738+
mock_toggle.return_value = True
739739

740740
enforcer = AuthzEnforcer.get_enforcer()
741741
enforcer.enable_auto_save(True)
@@ -763,7 +763,7 @@ def test_auto_save_disabled_explicitly(self, mock_toggle):
763763
- Auto-save is disabled
764764
- Auto-load is not running
765765
"""
766-
mock_toggle.is_enabled.return_value = True
766+
mock_toggle.return_value = True
767767

768768
enforcer = AuthzEnforcer.get_enforcer()
769769

@@ -779,7 +779,7 @@ def test_policies_not_persisted_when_auto_save_disabled(self, mock_toggle):
779779
- Policies added are only in memory
780780
- Reloading from database clears them
781781
"""
782-
mock_toggle.is_enabled.return_value = True
782+
mock_toggle.return_value = True
783783

784784
enforcer = AuthzEnforcer.get_enforcer()
785785

@@ -812,7 +812,7 @@ def test_multiple_get_enforcer_calls_preserve_auto_save(self, mock_toggle):
812812
- After manually enabling auto-save, it stays enabled
813813
- Multiple get_enforcer() calls don't change auto-save state
814814
"""
815-
mock_toggle.is_enabled.return_value = True
815+
mock_toggle.return_value = True
816816

817817
# First call
818818
enforcer1 = AuthzEnforcer.get_enforcer()

0 commit comments

Comments
 (0)