Merge "Test case description and configuration file for yardstick_tc088"
[yardstick.git] / yardstick / tests / unit / benchmark / contexts / test_base.py
1 # Copyright (c) 2018 Intel Corporation
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 import unittest
16
17 from yardstick.benchmark.contexts import base
18
19
20 class FlagsTestCase(unittest.TestCase):
21
22     def setUp(self):
23         self.flags = base.Flags()
24
25     def test___init__(self):
26         self.assertFalse(self.flags.no_setup)
27         self.assertFalse(self.flags.no_teardown)
28         self.assertEqual({'verify': False}, self.flags.os_cloud_config)
29
30     def test___init__with_flags(self):
31         flags = base.Flags(no_setup=True)
32         self.assertTrue(flags.no_setup)
33         self.assertFalse(flags.no_teardown)
34
35     def test_parse(self):
36         self.flags.parse(no_setup=True, no_teardown='False',
37                          os_cloud_config={'verify': True})
38
39         self.assertTrue(self.flags.no_setup)
40         self.assertEqual('False', self.flags.no_teardown)
41         self.assertEqual({'verify': True}, self.flags.os_cloud_config)
42
43     def test_parse_forbidden_flags(self):
44         self.flags.parse(foo=42)
45         with self.assertRaises(AttributeError):
46             _ = self.flags.foo