diff --git a/common/test/acceptance/tests/studio/test_import_export.py b/common/test/acceptance/tests/studio/test_import_export.py index beadbafb68..905bf10877 100644 --- a/common/test/acceptance/tests/studio/test_import_export.py +++ b/common/test/acceptance/tests/studio/test_import_export.py @@ -4,6 +4,7 @@ Acceptance tests for the Import and Export pages from abc import abstractmethod from bok_choy.promise import EmptyPromise from datetime import datetime +from flaky import flaky from .base_studio_test import StudioLibraryTest, StudioCourseTest from ...fixtures.course import XBlockFixtureDesc @@ -185,6 +186,7 @@ class ImportTestMixin(object): self.import_page.upload_tarball(self.tarball_name) self.import_page.wait_for_upload() + @flaky # TODO make this not flaky. See TNL-2886. def test_import_timestamp(self): """ Scenario: I perform a course / library import @@ -199,6 +201,16 @@ class ImportTestMixin(object): import_date, import_time = self.import_page.timestamp self.import_page.wait_for_timestamp_visible() + # Flaky pattern: + # This test failed because the utc_now and import date + # might be assigned at different times. The error message + # was "'18:30' != u'18:29'", meaning it uploaded it at 18:29, then, + # when we assigned utc_now, the time had crossed the minute to + # 18:30. + # Possible fixes: + # * Mock utcnow somehow. + # * Check for the date and time within a certain range, rather than + # doing a string comparison. self.assertEqual(utc_now.strftime('%m/%d/%Y'), import_date) self.assertEqual(utc_now.strftime('%H:%M'), import_time)