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

Unified Diff: telemetry/telemetry/story/story_set_unittest.py

Issue 2153513002: [Telemetry] Ensure that story display names are unique (Closed) Base URL: git@github.com:catapult-project/catapult.git@master
Patch Set: fix typo Created 4 years 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
« no previous file with comments | « telemetry/telemetry/story/story_set.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: telemetry/telemetry/story/story_set_unittest.py
diff --git a/telemetry/telemetry/story/story_set_unittest.py b/telemetry/telemetry/story/story_set_unittest.py
index 63e6247843ce55d4877d04006ad3ae101926e3ae..b6710c61624baf948fd704937178eaa22da04c95 100644
--- a/telemetry/telemetry/story/story_set_unittest.py
+++ b/telemetry/telemetry/story/story_set_unittest.py
@@ -14,9 +14,9 @@ class SharedStateBar(story.SharedState):
class StoryFoo(story.Story):
- def __init__(self, name='', labels=None):
+ def __init__(self, name='', labels=None, grouping_keys=None):
super(StoryFoo, self).__init__(
- SharedStateBar, name, labels)
+ SharedStateBar, name, labels, grouping_keys=grouping_keys)
class StorySetFoo(story.StorySet):
@@ -78,3 +78,43 @@ class StorySetTest(unittest.TestCase):
story_set.RemoveStory(foo_story)
self.assertEqual([], story_set.stories)
+
+ def testAddDuplicateDisplayNameWithoutGroupingKeysRaises(self):
+ story_set = story.StorySet()
+ foo_story = StoryFoo(name='foo')
+
+ story_set.AddStory(foo_story)
+
+ with self.assertRaises(AssertionError):
+ story_set.AddStory(foo_story)
+
+ def testAddDuplicateDisplayNameWithDifferentGroupingKeys(self):
+ story_set = story.StorySet()
+ foo_story0 = StoryFoo(name='foo', grouping_keys={
+ 'bar': 3, 'baz': 4})
+ foo_story1 = StoryFoo(name='foo', grouping_keys={
+ 'bar': 7, 'baz': 8})
+
+ story_set.AddStory(foo_story0)
+ story_set.AddStory(foo_story1)
+
+ def testAddDuplicateDisplayNameWithSameGroupingKeysRaises(self):
+ story_set = story.StorySet()
+ foo_story0 = StoryFoo(name='foo', grouping_keys={
+ 'bar': 3, 'baz': 4})
+ foo_story1 = StoryFoo(name='foo', grouping_keys={
+ 'bar': 3, 'baz': 4})
+
+ story_set.AddStory(foo_story0)
+
+ with self.assertRaises(AssertionError):
+ story_set.AddStory(foo_story1)
+
+ def testAddRemoveAddStoryIsStillUnique(self):
+ story_set = story.StorySet()
+ foo_story = StoryFoo(name='foo', grouping_keys={
+ 'bar': 3, 'baz': 4})
+
+ story_set.AddStory(foo_story)
+ story_set.RemoveStory(foo_story)
+ story_set.AddStory(foo_story)
« no previous file with comments | « telemetry/telemetry/story/story_set.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698