| # Copyright 2019 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """Unit tests for multiple version checking in system_health_smoke_test.py.""" |
| |
| import unittest |
| |
| from benchmarks import system_health_smoke_test |
| |
| class TestSmoketestsVersionValidator(unittest.TestCase): |
| def test_version_check_pass(self): |
| all_stories = [ |
| 'a:2018', 'a', 'b:2018', 'b:2019', 'c:2018'] |
| disabled_stories = frozenset([ |
| 'a:2018', 'b:2018']) |
| stories = system_health_smoke_test.find_multi_version_stories( |
| all_stories, disabled_stories) |
| self.assertEqual(0, len(stories), "Should be no result from version check") |
| |
| def test_version_check_multi_colon_prefix_with_version(self): |
| all_stories = [ |
| 'story:name:a:2018', 'story:name:a:2019'] |
| disabled_stories = frozenset(['story:name:a:2018']) |
| stories = system_health_smoke_test.find_multi_version_stories( |
| all_stories, disabled_stories) |
| self.assertEqual(0, len(stories), "Should be no result from version check") |
| |
| def test_version_check_multi_colon_prefix_without_version(self): |
| all_stories = [ |
| 'story:name:a', 'story:name:a:2019'] |
| disabled_stories = frozenset(['story:name:a:2019']) |
| stories = system_health_smoke_test.find_multi_version_stories( |
| all_stories, disabled_stories) |
| self.assertEqual(0, len(stories), "Should be no result from version check") |
| |
| def test_version_check_fail_without_version(self): |
| all_stories = ['a', 'a:2019', 'b:2019'] |
| disabled_stories = frozenset(['x']) |
| stories = system_health_smoke_test.find_multi_version_stories( |
| all_stories, disabled_stories) |
| self.assertEqual(1, len(stories), 'Expecting 1 item in stories.') |
| self.assertIn('a', stories) |
| self.assertIn('a', stories['a']) |
| self.assertIn('a:2019', stories['a']) |
| |
| def test_version_check_fail_with_version(self): |
| all_stories = ['a:2018', 'a:2019', 'b:2019'] |
| disabled_stories = frozenset(['a']) |
| stories = system_health_smoke_test.find_multi_version_stories( |
| all_stories, disabled_stories) |
| self.assertEqual(1, len(stories), 'Expecting 1 item in stories.') |
| self.assertIn('a', stories) |
| self.assertIn('a:2018', stories['a']) |
| self.assertIn('a:2019', stories['a']) |
| |
| def test_version_check_fail_multiple_story(self): |
| all_stories = ['a', 'a:2019', 'b:2018', 'b:2019', 'c:2018'] |
| disabled_stories = frozenset(['x']) |
| stories = system_health_smoke_test.find_multi_version_stories( |
| all_stories, disabled_stories) |
| self.assertEqual(2, len(stories), 'Expecting 2 item in stories.') |
| self.assertIn('a', stories) |
| self.assertIn('a', stories['a']) |
| self.assertIn('a:2019', stories['a']) |
| self.assertIn('b', stories) |
| self.assertIn('b:2018', stories['b']) |
| self.assertIn('b:2019', stories['b']) |
| |
| if __name__ == '__main__': |
| unittest.main() |