diff --git a/cms/djangoapps/api/v1/serializers/course_runs.py b/cms/djangoapps/api/v1/serializers/course_runs.py index 01074965bb..c2a64f4c33 100644 --- a/cms/djangoapps/api/v1/serializers/course_runs.py +++ b/cms/djangoapps/api/v1/serializers/course_runs.py @@ -82,7 +82,7 @@ class CourseRunTeamSerializerMixin(serializers.Serializer): # lint-amnesty, pyl def image_is_jpeg_or_png(value): content_type = value.content_type - if content_type not in list(IMAGE_TYPES.keys()): + if content_type not in list(IMAGE_TYPES.keys()): # lint-amnesty, pylint: disable=consider-iterating-dictionary raise serializers.ValidationError( f'Only JPEG and PNG image types are supported. {content_type} is not valid') diff --git a/cms/djangoapps/contentstore/views/transcript_settings.py b/cms/djangoapps/contentstore/views/transcript_settings.py index 02846c05a4..94cc5284d9 100644 --- a/cms/djangoapps/contentstore/views/transcript_settings.py +++ b/cms/djangoapps/contentstore/views/transcript_settings.py @@ -72,7 +72,7 @@ def validate_transcript_credentials(provider, **credentials): must_have_props = ['api_key', 'username'] missing = [ - must_have_prop for must_have_prop in must_have_props if must_have_prop not in list(credentials.keys()) + must_have_prop for must_have_prop in must_have_props if must_have_prop not in list(credentials.keys()) # lint-amnesty, pylint: disable=consider-iterating-dictionary ] if missing: error_message = '{missing} must be specified.'.format(missing=' and '.join(missing)) diff --git a/cms/djangoapps/contentstore/views/videos.py b/cms/djangoapps/contentstore/views/videos.py index f7b0d91dc3..ebf839e81b 100644 --- a/cms/djangoapps/contentstore/views/videos.py +++ b/cms/djangoapps/contentstore/views/videos.py @@ -285,7 +285,7 @@ def validate_transcript_preferences(provider, cielo24_fidelity, cielo24_turnarou # validate transcription providers transcription_plans = get_3rd_party_transcription_plans() - if provider in list(transcription_plans.keys()): + if provider in list(transcription_plans.keys()): # lint-amnesty, pylint: disable=consider-iterating-dictionary # Further validations for providers if provider == TranscriptProvider.CIELO24: diff --git a/common/djangoapps/student/tests/test_course_listing.py b/common/djangoapps/student/tests/test_course_listing.py index 4679f5e053..9b16ec9999 100644 --- a/common/djangoapps/student/tests/test_course_listing.py +++ b/common/djangoapps/student/tests/test_course_listing.py @@ -117,7 +117,7 @@ class TestCourseListing(ModuleStoreTestCase, MilestonesTestCaseMixin): CourseOverview.objects.filter(id=course_key).delete() courses_list = list(get_course_enrollments(self.student, None, [])) - assert courses_list == [] + assert not courses_list def test_course_listing_errored_deleted_courses(self): """ diff --git a/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py b/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py index 8d0a1fadfa..74c613dfe2 100644 --- a/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py +++ b/common/djangoapps/terrain/stubs/tests/test_youtube_stub.py @@ -68,4 +68,4 @@ class StubYouTubeServiceTest(unittest.TestCase): # lint-amnesty, pylint: disabl assert response.status_code == 200 # ensure that server config dict is empty after successful reset - assert self.server.config == {} + assert not self.server.config diff --git a/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py b/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py index 1350979746..a96fa8636b 100644 --- a/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py +++ b/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py @@ -82,7 +82,7 @@ class GetProviderUserStatesTestCase(TestCase): def test_returns_empty_list_if_no_enabled_providers(self): assert not provider.Registry.enabled() - assert [] == pipeline.get_provider_user_states(self.user) + assert not pipeline.get_provider_user_states(self.user) def test_state_not_returned_for_disabled_provider(self): disabled_provider = self.configure_google_provider(enabled=False) @@ -130,7 +130,7 @@ class GetProviderUserStatesTestCase(TestCase): states = pipeline.get_provider_user_states(self.user) - assert [] == list(social_models.DjangoStorage.user.objects.all()) + assert not list(social_models.DjangoStorage.user.objects.all()) assert 2 == len(states) google_state = [state for state in states if state.provider.provider_id == google_provider.provider_id][0] diff --git a/common/djangoapps/third_party_auth/tests/test_provider.py b/common/djangoapps/third_party_auth/tests/test_provider.py index 64e4e4e92f..99a8d545a4 100644 --- a/common/djangoapps/third_party_auth/tests/test_provider.py +++ b/common/djangoapps/third_party_auth/tests/test_provider.py @@ -224,4 +224,4 @@ class RegistryTest(testutil.TestCase): def test_get_enabled_by_backend_name_returns_none_if_provider_not_enabled(self): google_provider = self.configure_google_provider(enabled=False) found = list(provider.Registry.get_enabled_by_backend_name(google_provider.backend_name)) - assert found == [] + assert not found diff --git a/common/djangoapps/util/tests/test_milestones_helpers.py b/common/djangoapps/util/tests/test_milestones_helpers.py index 436f8a92d3..03faf09308 100644 --- a/common/djangoapps/util/tests/test_milestones_helpers.py +++ b/common/djangoapps/util/tests/test_milestones_helpers.py @@ -142,7 +142,7 @@ class MilestonesHelpersTestCase(ModuleStoreTestCase): course = CourseFactory() required_content = milestones_helpers.get_required_content(course.id, AnonymousUser()) - assert required_content == [] + assert not required_content # NOTE (CCB): The initial version of anonymous courseware access is very simple. We avoid accidentally # exposing locked content by simply avoiding anonymous access altogether for courses runs with milestones. diff --git a/lms/djangoapps/ccx/tests/test_views.py b/lms/djangoapps/ccx/tests/test_views.py index 73e37e1bf1..61edcc233f 100644 --- a/lms/djangoapps/ccx/tests/test_views.py +++ b/lms/djangoapps/ccx/tests/test_views.py @@ -605,7 +605,7 @@ class TestCoachDashboard(CcxTestCase, LoginEnrollmentTestCase): enrollment = CourseEnrollmentFactory(course_id=self.course.id) student = enrollment.user outbox = self.get_outbox() - assert outbox == [] + assert not outbox url = reverse( view_name, @@ -687,7 +687,7 @@ class TestCoachDashboard(CcxTestCase, LoginEnrollmentTestCase): enrollment = CourseEnrollmentFactory(course_id=course_key) student = enrollment.user outbox = self.get_outbox() - assert outbox == [] + assert not outbox url = reverse( view_name, @@ -729,7 +729,7 @@ class TestCoachDashboard(CcxTestCase, LoginEnrollmentTestCase): ccx = self.make_ccx() course_key = CCXLocator.from_course_locator(self.course.id, ccx.id) outbox = self.get_outbox() - assert outbox == [] + assert not outbox url = reverse( view_name, @@ -777,7 +777,7 @@ class TestCoachDashboard(CcxTestCase, LoginEnrollmentTestCase): course_key = CCXLocator.from_course_locator(course.id, ccx.id) outbox = self.get_outbox() CourseEnrollmentAllowed(course_id=course_key, email=identifier) - assert outbox == [] + assert not outbox url = reverse( view_name, diff --git a/lms/djangoapps/certificates/tests/test_api.py b/lms/djangoapps/certificates/tests/test_api.py index fadf0c89ee..0e1df73c38 100644 --- a/lms/djangoapps/certificates/tests/test_api.py +++ b/lms/djangoapps/certificates/tests/test_api.py @@ -515,7 +515,7 @@ class CertificateGetTests(SharedModuleStoreTestCase): """ Test the case when there are no certificates for a user. """ - assert get_certificates_for_user(self.student_no_cert.username) == [] + assert not get_certificates_for_user(self.student_no_cert.username) @patch.dict(settings.FEATURES, {'CERTIFICATES_HTML_VIEW': True}) def test_get_web_certificate_url(self): diff --git a/lms/djangoapps/commerce/tests/mocks.py b/lms/djangoapps/commerce/tests/mocks.py index 6adabc678a..4e6669cf27 100644 --- a/lms/djangoapps/commerce/tests/mocks.py +++ b/lms/djangoapps/commerce/tests/mocks.py @@ -79,7 +79,7 @@ class mock_ecommerce_api_endpoint: if self.expect_called is None: called_if_expected = True else: - called_if_expected = self.expect_called == (httpretty.last_request().headers != {}) + called_if_expected = self.expect_called == (bool(httpretty.last_request().headers)) httpretty.disable() if self.reset_on_exit: diff --git a/lms/djangoapps/courseware/tests/test_courses.py b/lms/djangoapps/courseware/tests/test_courses.py index 1d6590e1da..671c83a211 100644 --- a/lms/djangoapps/courseware/tests/test_courses.py +++ b/lms/djangoapps/courseware/tests/test_courses.py @@ -139,7 +139,7 @@ class CoursesTest(ModuleStoreTestCase): # Request filtering for an org distinct from the designated org. no_courses = get_courses(user, org=primary) - assert list(no_courses) == [] + assert not list(no_courses) # Request filtering for an org matching the designated org. site_courses = get_courses(user, org=alternate) diff --git a/lms/djangoapps/edxnotes/helpers.py b/lms/djangoapps/edxnotes/helpers.py index ca4df678d4..b48564b772 100644 --- a/lms/djangoapps/edxnotes/helpers.py +++ b/lms/djangoapps/edxnotes/helpers.py @@ -173,7 +173,7 @@ def preprocess_collection(user, course, collection): model.update(update) usage_id = model["usage_id"] - if usage_id in list(cache.keys()): + if usage_id in list(cache.keys()): # lint-amnesty, pylint: disable=consider-iterating-dictionary model.update(cache[usage_id]) filtered_collection.append(model) continue @@ -202,7 +202,7 @@ def preprocess_collection(user, course, collection): if not section: log.debug("Section not found: %s", usage_key) continue - if section.location in list(cache.keys()): + if section.location in list(cache.keys()): # lint-amnesty, pylint: disable=consider-iterating-dictionary usage_context = cache[section.location] usage_context.update({ "unit": get_module_context(course, unit), @@ -216,7 +216,7 @@ def preprocess_collection(user, course, collection): if not chapter: log.debug("Chapter not found: %s", usage_key) continue - if chapter.location in list(cache.keys()): + if chapter.location in list(cache.keys()): # lint-amnesty, pylint: disable=consider-iterating-dictionary usage_context = cache[chapter.location] usage_context.update({ "unit": get_module_context(course, unit), @@ -349,7 +349,7 @@ def get_notes(request, course, page=DEFAULT_PAGE, page_size=DEFAULT_PAGE_SIZE, t # Verify response dict structure expected_keys = ['total', 'rows', 'num_pages', 'start', 'next', 'previous', 'current_page'] - keys = list(collection.keys()) + keys = list(collection.keys()) # lint-amnesty, pylint: disable=consider-iterating-dictionary if not keys or not all(key in expected_keys for key in keys): log.error("Incorrect data received from notes api: collection_data=%s", str(collection)) raise EdxNotesParseError(_("Incorrect data received from notes api.")) diff --git a/lms/djangoapps/experiments/tests/test_utils.py b/lms/djangoapps/experiments/tests/test_utils.py index d3223c33c5..d083bea653 100644 --- a/lms/djangoapps/experiments/tests/test_utils.py +++ b/lms/djangoapps/experiments/tests/test_utils.py @@ -63,7 +63,7 @@ class ExperimentUtilsTests(ModuleStoreTestCase, TestCase): def test_unenrolled_courses_for_empty_courses(self): unenrolled_courses = get_unenrolled_courses([], []) - assert [] == unenrolled_courses + assert not unenrolled_courses def test_unenrolled_courses_for_single_course(self): course = {'key': 'UQx+ENGY1x'} diff --git a/lms/djangoapps/grades/tests/test_course_grade_factory.py b/lms/djangoapps/grades/tests/test_course_grade_factory.py index d2a85e0f87..c927ce4209 100644 --- a/lms/djangoapps/grades/tests/test_course_grade_factory.py +++ b/lms/djangoapps/grades/tests/test_course_grade_factory.py @@ -279,7 +279,7 @@ class TestGradeIteration(SharedModuleStoreTestCase): iterator, but it shouldn't error. """ grade_results = list(CourseGradeFactory().iter([], self.course)) - assert grade_results == [] + assert not grade_results def test_all_empty_grades(self): """ diff --git a/lms/djangoapps/instructor_analytics/tests/test_csvs.py b/lms/djangoapps/instructor_analytics/tests/test_csvs.py index 3c795bb540..3d7cbcfe4a 100644 --- a/lms/djangoapps/instructor_analytics/tests/test_csvs.py +++ b/lms/djangoapps/instructor_analytics/tests/test_csvs.py @@ -70,8 +70,8 @@ class TestAnalyticsFormatDictlist(TestCase): def test_format_dictlist_empty(self): header, datarows = format_dictlist([], []) - assert header == [] - assert datarows == [] + assert not header + assert not datarows def test_create_csv_response(self): header = ['Name', 'Email'] diff --git a/lms/djangoapps/program_enrollments/api/tests/test_linking.py b/lms/djangoapps/program_enrollments/api/tests/test_linking.py index 8c74fa9a51..3f6762a909 100644 --- a/lms/djangoapps/program_enrollments/api/tests/test_linking.py +++ b/lms/djangoapps/program_enrollments/api/tests/test_linking.py @@ -314,7 +314,7 @@ class TestLinkProgramEnrollments(TestLinkProgramEnrollmentsMixin, TestCase): } ) - assert errors == {} + assert not errors self._assert_program_enrollment(self.user_2, self.program, '0001') self._assert_no_program_enrollment(self.user_1, self.program) # assert that all of user_1's course enrollments as part of the program diff --git a/lms/djangoapps/support/views/utils.py b/lms/djangoapps/support/views/utils.py index 6a5008866d..52092b98a5 100644 --- a/lms/djangoapps/support/views/utils.py +++ b/lms/djangoapps/support/views/utils.py @@ -77,7 +77,7 @@ def validate_and_link_program_enrollments(program_uuid_string, linkage_text): (item.get('external_key') or '').strip(): (item['username'] or '').strip() for item in reader } - if not (all(ext_key_to_username.keys()) and all(ext_key_to_username.values())): + if not (all(ext_key_to_username.keys()) and all(ext_key_to_username.values())): # lint-amnesty, pylint: disable=consider-iterating-dictionary return [], [ "All linking lines must be in the format 'external_user_key,lms_username'" ] @@ -87,7 +87,7 @@ def validate_and_link_program_enrollments(program_uuid_string, linkage_text): successes = [ str(item) for item in ext_key_to_username.items() - if item[0] not in link_errors.keys() + if item[0] not in link_errors.keys() # lint-amnesty, pylint: disable=consider-iterating-dictionary ] errors = [message for message in link_errors.values()] # lint-amnesty, pylint: disable=unnecessary-comprehension return successes, errors diff --git a/lms/djangoapps/verify_student/tests/test_views.py b/lms/djangoapps/verify_student/tests/test_views.py index ff6f2d6a7f..94973ce372 100644 --- a/lms/djangoapps/verify_student/tests/test_views.py +++ b/lms/djangoapps/verify_student/tests/test_views.py @@ -906,7 +906,7 @@ class TestPayAndVerifyView(UrlResetMixin, ModuleStoreTestCase, XssTestMixin, Tes # ensure the mock api call was made. NOTE: the following line # approximates the check - if the headers were empty it means # there was no last request. - assert httpretty.last_request().headers != {} + assert httpretty.last_request().headers return response def _assert_displayed_mode(self, response, expected_mode): diff --git a/openedx/core/djangoapps/bookmarks/tests/test_models.py b/openedx/core/djangoapps/bookmarks/tests/test_models.py index fed99622f4..1c618dcea4 100644 --- a/openedx/core/djangoapps/bookmarks/tests/test_models.py +++ b/openedx/core/djangoapps/bookmarks/tests/test_models.py @@ -409,7 +409,7 @@ class BookmarkModelTests(BookmarksTestsBase): # Block does not exist usage_key = UsageKey.from_string('i4x://edX/apis/html/interactive') usage_key.replace(course_key=self.course.id) - assert Bookmark.get_path(usage_key) == [] + assert not Bookmark.get_path(usage_key) # Block is an orphan self.other_sequential_1.children = [] diff --git a/openedx/core/djangoapps/catalog/tests/test_utils.py b/openedx/core/djangoapps/catalog/tests/test_utils.py index 8ceeee3539..caddac0f4a 100644 --- a/openedx/core/djangoapps/catalog/tests/test_utils.py +++ b/openedx/core/djangoapps/catalog/tests/test_utils.py @@ -663,7 +663,7 @@ class TestSessionEntitlement(CatalogIntegrationMixin, TestCase): ) session_entitlements = get_visible_sessions_for_entitlement(entitlement) - assert session_entitlements == [] + assert not session_entitlements @skip_unless_lms @@ -780,10 +780,10 @@ class TestProgramCourseRunCrawling(TestCase): program = { 'title': 'notice that I do not have a curriculum', } - assert [] == child_programs(program) + assert not child_programs(program) def test_child_programs_no_children(self): - assert [] == child_programs(self.empty_program) + assert not child_programs(self.empty_program) def test_child_programs_one_child(self): assert [self.grandchild_1] == child_programs(self.simple_program) diff --git a/openedx/core/djangoapps/content/course_overviews/management/commands/tests/test_simulate_publish.py b/openedx/core/djangoapps/content/course_overviews/management/commands/tests/test_simulate_publish.py index 411b367bce..dd47ac5f73 100644 --- a/openedx/core/djangoapps/content/course_overviews/management/commands/tests/test_simulate_publish.py +++ b/openedx/core/djangoapps/content/course_overviews/management/commands/tests/test_simulate_publish.py @@ -126,7 +126,7 @@ class TestSimulatePublish(SharedModuleStoreTestCase): assert self.course_key_1 in self.received_1 assert self.course_key_2 in self.received_1 assert self.course_key_3 in self.received_1 - assert self.received_2 == [] + assert not self.received_2 def test_course_overviews(self): """Integration test with CourseOverviews.""" @@ -140,8 +140,8 @@ class TestSimulatePublish(SharedModuleStoreTestCase): ) ) assert CourseOverview.objects.all().count() == 3 - assert self.received_1 == [] - assert self.received_2 == [] + assert not self.received_1 + assert not self.received_2 def sample_receiver_1(self, sender, course_key, **kwargs): # pylint: disable=unused-argument """Custom receiver for testing.""" diff --git a/openedx/core/djangoapps/course_groups/tests/test_cohorts.py b/openedx/core/djangoapps/course_groups/tests/test_cohorts.py index 93d9728e9d..01588ca529 100644 --- a/openedx/core/djangoapps/course_groups/tests/test_cohorts.py +++ b/openedx/core/djangoapps/course_groups/tests/test_cohorts.py @@ -488,7 +488,7 @@ class TestCohorts(ModuleStoreTestCase): """ course = modulestore().get_course(self.toy_course_key) config_course_cohorts(course, is_cohorted=True) - assert [] == cohorts.get_course_cohorts(course) + assert not cohorts.get_course_cohorts(course) def test_get_course_cohorts(self): """ diff --git a/openedx/core/djangoapps/credit/tests/test_api.py b/openedx/core/djangoapps/credit/tests/test_api.py index f9c096c53d..b84eb19b70 100644 --- a/openedx/core/djangoapps/credit/tests/test_api.py +++ b/openedx/core/djangoapps/credit/tests/test_api.py @@ -747,7 +747,7 @@ class CreditRequirementApiTests(CreditApiTestBase): # Since the requirement hasn't been published yet, it won't show # up in the list of requirements. req_status = api.get_credit_requirement_status(self.course_key, username, namespace="grade", name="grade") - assert req_status == [] + assert not req_status # Now add the requirements, simulating what happens when a course is published. requirements = [ diff --git a/openedx/core/djangoapps/lang_pref/tests/test_middleware.py b/openedx/core/djangoapps/lang_pref/tests/test_middleware.py index 1a071679d1..725478bab3 100644 --- a/openedx/core/djangoapps/lang_pref/tests/test_middleware.py +++ b/openedx/core/djangoapps/lang_pref/tests/test_middleware.py @@ -212,7 +212,7 @@ class TestUserPreferenceMiddleware(CacheIsolationTestCase): result = self.middleware.process_response(self.request, response) assert result is response - assert response.mock_calls == [] + assert not response.mock_calls def test_preference_update_noop(self): self.request.COOKIES[settings.LANGUAGE_COOKIE_NAME] = 'es' diff --git a/openedx/core/djangoapps/programs/tests/test_utils.py b/openedx/core/djangoapps/programs/tests/test_utils.py index 7645f5975c..eca48c7f33 100644 --- a/openedx/core/djangoapps/programs/tests/test_utils.py +++ b/openedx/core/djangoapps/programs/tests/test_utils.py @@ -105,9 +105,9 @@ class TestProgramProgressMeter(ModuleStoreTestCase): meter = ProgramProgressMeter(self.site, self.user) - assert meter.engaged_programs == [] + assert not meter.engaged_programs self._assert_progress(meter) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) def test_enrollments_but_no_programs(self, mock_get_programs): """Verify behavior when enrollments exist, but no matching programs do.""" @@ -117,9 +117,9 @@ class TestProgramProgressMeter(ModuleStoreTestCase): self._create_enrollments(course_run_id) meter = ProgramProgressMeter(self.site, self.user) - assert meter.engaged_programs == [] + assert not meter.engaged_programs self._assert_progress(meter) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) def test_entitlements_but_no_programs(self, mock_get_programs): """ Verify engaged_programs is empty when entitlements exist, but no matching programs do. """ @@ -128,7 +128,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): self._create_entitlements(uuid.uuid4()) meter = ProgramProgressMeter(self.site, self.user) - assert meter.engaged_programs == [] + assert not meter.engaged_programs def test_single_program_enrollment(self, mock_get_programs): """ @@ -158,7 +158,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): meter, ProgressFactory(uuid=program['uuid'], in_progress=1) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) def test_single_program_entitlement(self, mock_get_programs): """ @@ -375,7 +375,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): meter, *(ProgressFactory(uuid=program['uuid'], in_progress=1) for program in programs) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) def test_multiple_program_entitlement(self, mock_get_programs): """ @@ -443,7 +443,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): meter, *(ProgressFactory(uuid=program['uuid'], in_progress=1) for program in programs) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) def test_shared_entitlement_engagement(self, mock_get_programs): """ @@ -522,7 +522,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): # No enrollments, no programs in progress. meter = ProgramProgressMeter(self.site, self.user) self._assert_progress(meter) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) # One enrollment, one program in progress. self._create_enrollments(first_course_run_key) @@ -532,7 +532,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): meter, ProgressFactory(uuid=program_uuid, in_progress=1, not_started=2) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) # 3 enrollments, 3 courses in progress. self._create_enrollments(second_course_run_key) @@ -545,7 +545,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): in_progress=3, ) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) # One valid certificate earned, one course complete. self._create_certificates(first_course_run_key, mode=MODES.verified) @@ -558,7 +558,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): in_progress=2, ) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) # Invalid certificate earned, still one course to complete. (invalid because mode doesn't match the course) second_cert = self._create_certificates(second_course_run_key, mode=MODES.honor)[0] @@ -572,7 +572,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): in_progress=2, ) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) # Second valid certificate obtained, 2 courses complete. second_cert.mode = MODES.verified @@ -586,7 +586,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): in_progress=1, ) ) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) # 3 certs, 1 unavailable, Program available in the future self._create_certificates(third_course_run_key, mode=MODES.verified) @@ -770,7 +770,7 @@ class TestProgramProgressMeter(ModuleStoreTestCase): # Verify that the test program is not complete. meter = ProgramProgressMeter(self.site, self.user) - assert list(meter.completed_programs_with_available_dates.keys()) == [] + assert not list(meter.completed_programs_with_available_dates.keys()) # Grant a 'no-id-professional' certificate for one of the course runs, # thereby completing the program. diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py b/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py index 5351b035bb..fb6a8c0fe3 100644 --- a/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py +++ b/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py @@ -211,8 +211,8 @@ class TestDeactivateLogout(RetirementTestCase): updated_user = User.objects.get(id=self.test_user.id) assert get_retired_email_by_email(self.test_user.email) == updated_user.email assert not updated_user.has_usable_password() - assert list(UserSocialAuth.objects.filter(user=self.test_user)) == [] - assert list(Registration.objects.filter(user=self.test_user)) == [] + assert not list(UserSocialAuth.objects.filter(user=self.test_user)) + assert not list(Registration.objects.filter(user=self.test_user)) assert len(UserRetirementStatus.objects.filter(user_id=self.test_user.id)) == 1 # these retirement utils are tested elsewhere; just make sure we called them mock_retire_dot.assert_called_with(self.test_user) diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py b/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py index f5a112c601..cd471c9920 100644 --- a/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py +++ b/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py @@ -197,7 +197,7 @@ class AccountSettingsViewTest(ThirdPartyAuthTestMixin, SiteMixin, ProgramsApiCon with mock_get_orders(exception=exceptions.HttpNotFoundError): order_detail = get_user_orders(self.user) - assert order_detail == [] + assert not order_detail def test_incomplete_order_detail(self): response = { @@ -215,7 +215,7 @@ class AccountSettingsViewTest(ThirdPartyAuthTestMixin, SiteMixin, ProgramsApiCon with mock_get_orders(response=response): order_detail = get_user_orders(self.user) - assert order_detail == [] + assert not order_detail def test_order_history_with_no_product(self): response = { diff --git a/openedx/features/enterprise_support/tests/test_api.py b/openedx/features/enterprise_support/tests/test_api.py index fcb431b54c..f31e647d50 100644 --- a/openedx/features/enterprise_support/tests/test_api.py +++ b/openedx/features/enterprise_support/tests/test_api.py @@ -395,7 +395,7 @@ class TestEnterpriseApi(EnterpriseServiceMockMixin, CacheIsolationTestCase): assert request_mock.session['enterprise_customer']['uuid'] == str(enterprise_customer_uuid) def test_get_enterprise_learner_data_from_db_no_data(self): - assert [] == get_enterprise_learner_data_from_db(self.user) + assert not get_enterprise_learner_data_from_db(self.user) def test_get_enterprise_learner_data_from_db(self): enterprise_customer_user = EnterpriseCustomerUserFactory(user_id=self.user.id) # lint-amnesty, pylint: disable=unused-variable diff --git a/requirements/edx-sandbox/py38.txt b/requirements/edx-sandbox/py38.txt index aa564b93b2..fc8026be1c 100644 --- a/requirements/edx-sandbox/py38.txt +++ b/requirements/edx-sandbox/py38.txt @@ -73,7 +73,7 @@ random2==1.0.1 # via -r requirements/edx-sandbox/py38.in regex==2021.11.10 # via nltk -scipy==1.7.2 +scipy==1.7.3 # via # -r requirements/edx-sandbox/py38.in # chem diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 55991cdaa4..c9736af704 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -112,7 +112,7 @@ cffi==1.15.0 # via cryptography chardet==4.0.0 # via pysrt -charset-normalizer==2.0.7 +charset-normalizer==2.0.9 # via # -r requirements/edx/paver.txt # aiohttp @@ -246,7 +246,7 @@ django-config-models==2.2.0 # edx-enterprise # edx-name-affirmation # lti-consumer-xblock -django-cors-headers==3.10.0 +django-cors-headers==3.10.1 # via -r requirements/edx/base.in django-countries==7.2.1 # via @@ -743,7 +743,7 @@ pycountry==20.7.3 # via -r requirements/edx/base.in pycparser==2.21 # via cffi -pycryptodomex==3.11.0 +pycryptodomex==3.12.0 # via # -r requirements/edx/base.in # edx-proctoring @@ -770,7 +770,7 @@ pyjwt[crypto]==2.3.0 # social-auth-core pylatexenc==2.10 # via olxcleaner -pylti1p3==1.9.1 +pylti1p3==1.10.0 # via -r requirements/edx/base.in pymongo==3.10.1 # via @@ -814,7 +814,7 @@ python-slugify==4.0.1 # via # -c requirements/edx/../constraints.txt # code-annotations -python-swiftclient==3.12.0 +python-swiftclient==3.13.0 # via ora2 python3-openid==3.2.0 ; python_version >= "3" # via @@ -897,7 +897,7 @@ s3transfer==0.1.13 # via boto3 sailthru-client==2.2.3 # via edx-ace -scipy==1.7.2 +scipy==1.7.3 # via # chem # openedx-calc @@ -996,7 +996,7 @@ text-unidecode==1.3 # via python-slugify tqdm==4.62.3 # via nltk -typing-extensions==4.0.0 +typing-extensions==4.0.1 # via async-timeout unicodecsv==0.14.1 # via diff --git a/requirements/edx/coverage.txt b/requirements/edx/coverage.txt index 4917bebdb9..5c001c14b0 100644 --- a/requirements/edx/coverage.txt +++ b/requirements/edx/coverage.txt @@ -4,7 +4,7 @@ # # make upgrade # -coverage==6.1.2 +coverage==6.2 # via -r requirements/edx/coverage.in diff-cover==4.0.0 # via diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 4bfae02104..13f8d0eb54 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -67,7 +67,7 @@ asgiref==3.4.1 # -r requirements/edx/testing.txt # django # uvicorn -astroid==2.8.6 +astroid==2.9.0 # via # -r requirements/edx/testing.txt # pylint @@ -157,7 +157,7 @@ chardet==4.0.0 # via # -r requirements/edx/testing.txt # pysrt -charset-normalizer==2.0.7 +charset-normalizer==2.0.9 # via # -r requirements/edx/testing.txt # aiohttp @@ -199,7 +199,7 @@ coreschema==0.0.4 # -r requirements/edx/testing.txt # coreapi # drf-yasg -coverage[toml]==6.1.2 +coverage[toml]==6.2 # via # -r requirements/edx/testing.txt # pytest-cov @@ -333,7 +333,7 @@ django-config-models==2.2.0 # edx-enterprise # edx-name-affirmation # lti-consumer-xblock -django-cors-headers==3.10.0 +django-cors-headers==3.10.1 # via -r requirements/edx/testing.txt django-countries==7.2.1 # via @@ -644,7 +644,7 @@ execnet==1.9.0 # pytest-xdist factory-boy==3.2.1 # via -r requirements/edx/testing.txt -faker==9.8.3 +faker==9.9.0 # via # -r requirements/edx/testing.txt # factory-boy @@ -873,7 +873,7 @@ mccabe==0.6.1 # via # -r requirements/edx/testing.txt # pylint -mistune==0.8.4 +mistune==2.0.0 # via m2r mock==4.0.3 # via @@ -1019,7 +1019,7 @@ pycparser==2.21 # via # -r requirements/edx/testing.txt # cffi -pycryptodomex==3.11.0 +pycryptodomex==3.12.0 # via # -r requirements/edx/testing.txt # edx-proctoring @@ -1054,7 +1054,7 @@ pylatexenc==2.10 # via # -r requirements/edx/testing.txt # olxcleaner -pylint==2.11.1 +pylint==2.12.2 # via # -r requirements/edx/testing.txt # edx-lint @@ -1077,7 +1077,7 @@ pylint-plugin-utils==0.6 # pylint-django pylint-pytest==0.3.0 # via -r requirements/edx/testing.txt -pylti1p3==1.9.1 +pylti1p3==1.10.0 # via -r requirements/edx/testing.txt pymongo==3.10.1 # via @@ -1119,7 +1119,7 @@ pytest-attrib==0.1.3 # via -r requirements/edx/testing.txt pytest-cov==3.0.0 # via -r requirements/edx/testing.txt -pytest-django==4.4.0 +pytest-django==4.5.1 # via -r requirements/edx/testing.txt pytest-forked==1.3.0 # via @@ -1131,7 +1131,7 @@ pytest-metadata==1.8.0 # via # -r requirements/edx/testing.txt # pytest-json-report -pytest-randomly==3.10.2 +pytest-randomly==3.10.3 # via -r requirements/edx/testing.txt pytest-xdist[psutil]==2.4.0 # via -r requirements/edx/testing.txt @@ -1161,7 +1161,7 @@ python-slugify==4.0.1 # -r requirements/edx/testing.txt # code-annotations # transifex-client -python-swiftclient==3.12.0 +python-swiftclient==3.13.0 # via # -r requirements/edx/testing.txt # ora2 @@ -1262,7 +1262,7 @@ sailthru-client==2.2.3 # via # -r requirements/edx/testing.txt # edx-ace -scipy==1.7.2 +scipy==1.7.3 # via # -r requirements/edx/testing.txt # chem @@ -1362,7 +1362,7 @@ soupsieve==2.3.1 # via # -r requirements/edx/testing.txt # beautifulsoup4 -sphinx==4.3.0 +sphinx==4.3.1 # via # edx-sphinx-theme # sphinxcontrib-httpdomain @@ -1449,7 +1449,7 @@ tqdm==4.62.3 # nltk transifex-client==0.14.3 # via -r requirements/edx/testing.txt -typing-extensions==4.0.0 +typing-extensions==4.0.1 # via # -r requirements/edx/testing.txt # astroid diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt index 97059c3cc2..2d0df316e4 100644 --- a/requirements/edx/doc.txt +++ b/requirements/edx/doc.txt @@ -10,7 +10,7 @@ babel==2.9.1 # via sphinx certifi==2021.10.8 # via requests -charset-normalizer==2.0.7 +charset-normalizer==2.0.9 # via requests click==7.1.2 # via @@ -62,7 +62,7 @@ smmap==5.0.0 # via gitdb snowballstemmer==2.2.0 # via sphinx -sphinx==4.3.0 +sphinx==4.3.1 # via # -r requirements/edx/doc.in # edx-sphinx-theme @@ -82,7 +82,7 @@ stevedore==3.5.0 # via code-annotations text-unidecode==1.3 # via python-slugify -typing-extensions==4.0.0 +typing-extensions==4.0.1 # via gitpython urllib3==1.26.7 # via requests diff --git a/requirements/edx/paver.txt b/requirements/edx/paver.txt index 593d23f8d6..366e19ee1a 100644 --- a/requirements/edx/paver.txt +++ b/requirements/edx/paver.txt @@ -6,7 +6,7 @@ # certifi==2021.10.8 # via requests -charset-normalizer==2.0.7 +charset-normalizer==2.0.9 # via requests edx-opaque-keys==2.2.2 # via -r requirements/edx/paver.in diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index f6d610ba9c..69ad008989 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -63,7 +63,7 @@ asgiref==3.4.1 # -r requirements/edx/base.txt # django # uvicorn -astroid==2.8.6 +astroid==2.9.0 # via # pylint # pylint-celery @@ -150,7 +150,7 @@ chardet==4.0.0 # via # -r requirements/edx/base.txt # pysrt -charset-normalizer==2.0.7 +charset-normalizer==2.0.9 # via # -r requirements/edx/base.txt # aiohttp @@ -188,7 +188,7 @@ coreschema==0.0.4 # -r requirements/edx/base.txt # coreapi # drf-yasg -coverage[toml]==6.1.2 +coverage[toml]==6.2 # via # -r requirements/edx/coverage.txt # pytest-cov @@ -319,7 +319,7 @@ django-config-models==2.2.0 # edx-enterprise # edx-name-affirmation # lti-consumer-xblock -django-cors-headers==3.10.0 +django-cors-headers==3.10.1 # via -r requirements/edx/base.txt django-countries==7.2.1 # via @@ -623,7 +623,7 @@ execnet==1.9.0 # via pytest-xdist factory-boy==3.2.1 # via -r requirements/edx/testing.in -faker==9.8.3 +faker==9.9.0 # via factory-boy fastapi==0.70.0 # via pact-python @@ -960,7 +960,7 @@ pycparser==2.21 # via # -r requirements/edx/base.txt # cffi -pycryptodomex==3.11.0 +pycryptodomex==3.12.0 # via # -r requirements/edx/base.txt # edx-proctoring @@ -993,7 +993,7 @@ pylatexenc==2.10 # via # -r requirements/edx/base.txt # olxcleaner -pylint==2.11.1 +pylint==2.12.2 # via # edx-lint # pylint-celery @@ -1010,7 +1010,7 @@ pylint-plugin-utils==0.6 # pylint-django pylint-pytest==0.3.0 # via -r requirements/edx/testing.in -pylti1p3==1.9.1 +pylti1p3==1.10.0 # via -r requirements/edx/base.txt pymongo==3.10.1 # via @@ -1050,7 +1050,7 @@ pytest-attrib==0.1.3 # via -r requirements/edx/testing.in pytest-cov==3.0.0 # via -r requirements/edx/testing.in -pytest-django==4.4.0 +pytest-django==4.5.1 # via -r requirements/edx/testing.in pytest-forked==1.3.0 # via pytest-xdist @@ -1060,7 +1060,7 @@ pytest-metadata==1.8.0 # via # -r requirements/edx/testing.in # pytest-json-report -pytest-randomly==3.10.2 +pytest-randomly==3.10.3 # via -r requirements/edx/testing.in pytest-xdist[psutil]==2.4.0 # via -r requirements/edx/testing.in @@ -1090,7 +1090,7 @@ python-slugify==4.0.1 # -r requirements/edx/base.txt # code-annotations # transifex-client -python-swiftclient==3.12.0 +python-swiftclient==3.13.0 # via # -r requirements/edx/base.txt # ora2 @@ -1187,7 +1187,7 @@ sailthru-client==2.2.3 # via # -r requirements/edx/base.txt # edx-ace -scipy==1.7.2 +scipy==1.7.3 # via # -r requirements/edx/base.txt # chem @@ -1337,7 +1337,7 @@ tqdm==4.62.3 # nltk transifex-client==0.14.3 # via -r requirements/edx/testing.in -typing-extensions==4.0.0 +typing-extensions==4.0.1 # via # -r requirements/edx/base.txt # astroid diff --git a/scripts/xblock/requirements.txt b/scripts/xblock/requirements.txt index 6a4628ff12..d05d872e35 100644 --- a/scripts/xblock/requirements.txt +++ b/scripts/xblock/requirements.txt @@ -6,7 +6,7 @@ # certifi==2021.10.8 # via requests -charset-normalizer==2.0.7 +charset-normalizer==2.0.9 # via requests idna==3.3 # via requests