Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Unified Diff: tools/telemetry/telemetry/page_set_archive_info_unittest.py

Issue 11881051: Telemetry: add a metadata layer between page set and .wpr. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/page_set_archive_info_unittest.py
diff --git a/tools/telemetry/telemetry/page_set_archive_info_unittest.py b/tools/telemetry/telemetry/page_set_archive_info_unittest.py
new file mode 100644
index 0000000000000000000000000000000000000000..f7cf73852e3efdfef1bf73ff54a0b47fa7064c1d
--- /dev/null
+++ b/tools/telemetry/telemetry/page_set_archive_info_unittest.py
@@ -0,0 +1,58 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+import json
+import os
+import unittest
+
+from telemetry import page_set_archive_info
+
+class MockPage(object):
+ def __init__(self, url):
+ self.url = url
+
+url1 = 'http://www.foo.com/'
+url2 = 'http://www.bar.com/'
+url3 = 'http://www.baz.com/'
+file1 = 'data_001.wpr'
+file2 = 'data_002.wpr'
+archive_info_contents = ("""
+{
+"archives": {
+ "%s": ["%s", "%s"],
+ "%s": ["%s"]
+}
+}
+""" % (file1, url1, url2, file2, url3))
+page1 = MockPage(url1)
+page2 = MockPage(url2)
+page3 = MockPage(url3)
+
+class TestPageSetArchiveInfo(unittest.TestCase):
+ def setUp(self):
+ self.archive_info = page_set_archive_info.PageSetArchiveInfo(
+ '/tmp/foo.json', '/tmp/pageset.json', json.loads(archive_info_contents))
+
+ def testReadingArchiveInfo(self):
+ self.assertEquals(file1, self.archive_info.WprFileForPage(page1))
+ self.assertEquals(file1, self.archive_info.WprFileForPage(page2))
+ self.assertEquals(file2, self.archive_info.WprFileForPage(page3))
+
+ def testModifications(self):
+ new_file_1 = 'data_003.wpr'
+ filename = self.archive_info.AddNewRecording([page2])
+ self.assertEquals(filename, '/tmp/' + new_file_1)
+ self.assertEquals(file1, self.archive_info.WprFileForPage(page1))
+ self.assertEquals(new_file_1, self.archive_info.WprFileForPage(page2))
+ self.assertEquals(file2, self.archive_info.WprFileForPage(page3))
+ self.assertEquals([], self.archive_info.AbandonedWprFiles())
+
+ new_file_2 = 'data_004.wpr'
+ filename = self.archive_info.AddNewRecording([page3])
+ self.assertEquals(filename, '/tmp/' + new_file_2)
+ self.assertEquals(file1, self.archive_info.WprFileForPage(page1))
+ self.assertEquals(new_file_1, self.archive_info.WprFileForPage(page2))
+ self.assertEquals(new_file_2, self.archive_info.WprFileForPage(page3))
+ files_to_remove = [os.path.basename(filename)
+ for filename in self.archive_info.AbandonedWprFiles()]
+ self.assertEquals([file2], files_to_remove)

Powered by Google App Engine
This is Rietveld 408576698