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

Side by Side 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 unified diff | Download patch
« no previous file with comments | « telemetry/telemetry/story/story_set.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import os 5 import os
6 import unittest 6 import unittest
7 7
8 from telemetry import story 8 from telemetry import story
9 9
10 10
11 # pylint: disable=abstract-method 11 # pylint: disable=abstract-method
12 class SharedStateBar(story.SharedState): 12 class SharedStateBar(story.SharedState):
13 pass 13 pass
14 14
15 15
16 class StoryFoo(story.Story): 16 class StoryFoo(story.Story):
17 def __init__(self, name='', labels=None): 17 def __init__(self, name='', labels=None, grouping_keys=None):
18 super(StoryFoo, self).__init__( 18 super(StoryFoo, self).__init__(
19 SharedStateBar, name, labels) 19 SharedStateBar, name, labels, grouping_keys=grouping_keys)
20 20
21 21
22 class StorySetFoo(story.StorySet): 22 class StorySetFoo(story.StorySet):
23 """ StorySetFoo is a story set created for testing purpose. """ 23 """ StorySetFoo is a story set created for testing purpose. """
24 pass 24 pass
25 25
26 26
27 class StorySetTest(unittest.TestCase): 27 class StorySetTest(unittest.TestCase):
28 28
29 def testStorySetTestName(self): 29 def testStorySetTestName(self):
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 story_set.RemoveStory(foo_story) 71 story_set.RemoveStory(foo_story)
72 72
73 def testBasicAddRemove(self): 73 def testBasicAddRemove(self):
74 story_set = story.StorySet() 74 story_set = story.StorySet()
75 foo_story = StoryFoo() 75 foo_story = StoryFoo()
76 story_set.AddStory(foo_story) 76 story_set.AddStory(foo_story)
77 self.assertEqual([foo_story], story_set.stories) 77 self.assertEqual([foo_story], story_set.stories)
78 78
79 story_set.RemoveStory(foo_story) 79 story_set.RemoveStory(foo_story)
80 self.assertEqual([], story_set.stories) 80 self.assertEqual([], story_set.stories)
81
82 def testAddDuplicateDisplayNameWithoutGroupingKeysRaises(self):
83 story_set = story.StorySet()
84 foo_story = StoryFoo(name='foo')
85
86 story_set.AddStory(foo_story)
87
88 with self.assertRaises(AssertionError):
89 story_set.AddStory(foo_story)
90
91 def testAddDuplicateDisplayNameWithDifferentGroupingKeys(self):
92 story_set = story.StorySet()
93 foo_story0 = StoryFoo(name='foo', grouping_keys={
94 'bar': 3, 'baz': 4})
95 foo_story1 = StoryFoo(name='foo', grouping_keys={
96 'bar': 7, 'baz': 8})
97
98 story_set.AddStory(foo_story0)
99 story_set.AddStory(foo_story1)
100
101 def testAddDuplicateDisplayNameWithSameGroupingKeysRaises(self):
102 story_set = story.StorySet()
103 foo_story0 = StoryFoo(name='foo', grouping_keys={
104 'bar': 3, 'baz': 4})
105 foo_story1 = StoryFoo(name='foo', grouping_keys={
106 'bar': 3, 'baz': 4})
107
108 story_set.AddStory(foo_story0)
109
110 with self.assertRaises(AssertionError):
111 story_set.AddStory(foo_story1)
112
113 def testAddRemoveAddStoryIsStillUnique(self):
114 story_set = story.StorySet()
115 foo_story = StoryFoo(name='foo', grouping_keys={
116 'bar': 3, 'baz': 4})
117
118 story_set.AddStory(foo_story)
119 story_set.RemoveStory(foo_story)
120 story_set.AddStory(foo_story)
OLDNEW
« 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