chore: removed enable_course_live and enable_big_blue_button flag flags (#33998)

* chore: removed enable_course_live flag

* chore: removed enable_big_blue_button flag

* fix: fixing failed test cases
This commit is contained in:
ayesha waris
2024-01-12 15:24:46 +05:00
committed by GitHub
parent 53270f17b3
commit 2fd1f7bd90
9 changed files with 24 additions and 69 deletions

View File

@@ -234,7 +234,7 @@ class TestFieldOverrideSplitPerformance(FieldOverridePerformanceTestCase):
__test__ = True
# TODO: decrease query count as part of REVO-28
QUERY_COUNT = 32
QUERY_COUNT = 33
TEST_DATA = {
('no_overrides', 1, True, False): (QUERY_COUNT, 2),

View File

@@ -365,7 +365,7 @@ class IndexQueryTestCase(ModuleStoreTestCase):
self.client.login(username=self.user.username, password=self.user_password)
CourseEnrollment.enroll(self.user, course.id)
with self.assertNumQueries(177, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST):
with self.assertNumQueries(178, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST):
with check_mongo_calls(3):
url = reverse(
'courseware_section',
@@ -1491,8 +1491,8 @@ class ProgressPageTests(ProgressPageBaseTests):
self.assertContains(resp, "earned a certificate for this course.")
@ddt.data(
(True, 53),
(False, 53),
(True, 54),
(False, 54),
)
@ddt.unpack
def test_progress_queries_paced_courses(self, self_paced, query_count):
@@ -1507,13 +1507,13 @@ class ProgressPageTests(ProgressPageBaseTests):
ContentTypeGatingConfig.objects.create(enabled=True, enabled_as_of=datetime(2018, 1, 1))
self.setup_course()
with self.assertNumQueries(
53, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST
54, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST
), check_mongo_calls(2):
self._get_progress_page()
for _ in range(2):
with self.assertNumQueries(
37, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST
38, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST
), check_mongo_calls(2):
self._get_progress_page()

View File

@@ -1,31 +0,0 @@
"""
This module contains various configuration settings via
waffle switches for the live app.
"""
from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag
WAFFLE_NAMESPACE = 'course_live'
# .. toggle_name: course_live.enable_course_live
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: Waffle flag to enable the course live app plugin
# .. toggle_use_cases: temporary, open_edx
# .. toggle_creation_date: 2022-03-02
# .. toggle_target_removal_date: 2022-06-02
# .. toggle_warning: When the flag is ON, the course live app will be visible in the course authoring mfe
# .. toggle_tickets: TNL-9603
ENABLE_COURSE_LIVE = CourseWaffleFlag(f'{WAFFLE_NAMESPACE}.enable_course_live', __name__)
# .. toggle_name: course_live.enable_big_blue_button
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: Waffle flag to enable big blue button provider
# .. toggle_use_cases: temporary, open_edx
# .. toggle_creation_date: 2022-06-23
# .. toggle_target_removal_date: 2022-09-23
# .. toggle_warning: When the flag is ON, the big blue button provider will be available in course live
# .. toggle_tickets: INF-308
ENABLE_BIG_BLUE_BUTTON = CourseWaffleFlag(f'{WAFFLE_NAMESPACE}.enable_big_blue_button', __name__)

View File

@@ -10,7 +10,6 @@ from lti_consumer.models import LtiConfiguration
from opaque_keys.edx.keys import CourseKey
from openedx.core.djangoapps.course_apps.plugins import CourseApp
from openedx.core.djangoapps.course_live.config.waffle import ENABLE_COURSE_LIVE
from .models import CourseLiveConfiguration
@@ -32,9 +31,9 @@ class LiveCourseApp(CourseApp):
@classmethod
def is_available(cls, course_key: CourseKey) -> bool:
"""
Live is available based on ENABLE_COURSE_LIVE flag
Live is available
"""
return ENABLE_COURSE_LIVE.is_enabled(course_key)
return True
@classmethod
def is_enabled(cls, course_key: CourseKey) -> bool:

View File

@@ -5,8 +5,6 @@ from abc import ABC
from typing import List, Dict
from django.conf import settings
from openedx.core.djangoapps.course_live.config.waffle import ENABLE_BIG_BLUE_BUTTON
class LiveProvider(ABC):
"""
@@ -120,7 +118,7 @@ class BigBlueButton(LiveProvider, HasGlobalCredentials):
@property
def is_enabled(self) -> bool:
return ENABLE_BIG_BLUE_BUTTON.is_enabled()
return True
@staticmethod
def get_global_keys() -> Dict:

View File

@@ -8,7 +8,6 @@ from opaque_keys.edx.keys import CourseKey
from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole, GlobalStaff
from lms.djangoapps.courseware.tabs import EnrolledTab
from openedx.core.djangoapps.course_live.config.waffle import ENABLE_COURSE_LIVE
from openedx.core.djangoapps.course_live.models import CourseLiveConfiguration
from openedx.core.djangoapps.course_live.providers import HasGlobalCredentials, ProviderManager
from openedx.core.lib.cache_utils import request_cached
@@ -87,7 +86,6 @@ class CourseLiveTab(LtiCourseLaunchMixin, TabFragmentViewMixin, EnrolledTab):
Check if the tab is enabled.
"""
return (
ENABLE_COURSE_LIVE.is_enabled(course.id) and
super().is_enabled(course, user) and
CourseLiveConfiguration.is_enabled(course.id)
)

View File

@@ -6,11 +6,9 @@ from unittest.mock import Mock, patch
import ddt
from django.test import RequestFactory
from edx_toggles.toggles.testutils import override_waffle_flag
from lti_consumer.models import CourseAllowPIISharingInLTIFlag, LtiConfiguration
from lms.djangoapps.courseware.tests.test_tabs import TabTestCase
from openedx.core.djangoapps.course_live.config.waffle import ENABLE_COURSE_LIVE
from openedx.core.djangoapps.course_live.models import CourseLiveConfiguration
from openedx.core.djangoapps.course_live.tab import CourseLiveTab
@@ -56,13 +54,12 @@ class CourseLiveTabTestCase(TabTestCase):
self.course_live_config.enabled = course_live_config_enabled
self.course_live_config.save()
tab = self.check_course_live_tab()
with override_waffle_flag(ENABLE_COURSE_LIVE, True):
self.check_can_display_results(
tab,
for_staff_only=True,
for_enrolled_users_only=True,
expected_value=course_live_config_enabled,
)
self.check_can_display_results(
tab,
for_staff_only=True,
for_enrolled_users_only=True,
expected_value=course_live_config_enabled,
)
@ddt.data(*itertools.product((True, False), repeat=3))
@ddt.unpack

View File

@@ -5,7 +5,6 @@ import json
import ddt
from django.test import RequestFactory
from django.urls import reverse
from edx_toggles.toggles.testutils import override_waffle_flag
from lti_consumer.models import CourseAllowPIISharingInLTIFlag, LtiConfiguration
from markupsafe import Markup
from rest_framework.test import APITestCase
@@ -13,13 +12,11 @@ from xmodule.modulestore import ModuleStoreEnum
from xmodule.modulestore.tests.django_utils import CourseUserType, ModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory
from ..config.waffle import ENABLE_COURSE_LIVE, ENABLE_BIG_BLUE_BUTTON
from ..models import CourseLiveConfiguration
from ..providers import ProviderManager
@ddt.ddt
@override_waffle_flag(ENABLE_BIG_BLUE_BUTTON, True)
class TestCourseLiveConfigurationView(ModuleStoreTestCase, APITestCase):
"""
Unit tests for the CourseLiveConfigurationView.
@@ -310,13 +307,12 @@ class TestCourseLiveConfigurationView(ModuleStoreTestCase, APITestCase):
def test_courseware_api_has_live_tab(self):
"""
Test if courseware api has live-tab after ENABLE_COURSE_LIVE flag is enabled
Test if courseware api has live-tab
"""
self.create_course_live_config()
with override_waffle_flag(ENABLE_COURSE_LIVE, True):
url = reverse('course-home:course-metadata', args=[self.course.id])
response = self.client.get(url)
content = json.loads(response.content.decode('utf-8'))
url = reverse('course-home:course-metadata', args=[self.course.id])
response = self.client.get(url)
content = json.loads(response.content.decode('utf-8'))
data = next((tab for tab in content['tabs'] if tab['tab_id'] == 'lti_live'), None)
self.assertEqual(data, {
'tab_id': 'lti_live',
@@ -356,7 +352,6 @@ class TestCourseLiveConfigurationView(ModuleStoreTestCase, APITestCase):
self.assertEqual(content, expected_data)
@override_waffle_flag(ENABLE_BIG_BLUE_BUTTON, True)
class TestCourseLiveProvidersView(ModuleStoreTestCase, APITestCase):
"""
Tests for course live provider view
@@ -432,11 +427,10 @@ class TestCourseLiveIFrameView(ModuleStoreTestCase, APITestCase):
lti_1p1_client_secret='test_client_secret',
)
live_config.save()
with override_waffle_flag(ENABLE_COURSE_LIVE, True):
response = self.client.get(self.url)
self.assertEqual(response.status_code, 200)
self.assertIsInstance(response.data['iframe'], Markup)
self.assertIn('iframe', str(response.data['iframe']))
response = self.client.get(self.url)
self.assertEqual(response.status_code, 200)
self.assertIsInstance(response.data['iframe'], Markup)
self.assertIn('iframe', str(response.data['iframe']))
def test_non_authenticated_user(self):
"""

View File

@@ -49,7 +49,7 @@ class TestCourseUpdatesPage(BaseCourseUpdatesTestCase):
# Fetch the view and verify that the query counts haven't changed
# TODO: decrease query count as part of REVO-28
with self.assertNumQueries(52, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST):
with self.assertNumQueries(53, table_ignorelist=QUERY_COUNT_TABLE_IGNORELIST):
with check_mongo_calls(3):
url = course_updates_url(self.course)
self.client.get(url)