Commit 681ceae0 authored by aiolos's avatar aiolos Committed by Commit bot

Only download from cloud_storage when a bucket parameter is used in the...

Only download from cloud_storage when a bucket parameter is used in the user_story. Use system_stub instead of going over the network in user_story_runner_unittest.

BUG=447462

Review URL: https://codereview.chromium.org/903083004

Cr-Commit-Position: refs/heads/master@{#315152}
parent 6e74dc46
...@@ -211,7 +211,7 @@ def Run(test, user_story_set, expectations, finder_options, results, ...@@ -211,7 +211,7 @@ def Run(test, user_story_set, expectations, finder_options, results,
# Reorder page set based on options. # Reorder page set based on options.
user_stories = _ShuffleAndFilterUserStorySet(user_story_set, finder_options) user_stories = _ShuffleAndFilterUserStorySet(user_story_set, finder_options)
if (not finder_options.use_live_sites and if (not finder_options.use_live_sites and user_story_set.bucket and
finder_options.browser_options.wpr_mode != wpr_modes.WPR_RECORD): finder_options.browser_options.wpr_mode != wpr_modes.WPR_RECORD):
_UpdateUserStoryArchivesIfChanged(user_story_set) _UpdateUserStoryArchivesIfChanged(user_story_set)
if not _UpdateAndCheckArchives( if not _UpdateAndCheckArchives(
......
...@@ -23,6 +23,7 @@ from telemetry.util import exception_formatter as exception_formatter_module ...@@ -23,6 +23,7 @@ from telemetry.util import exception_formatter as exception_formatter_module
from telemetry.value import scalar from telemetry.value import scalar
from telemetry.value import string from telemetry.value import string
from telemetry.web_perf import timeline_based_measurement from telemetry.web_perf import timeline_based_measurement
from telemetry.wpr import archive_info
# This linter complains if we define classes nested inside functions. # This linter complains if we define classes nested inside functions.
# pylint: disable=bad-super-call # pylint: disable=bad-super-call
...@@ -440,54 +441,60 @@ class UserStoryRunnerTest(unittest.TestCase): ...@@ -440,54 +441,60 @@ class UserStoryRunnerTest(unittest.TestCase):
self.assertIn('*RESULT metric: metric= [1,2,3,4] unit', contents) self.assertIn('*RESULT metric: metric= [1,2,3,4] unit', contents)
def testUpdateAndCheckArchives(self): def testUpdateAndCheckArchives(self):
uss = user_story_set.UserStorySet() usr_stub = system_stub.Override(user_story_runner, ['cloud_storage'])
uss.AddUserStory(page_module.Page( wpr_stub = system_stub.Override(archive_info, ['cloud_storage'])
'http://www.testurl.com', uss, uss.base_dir)) try:
# Page set missing archive_data_file. uss = user_story_set.UserStorySet()
self.assertRaises( uss.AddUserStory(page_module.Page(
user_story_runner.ArchiveError, 'http://www.testurl.com', uss, uss.base_dir))
user_story_runner._UpdateAndCheckArchives, # Page set missing archive_data_file.
uss.archive_data_file, uss.wpr_archive_info, uss.user_stories) self.assertRaises(
user_story_runner.ArchiveError,
uss = user_story_set.UserStorySet( user_story_runner._UpdateAndCheckArchives,
archive_data_file='missing_archive_data_file.json') uss.archive_data_file, uss.wpr_archive_info, uss.user_stories)
uss.AddUserStory(page_module.Page(
'http://www.testurl.com', uss, uss.base_dir)) uss = user_story_set.UserStorySet(
# Page set missing json file specified in archive_data_file. archive_data_file='missing_archive_data_file.json')
self.assertRaises( uss.AddUserStory(page_module.Page(
user_story_runner.ArchiveError, 'http://www.testurl.com', uss, uss.base_dir))
user_story_runner._UpdateAndCheckArchives, # Page set missing json file specified in archive_data_file.
uss.archive_data_file, uss.wpr_archive_info, uss.user_stories) self.assertRaises(
user_story_runner.ArchiveError,
uss = user_story_set.UserStorySet( user_story_runner._UpdateAndCheckArchives,
archive_data_file='../../unittest_data/archive_files/test.json', uss.archive_data_file, uss.wpr_archive_info, uss.user_stories)
cloud_storage_bucket=cloud_storage.PUBLIC_BUCKET)
uss.AddUserStory(page_module.Page( uss = user_story_set.UserStorySet(
'http://www.testurl.com', uss, uss.base_dir)) archive_data_file='../../unittest_data/archive_files/test.json',
# Page set with valid archive_data_file. cloud_storage_bucket=cloud_storage.PUBLIC_BUCKET)
self.assertTrue(user_story_runner._UpdateAndCheckArchives( uss.AddUserStory(page_module.Page(
uss.archive_data_file, uss.wpr_archive_info, uss.user_stories)) 'http://www.testurl.com', uss, uss.base_dir))
uss.AddUserStory(page_module.Page( # Page set with valid archive_data_file.
'http://www.google.com', uss, uss.base_dir)) self.assertTrue(user_story_runner._UpdateAndCheckArchives(
# Page set with an archive_data_file which exists but is missing a page. uss.archive_data_file, uss.wpr_archive_info, uss.user_stories))
self.assertRaises( uss.AddUserStory(page_module.Page(
user_story_runner.ArchiveError, 'http://www.google.com', uss, uss.base_dir))
user_story_runner._UpdateAndCheckArchives, # Page set with an archive_data_file which exists but is missing a page.
uss.archive_data_file, uss.wpr_archive_info, uss.user_stories) self.assertRaises(
user_story_runner.ArchiveError,
uss = user_story_set.UserStorySet( user_story_runner._UpdateAndCheckArchives,
archive_data_file='../../unittest_data/test_missing_wpr_file.json', uss.archive_data_file, uss.wpr_archive_info, uss.user_stories)
cloud_storage_bucket=cloud_storage.PUBLIC_BUCKET)
uss.AddUserStory(page_module.Page( uss = user_story_set.UserStorySet(
'http://www.testurl.com', uss, uss.base_dir)) archive_data_file='../../unittest_data/test_missing_wpr_file.json',
uss.AddUserStory(page_module.Page( cloud_storage_bucket=cloud_storage.PUBLIC_BUCKET)
'http://www.google.com', uss, uss.base_dir)) uss.AddUserStory(page_module.Page(
# Page set with an archive_data_file which exists and contains all pages 'http://www.testurl.com', uss, uss.base_dir))
# but fails to find a wpr file. uss.AddUserStory(page_module.Page(
self.assertRaises( 'http://www.google.com', uss, uss.base_dir))
user_story_runner.ArchiveError, # Page set with an archive_data_file which exists and contains all pages
user_story_runner._UpdateAndCheckArchives, # but fails to find a wpr file.
uss.archive_data_file, uss.wpr_archive_info, uss.user_stories) self.assertRaises(
user_story_runner.ArchiveError,
user_story_runner._UpdateAndCheckArchives,
uss.archive_data_file, uss.wpr_archive_info, uss.user_stories)
finally:
usr_stub.Restore()
wpr_stub.Restore()
def _testMaxFailuresOptionIsRespectedAndOverridable( def _testMaxFailuresOptionIsRespectedAndOverridable(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment