adce0824ab7cd43eebc5b5a391bb83ac0bc36b6a
[yardstick.git] / tests / unit / benchmark / scenarios / networking / test_sfc.py
1 #!/usr/bin/env python
2
3 ##############################################################################
4 # Copyright (c) 2015 Ericsson AB and others.
5 #
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Apache License, Version 2.0
8 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
10 ##############################################################################
11
12 # Unittest for yardstick.benchmark.scenarios.networking.sfc
13
14 import mock
15 import unittest
16
17 from yardstick.benchmark.scenarios.networking import sfc
18
19
20 class SfcTestCase(unittest.TestCase):
21
22     def setUp(self):
23         scenario_cfg = dict()
24         context_cfg = dict()
25
26         # Used in Sfc.setup()
27         context_cfg['target'] = dict()
28         context_cfg['target']['user'] = 'root'
29         context_cfg['target']['password'] = 'octopus'
30         context_cfg['target']['ip'] = None
31
32         # Used in Sfc.run()
33         context_cfg['host'] = dict()
34         context_cfg['host']['user'] = 'cirros'
35         context_cfg['host']['password'] = 'cubslose:)'
36         context_cfg['host']['ip'] = None
37         context_cfg['target'] = dict()
38         context_cfg['target']['ip'] = None
39
40         self.sfc = sfc.Sfc(scenario_cfg=scenario_cfg, context_cfg=context_cfg)
41
42     @mock.patch('yardstick.benchmark.scenarios.networking.sfc.ssh')
43     def test_run_for_success(self, mock_ssh):
44         # Mock a successfull SSH in Sfc.setup() and Sfc.run()
45         mock_ssh.SSH().execute.return_value = (0, '100', '')
46
47         result = {}
48         self.sfc.run(result)
49
50
51 def main():
52     unittest.main()
53
54 if __name__ == '__main__':
55     main()