Merge "ACL: remove failing testing"
[yardstick.git] / tests / unit / network_services / helpers / test_samplevnf_helper.py
1 #!/usr/bin/env python
2
3 # Copyright (c) 2016-2017 Intel Corporation
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #      http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 #
17
18 from __future__ import absolute_import
19 from __future__ import division
20
21 import os
22 import unittest
23
24 import mock
25
26 from yardstick.network_services.helpers.samplevnf_helper import MultiPortConfig
27
28
29 class TestMultiPortConfig(unittest.TestCase):
30     VNFD = {'vnfd:vnfd-catalog':
31                 {'vnfd':
32                      [{'short-name': 'VpeVnf',
33                        'vdu':
34                            [{'routing_table':
35                                  [{'network': '152.16.100.20',
36                                    'netmask': '255.255.255.0',
37                                    'gateway': '152.16.100.20',
38                                    'if': 'xe0'},
39                                   {'network': '152.16.40.20',
40                                    'netmask': '255.255.255.0',
41                                    'gateway': '152.16.40.20',
42                                    'if': 'xe1'}],
43                              'description': 'VPE approximation using DPDK',
44                              'name': 'vpevnf-baremetal',
45                              'nd_route_tbl':
46                                  [{'network': '0064:ff9b:0:0:0:0:9810:6414',
47                                    'netmask': '112',
48                                    'gateway': '0064:ff9b:0:0:0:0:9810:6414',
49                                    'if': 'xe0'},
50                                   {'network': '0064:ff9b:0:0:0:0:9810:2814',
51                                    'netmask': '112',
52                                    'gateway': '0064:ff9b:0:0:0:0:9810:2814',
53                                    'if': 'xe1'}],
54                              'id': 'vpevnf-baremetal',
55                              'external-interface':
56                                  [
57                                      {'virtual-interface':
58                                          {
59                                              'dst_mac': '00:00:00:00:00:04',
60                                              'vpci': '0000:05:00.0',
61                                              'local_ip': '152.16.100.19',
62                                              'type': 'PCI-PASSTHROUGH',
63                                              'netmask': '255.255.255.0',
64                                              'dpdk_port_num': '0',
65                                              'bandwidth': '10 Gbps',
66                                              'driver': "i40e",
67                                              'dst_ip': '152.16.100.20',
68                                              'ifname': 'xe0',
69                                              'local_iface_name': 'eth0',
70                                              'local_mac': '00:00:00:00:00:02',
71                                              'vld_id': 'private_1',
72                                          },
73                                          'vnfd-connection-point-ref': 'xe0',
74                                          'name': 'xe0'},
75                                      {'virtual-interface':
76                                          {
77                                              'dst_mac': '00:00:00:00:00:03',
78                                              'vpci': '0000:05:00.1',
79                                              'local_ip': '152.16.40.19',
80                                              'type': 'PCI-PASSTHROUGH',
81                                              'driver': "i40e",
82                                              'netmask': '255.255.255.0',
83                                              'dpdk_port_num': '1',
84                                              'bandwidth': '10 Gbps',
85                                              'dst_ip': '152.16.40.20',
86                                              'ifname': 'xe1',
87                                              'local_iface_name': 'eth1',
88                                              'local_mac': '00:00:00:00:00:01',
89                                              'vld_id': 'public_1',
90                                          },
91                                          'vnfd-connection-point-ref': 'xe1',
92                                          'name': 'xe1'}
93                                  ]}],
94                        'description': 'Vpe approximation using DPDK',
95                        'mgmt-interface':
96                            {'vdu-id': 'vpevnf-baremetal',
97                             'host': '1.2.1.1',
98                             'password': 'r00t',
99                             'user': 'root',
100                             'ip': '1.2.1.1'},
101                        'benchmark':
102                            {'kpi': ['packets_in', 'packets_fwd', 'packets_dropped']},
103                        'connection-point': [{'type': 'VPORT', 'name': 'xe0'},
104                                             {'type': 'VPORT', 'name': 'xe1'}],
105                        'id': 'AclApproxVnf', 'name': 'VPEVnfSsh'}]}}
106
107     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
108     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
109     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
110     def test___init__(self, mock_open, mock_os, ConfigParser):
111         topology_file = mock.Mock()
112         config_tpl = mock.Mock()
113         tmp_file = mock.Mock()
114         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
115         self.assertEqual(0, opnfv_vnf.swq)
116         mock_os.path = mock.MagicMock()
117         mock_os.path.isfile = mock.Mock(return_value=False)
118         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
119         self.assertEqual(0, opnfv_vnf.swq)
120
121     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
122     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
123     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
124     def test_update_timer(self, mock_open, mock_os, ConfigParser):
125         topology_file = mock.Mock()
126         config_tpl = mock.Mock()
127         tmp_file = mock.Mock()
128         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
129         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
130         opnfv_vnf.socket = 0
131         opnfv_vnf.start_core = 0
132         opnfv_vnf.update_write_parser = mock.MagicMock()
133         self.assertEqual(None, opnfv_vnf.update_timer())
134
135     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
136     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
137     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
138     def test_generate_script(self, mock_open, mock_os, ConfigParser):
139         topology_file = mock.Mock()
140         config_tpl = mock.Mock()
141         tmp_file = mock.Mock()
142         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
143         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
144         opnfv_vnf.socket = 0
145         opnfv_vnf.start_core = 0
146         opnfv_vnf.update_write_parser = mock.MagicMock()
147         opnfv_vnf.generate_script_data = \
148             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
149                                     'arp_config6': '', 'actions': '',
150                                     'rules': ''})
151         opnfv_vnf.port_pair_list = [[[0], [1]]]
152         self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
153         opnfv_vnf.lb_config = 'HW'
154         self.assertIsNotNone(opnfv_vnf.generate_script(self.VNFD))
155
156     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
157     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
158     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
159     def test_generate_script_data(self, mock_open, mock_os, ConfigParser):
160         topology_file = mock.Mock()
161         config_tpl = mock.Mock()
162         tmp_file = mock.Mock()
163         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
164         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
165         opnfv_vnf.socket = 0
166         opnfv_vnf.start_core = 0
167         opnfv_vnf.update_write_parser = mock.MagicMock()
168         opnfv_vnf.port_pair_list = [[[0], [1]]]
169         opnfv_vnf.vnf_type = 'ACL'
170         opnfv_vnf.generate_link_config = mock.Mock()
171         opnfv_vnf.generate_arp_config = mock.Mock()
172         opnfv_vnf.generate_arp_config6 = mock.Mock()
173         opnfv_vnf.generate_action_config = mock.Mock()
174         opnfv_vnf.generate_rule_config = mock.Mock()
175         self.assertIsNotNone(opnfv_vnf.generate_script_data())
176
177     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
178     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
179     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
180     def test_generate_rule_config(self, mock_open, mock_os, ConfigParser):
181         topology_file = mock.Mock()
182         config_tpl = mock.Mock()
183         tmp_file = mock.Mock()
184         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
185         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
186         opnfv_vnf.socket = 0
187         opnfv_vnf.start_core = 0
188         opnfv_vnf.update_write_parser = mock.MagicMock()
189         opnfv_vnf.generate_script_data = \
190             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
191                                     'arp_config6': '', 'actions': '',
192                                     'rules': ''})
193         opnfv_vnf.port_pair_list = [[[0], [1]]]
194         opnfv_vnf.get_port_pairs = mock.Mock()
195         opnfv_vnf.vnf_type = 'ACL'
196         opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
197         opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
198         opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
199         opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
200         opnfv_vnf.txrx_pipeline = ''
201         opnfv_vnf.rules = ''
202         self.assertIsNotNone(opnfv_vnf.generate_rule_config())
203         opnfv_vnf.rules = 'new'
204         self.assertIsNotNone(opnfv_vnf.generate_rule_config())
205
206     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
207     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
208     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
209     def test_generate_action_config(self, mock_open, mock_os, ConfigParser):
210         topology_file = mock.Mock()
211         config_tpl = mock.Mock()
212         tmp_file = mock.Mock()
213         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
214         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
215         opnfv_vnf.socket = 0
216         opnfv_vnf.start_core = 0
217         opnfv_vnf.update_write_parser = mock.MagicMock()
218         opnfv_vnf.generate_script_data = \
219             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
220                                     'arp_config6': '', 'actions': '',
221                                     'rules': ''})
222         opnfv_vnf.port_pair_list = [[[0], [1]]]
223         opnfv_vnf.get_port_pairs = mock.Mock()
224         opnfv_vnf.vnf_type = 'VFW'
225         opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
226         opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
227         opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
228         opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
229         opnfv_vnf.txrx_pipeline = ''
230         opnfv_vnf.rules = ''
231         self.assertIsNotNone(opnfv_vnf.generate_action_config())
232
233     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
234     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
235     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
236     def test_generate_arp_config6(self, mock_open, mock_os, ConfigParser):
237         topology_file = mock.Mock()
238         config_tpl = mock.Mock()
239         tmp_file = mock.Mock()
240         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
241         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
242         opnfv_vnf.socket = 0
243         opnfv_vnf.start_core = 0
244         opnfv_vnf.update_write_parser = mock.MagicMock()
245         opnfv_vnf.generate_script_data = \
246             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
247                                     'arp_config6': '', 'actions': '',
248                                     'rules': ''})
249         opnfv_vnf.port_pair_list = [[[0], [1]]]
250         opnfv_vnf.get_port_pairs = mock.Mock()
251         opnfv_vnf.vnf_type = 'VFW'
252         opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
253         opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
254         opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
255         opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
256         opnfv_vnf.txrx_pipeline = ''
257         opnfv_vnf.rules = ''
258         opnfv_vnf.interfaces = mock.MagicMock()
259         opnfv_vnf.get_ports_gateway6 = mock.Mock()
260         self.assertIsNotNone(opnfv_vnf.generate_arp_config6())
261
262     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
263     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
264     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
265     def test_generate_arp_config(self, mock_open, mock_os, ConfigParser):
266         topology_file = mock.Mock()
267         config_tpl = mock.Mock()
268         tmp_file = mock.Mock()
269         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
270         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
271         opnfv_vnf.socket = 0
272         opnfv_vnf.start_core = 0
273         opnfv_vnf.update_write_parser = mock.MagicMock()
274         opnfv_vnf.generate_script_data = \
275             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
276                                     'arp_config6': '', 'actions': '',
277                                     'rules': ''})
278         opnfv_vnf.port_pair_list = [[[0], [1]]]
279         opnfv_vnf.get_port_pairs = mock.Mock()
280         opnfv_vnf.vnf_type = 'VFW'
281         opnfv_vnf.get_ports_gateway = mock.Mock(return_value=u'1.1.1.1')
282         opnfv_vnf.get_netmask_gateway = mock.Mock(return_value=u'255.255.255.0')
283         opnfv_vnf.get_ports_gateway6 = mock.Mock(return_value=u'1.1.1.1')
284         opnfv_vnf.get_netmask_gateway6 = mock.Mock(return_value=u'255.255.255.0')
285         opnfv_vnf.txrx_pipeline = ''
286         opnfv_vnf.rules = ''
287         opnfv_vnf.interfaces = mock.MagicMock()
288         opnfv_vnf.get_ports_gateway6 = mock.Mock()
289         self.assertIsNotNone(opnfv_vnf.generate_arp_config())
290
291     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
292     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
293     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
294     def test_get_ports_gateway(self, mock_open, mock_os, ConfigParser):
295         topology_file = mock.Mock()
296         config_tpl = mock.Mock()
297         tmp_file = mock.Mock()
298         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
299         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
300         opnfv_vnf.socket = 0
301         opnfv_vnf.start_core = 0
302         opnfv_vnf.update_write_parser = mock.MagicMock()
303         opnfv_vnf.generate_script_data = \
304             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
305                                     'arp_config6': '', 'actions': '',
306                                     'rules': ''})
307         opnfv_vnf.port_pair_list = [[[0], [1]]]
308         opnfv_vnf.get_port_pairs = mock.Mock()
309         opnfv_vnf.vnf_type = 'VFW'
310         opnfv_vnf.txrx_pipeline = ''
311         opnfv_vnf.rules = ''
312         opnfv_vnf.interfaces = mock.MagicMock()
313         opnfv_vnf.get_ports_gateway6 = mock.Mock()
314         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
315         self.assertIsNotNone(opnfv_vnf.get_ports_gateway('xe0'))
316
317     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
318     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
319     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
320     def test_get_ports_gateway6(self, mock_open, mock_os, ConfigParser):
321         topology_file = mock.Mock()
322         config_tpl = mock.Mock()
323         tmp_file = mock.Mock()
324         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
325         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
326         opnfv_vnf.socket = 0
327         opnfv_vnf.start_core = 0
328         opnfv_vnf.update_write_parser = mock.MagicMock()
329         opnfv_vnf.generate_script_data = \
330             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
331                                     'arp_config6': '', 'actions': '',
332                                     'rules': ''})
333         opnfv_vnf.port_pair_list = [[[0], [1]]]
334         opnfv_vnf.get_port_pairs = mock.Mock()
335         opnfv_vnf.vnf_type = 'VFW'
336         opnfv_vnf.txrx_pipeline = ''
337         opnfv_vnf.rules = ''
338         opnfv_vnf.interfaces = mock.MagicMock()
339         opnfv_vnf.get_ports_gateway6 = mock.Mock()
340         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
341         self.assertIsNotNone(opnfv_vnf.get_ports_gateway6('xe0'))
342
343     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
344     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
345     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
346     def test_get_netmask_gateway(self, mock_open, mock_os, ConfigParser):
347         topology_file = mock.Mock()
348         config_tpl = mock.Mock()
349         tmp_file = mock.Mock()
350         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
351         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
352         opnfv_vnf.socket = 0
353         opnfv_vnf.start_core = 0
354         opnfv_vnf.update_write_parser = mock.MagicMock()
355         opnfv_vnf.generate_script_data = \
356             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
357                                     'arp_config6': '', 'actions': '',
358                                     'rules': ''})
359         opnfv_vnf.port_pair_list = [[[0], [1]]]
360         opnfv_vnf.get_port_pairs = mock.Mock()
361         opnfv_vnf.vnf_type = 'VFW'
362         opnfv_vnf.txrx_pipeline = ''
363         opnfv_vnf.rules = ''
364         opnfv_vnf.interfaces = mock.MagicMock()
365         opnfv_vnf.get_ports_gateway6 = mock.Mock()
366         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
367         self.assertIsNotNone(opnfv_vnf.get_netmask_gateway('xe0'))
368
369     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
370     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
371     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
372     def test_get_netmask_gateway6(self, mock_open, mock_os, ConfigParser):
373         topology_file = mock.Mock()
374         config_tpl = mock.Mock()
375         tmp_file = mock.Mock()
376         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
377         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
378         opnfv_vnf.socket = 0
379         opnfv_vnf.start_core = 0
380         opnfv_vnf.update_write_parser = mock.MagicMock()
381         opnfv_vnf.generate_script_data = \
382             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
383                                     'arp_config6': '', 'actions': '',
384                                     'rules': ''})
385         opnfv_vnf.port_pair_list = [[[0], [1]]]
386         opnfv_vnf.get_port_pairs = mock.Mock()
387         opnfv_vnf.vnf_type = 'VFW'
388         opnfv_vnf.txrx_pipeline = ''
389         opnfv_vnf.rules = ''
390         opnfv_vnf.interfaces = mock.MagicMock()
391         opnfv_vnf.get_ports_gateway6 = mock.Mock()
392         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
393         self.assertIsNotNone(opnfv_vnf.get_netmask_gateway6('xe0'))
394
395     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
396     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
397     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
398     def test_generate_link_config(self, mock_open, mock_os, ConfigParser):
399         topology_file = mock.Mock()
400         config_tpl = mock.Mock()
401         tmp_file = mock.Mock()
402         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
403         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
404         opnfv_vnf.socket = 0
405         opnfv_vnf.start_core = 0
406         opnfv_vnf.update_write_parser = mock.MagicMock()
407         opnfv_vnf.generate_script_data = \
408             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
409                                     'arp_config6': '', 'actions': '',
410                                     'rules': ''})
411         opnfv_vnf.port_pair_list = [[[0], [1]]]
412         opnfv_vnf.get_port_pairs = mock.Mock()
413         opnfv_vnf.vnf_type = 'VFW'
414         opnfv_vnf.txrx_pipeline = ''
415         opnfv_vnf.rules = ''
416         opnfv_vnf.get_ports_gateway6 = mock.Mock()
417         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
418         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
419         self.assertIsNotNone(opnfv_vnf.generate_link_config())
420
421     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
422     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
423     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
424     def test_generate_config(self, mock_open, mock_os, ConfigParser):
425         topology_file = mock.Mock()
426         config_tpl = mock.Mock()
427         tmp_file = mock.Mock()
428         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
429         opnfv_vnf.get_config_tpl_data = mock.MagicMock()
430         opnfv_vnf.socket = 0
431         opnfv_vnf.start_core = 0
432         opnfv_vnf.update_write_parser = mock.MagicMock()
433         opnfv_vnf.generate_script_data = \
434             mock.Mock(return_value={'link_config': 0, 'arp_config': '',
435                                     'arp_config6': '', 'actions': '',
436                                     'rules': ''})
437         opnfv_vnf.port_pair_list = [[[0], [1]]]
438         opnfv_vnf.txrx_pipeline = ''
439         opnfv_vnf.rules = ''
440         opnfv_vnf.get_ports_gateway6 = mock.Mock()
441         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
442         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
443         opnfv_vnf.generate_lb_to_port_pair_mapping = mock.Mock()
444         opnfv_vnf.generate_config_data = mock.Mock()
445         opnfv_vnf.write_parser = mock.MagicMock()
446         opnfv_vnf.is_openstack = True
447         self.assertIsNone(opnfv_vnf.generate_config())
448         opnfv_vnf.is_openstack = False
449         self.assertIsNone(opnfv_vnf.generate_config())
450
451     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
452     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
453     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
454     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
455     def test_get_config_tpl_data(self, mock_open, mock_os, ConfigParser,
456                                  OrderedDict):
457         topology_file = mock.Mock()
458         config_tpl = mock.Mock()
459         tmp_file = mock.Mock()
460         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
461         opnfv_vnf.socket = 0
462         opnfv_vnf.start_core = 0
463         opnfv_vnf.port_pair_list = [[[0], [1]]]
464         opnfv_vnf.txrx_pipeline = ''
465         opnfv_vnf.rules = ''
466         opnfv_vnf.write_parser = mock.MagicMock()
467         opnfv_vnf.read_parser = mock.MagicMock()
468         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
469         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
470         opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
471
472         self.assertIsNotNone(opnfv_vnf.get_config_tpl_data('filename'))
473
474     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
475     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
476     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
477     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
478     def test_get_txrx_tpl_data(self, mock_open, mock_os, ConfigParser,
479                                OrderedDict):
480         topology_file = mock.Mock()
481         config_tpl = mock.Mock()
482         tmp_file = mock.Mock()
483         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
484         opnfv_vnf.socket = 0
485         opnfv_vnf.start_core = 0
486         opnfv_vnf.port_pair_list = [[[0], [1]]]
487         opnfv_vnf.txrx_pipeline = ''
488         opnfv_vnf.rules = ''
489         opnfv_vnf.write_parser = mock.MagicMock()
490         opnfv_vnf.read_parser = mock.MagicMock()
491         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
492         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
493         opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
494
495         self.assertIsNotNone(opnfv_vnf.get_txrx_tpl_data('filename'))
496
497     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
498     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
499     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
500     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
501     def test_init_write_parser_template(self, mock_open, mock_os, ConfigParser,
502                                         OrderedDict):
503         topology_file = mock.Mock()
504         config_tpl = mock.Mock()
505         tmp_file = mock.Mock()
506         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
507         opnfv_vnf.socket = 0
508         opnfv_vnf.start_core = 0
509         opnfv_vnf.port_pair_list = [[[0], [1]]]
510         opnfv_vnf.txrx_pipeline = ''
511         opnfv_vnf.rules = ''
512         opnfv_vnf.write_parser = mock.MagicMock()
513         opnfv_vnf.read_parser = mock.MagicMock()
514         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
515         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=True)
516         opnfv_vnf.read_parser.get = mock.Mock(return_value='filename')
517
518         self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
519         opnfv_vnf.write_parser.add_section = mock.MagicMock()
520         opnfv_vnf.read_parser.item = mock.Mock(return_value=[1, 2, 3])
521         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=False)
522         opnfv_vnf.write_parser.set = mock.Mock()
523         self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
524
525     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
526     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
527     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
528     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
529     def test_init_write_parser_template_2(self, mock_open, mock_os, ConfigParser,
530                                           OrderedDict):
531         topology_file = mock.Mock()
532         config_tpl = mock.Mock()
533         tmp_file = mock.Mock()
534         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
535         opnfv_vnf.socket = 0
536         opnfv_vnf.start_core = 0
537         opnfv_vnf.port_pair_list = [[[0], [1]]]
538         opnfv_vnf.txrx_pipeline = ''
539         opnfv_vnf.rules = ''
540         opnfv_vnf.write_parser = mock.MagicMock()
541         opnfv_vnf.read_parser = mock.MagicMock()
542         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
543         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
544         opnfv_vnf.write_parser.set = mock.Mock()
545         opnfv_vnf.read_parser.items = mock.MagicMock()
546         self.assertIsNone(opnfv_vnf.init_write_parser_template('filename'))
547
548     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
549     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
550     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
551     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
552     def test_update_write_parser(self, mock_open, mock_os, ConfigParser,
553                                  OrderedDict):
554         topology_file = mock.Mock()
555         config_tpl = mock.Mock()
556         tmp_file = mock.Mock()
557         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
558         opnfv_vnf.socket = 0
559         opnfv_vnf.start_core = 0
560         opnfv_vnf.port_pair_list = [[[0], [1]]]
561         opnfv_vnf.txrx_pipeline = ''
562         opnfv_vnf.rules = ''
563         opnfv_vnf.write_parser = mock.MagicMock()
564         opnfv_vnf.read_parser = mock.MagicMock()
565         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
566         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
567         opnfv_vnf.write_parser.set = mock.Mock()
568         opnfv_vnf.write_parser.add_section = mock.Mock()
569         opnfv_vnf.read_parser.items = mock.MagicMock()
570         opnfv_vnf.pipeline_counter = 0
571         self.assertIsNone(opnfv_vnf.update_write_parser({'filename': 1}))
572
573     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
574     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
575     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
576     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
577     def test_get_worker_threads(self, mock_open, mock_os, ConfigParser,
578                                 OrderedDict):
579         topology_file = mock.Mock()
580         config_tpl = mock.Mock()
581         tmp_file = mock.Mock()
582         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
583         opnfv_vnf.socket = 0
584         opnfv_vnf.start_core = 0
585         opnfv_vnf.port_pair_list = [[[0], [1]]]
586         opnfv_vnf.txrx_pipeline = ''
587         opnfv_vnf.rules = ''
588         opnfv_vnf.write_parser = mock.MagicMock()
589         opnfv_vnf.read_parser = mock.MagicMock()
590         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
591         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
592         opnfv_vnf.write_parser.set = mock.Mock()
593         opnfv_vnf.write_parser.add_section = mock.Mock()
594         opnfv_vnf.read_parser.items = mock.MagicMock()
595         opnfv_vnf.pipeline_counter = 0
596         opnfv_vnf.worker_config = '1t'
597         result = opnfv_vnf.get_worker_threads(1)
598         self.assertEqual(1, result)
599         opnfv_vnf.worker_config = '2t'
600         result = opnfv_vnf.get_worker_threads(2)
601         self.assertEqual(2, result)
602         opnfv_vnf.worker_config = '2t'
603         result = opnfv_vnf.get_worker_threads(3)
604         self.assertEqual(2, result)
605
606     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
607     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
608     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
609     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
610     def test_generate_next_core_id(self, mock_open, mock_os, ConfigParser,
611                                    OrderedDict):
612         topology_file = mock.Mock()
613         config_tpl = mock.Mock()
614         tmp_file = mock.Mock()
615         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
616         opnfv_vnf.socket = 0
617         opnfv_vnf.start_core = 0
618         opnfv_vnf.port_pair_list = [[[0], [1]]]
619         opnfv_vnf.txrx_pipeline = ''
620         opnfv_vnf.rules = ''
621         opnfv_vnf.write_parser = mock.MagicMock()
622         opnfv_vnf.read_parser = mock.MagicMock()
623         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
624         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
625         opnfv_vnf.write_parser.set = mock.Mock()
626         opnfv_vnf.write_parser.add_section = mock.Mock()
627         opnfv_vnf.read_parser.items = mock.MagicMock()
628         opnfv_vnf.pipeline_counter = 0
629         opnfv_vnf.worker_config = '1t'
630         opnfv_vnf.start_core = 0
631         result = opnfv_vnf.generate_next_core_id()
632         self.assertEqual(None, result)
633         opnfv_vnf.worker_config = '2t'
634         opnfv_vnf.start_core = 'a'
635         self.assertRaises(ValueError, opnfv_vnf.generate_next_core_id)
636         opnfv_vnf.worker_config = '2t'
637         opnfv_vnf.start_core = 1
638         result = opnfv_vnf.generate_next_core_id()
639         self.assertEqual(None, result)
640
641     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
642     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
643     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
644     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
645     def test_generate_lb_to_port_pair_mapping(self, mock_open, mock_os, ConfigParser,
646                                               OrderedDict):
647         topology_file = mock.Mock()
648         config_tpl = mock.Mock()
649         tmp_file = mock.Mock()
650         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
651         opnfv_vnf.socket = 0
652         opnfv_vnf.start_core = 0
653         opnfv_vnf.port_pair_list = [[[0], [1]]]
654         opnfv_vnf.txrx_pipeline = ''
655         opnfv_vnf.rules = ''
656         opnfv_vnf.write_parser = mock.MagicMock()
657         opnfv_vnf.read_parser = mock.MagicMock()
658         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
659         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
660         opnfv_vnf.write_parser.set = mock.Mock()
661         opnfv_vnf.write_parser.add_section = mock.Mock()
662         opnfv_vnf.read_parser.items = mock.MagicMock()
663         opnfv_vnf.pipeline_counter = 0
664         opnfv_vnf.worker_config = '1t'
665         opnfv_vnf.start_core = 0
666         opnfv_vnf.lb_count = 1
667         result = opnfv_vnf.generate_lb_to_port_pair_mapping()
668         self.assertEqual(None, result)
669         result = opnfv_vnf.set_priv_to_pub_mapping()
670         self.assertEqual('(0, 1)', result)
671
672     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
673     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
674     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
675     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
676     def test_set_priv_que_handler(self, mock_open, mock_os, ConfigParser,
677                                   OrderedDict):
678         topology_file = mock.Mock()
679         config_tpl = mock.Mock()
680         tmp_file = mock.Mock()
681         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
682         opnfv_vnf.socket = 0
683         opnfv_vnf.start_core = 0
684         opnfv_vnf.port_pair_list = [[[0], [1]]]
685         opnfv_vnf.port_pairs = [[[0], [1]]]
686         opnfv_vnf.txrx_pipeline = ''
687         opnfv_vnf.rules = ''
688         opnfv_vnf.write_parser = mock.MagicMock()
689         opnfv_vnf.read_parser = mock.MagicMock()
690         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
691         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
692         opnfv_vnf.write_parser.set = mock.Mock()
693         opnfv_vnf.write_parser.add_section = mock.Mock()
694         opnfv_vnf.read_parser.items = mock.MagicMock()
695         opnfv_vnf.pipeline_counter = 0
696         opnfv_vnf.worker_config = '1t'
697         opnfv_vnf.start_core = 0
698         opnfv_vnf.lb_count = 1
699         result = opnfv_vnf.set_priv_que_handler()
700         self.assertEqual(None, result)
701
702     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
703     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
704     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
705     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
706     def test_generate_arpicmp_data(self, mock_open, mock_os, ConfigParser,
707                                    OrderedDict):
708         topology_file = mock.Mock()
709         config_tpl = mock.Mock()
710         tmp_file = mock.Mock()
711         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
712         opnfv_vnf.socket = 0
713         opnfv_vnf.start_core = 0
714         opnfv_vnf.port_pair_list = [[[0], [1]]]
715         opnfv_vnf.port_pairs = [[[0], [1]]]
716         opnfv_vnf.txrx_pipeline = ''
717         opnfv_vnf.rules = ''
718         opnfv_vnf.write_parser = mock.MagicMock()
719         opnfv_vnf.read_parser = mock.MagicMock()
720         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
721         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
722         opnfv_vnf.write_parser.set = mock.Mock()
723         opnfv_vnf.write_parser.add_section = mock.Mock()
724         opnfv_vnf.read_parser.items = mock.MagicMock()
725         opnfv_vnf.pipeline_counter = 0
726         opnfv_vnf.worker_config = '1t'
727         opnfv_vnf.start_core = 0
728         opnfv_vnf.lb_count = 1
729         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
730         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
731         result = opnfv_vnf.generate_arpicmp_data()
732         self.assertIsNotNone(result)
733         opnfv_vnf.nfv_type = 'ovs'
734         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
735         result = opnfv_vnf.generate_arpicmp_data()
736         self.assertIsNotNone(result)
737         opnfv_vnf.nfv_type = 'openstack'
738         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
739         result = opnfv_vnf.generate_arpicmp_data()
740         self.assertIsNotNone(result)
741         opnfv_vnf.lb_config = 'HW'
742         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
743         result = opnfv_vnf.generate_arpicmp_data()
744         self.assertIsNotNone(result)
745
746     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
747     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
748     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
749     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
750     def test_generate_final_txrx_data(self, mock_open, mock_os, ConfigParser,
751                                       OrderedDict):
752         topology_file = mock.Mock()
753         config_tpl = mock.Mock()
754         tmp_file = mock.Mock()
755         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
756         opnfv_vnf.socket = 0
757         opnfv_vnf.start_core = 0
758         opnfv_vnf.port_pair_list = [[[0], [1]]]
759         opnfv_vnf.port_pairs = [[[0], [1]]]
760         opnfv_vnf.txrx_pipeline = ''
761         opnfv_vnf.rules = ''
762         opnfv_vnf.write_parser = mock.MagicMock()
763         opnfv_vnf.read_parser = mock.MagicMock()
764         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
765         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
766         opnfv_vnf.write_parser.set = mock.Mock()
767         opnfv_vnf.write_parser.add_section = mock.Mock()
768         opnfv_vnf.read_parser.items = mock.MagicMock()
769         opnfv_vnf.pipeline_counter = 0
770         opnfv_vnf.worker_config = '1t'
771         opnfv_vnf.start_core = 0
772         opnfv_vnf.lb_count = 1
773         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
774         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
775         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
776         opnfv_vnf.ports_len = 2
777         opnfv_vnf.lb_index = 1
778         opnfv_vnf.pktq_out_os = [1, 2]
779         result = opnfv_vnf.generate_final_txrx_data()
780         self.assertIsNotNone(result)
781         opnfv_vnf.nfv_type = 'openstack'
782         opnfv_vnf.pktq_out_os = [1, 2]
783         opnfv_vnf.lb_index = 1
784         result = opnfv_vnf.generate_final_txrx_data()
785         self.assertIsNotNone(result)
786
787     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
788     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
789     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
790     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
791     def test_generate_initial_txrx_data(self, mock_open, mock_os,
792                                         ConfigParser, OrderedDict):
793         topology_file = mock.Mock()
794         config_tpl = mock.Mock()
795         tmp_file = mock.Mock()
796         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
797         opnfv_vnf.socket = 0
798         opnfv_vnf.start_core = 0
799         opnfv_vnf.port_pair_list = [[[0], [1]]]
800         opnfv_vnf.port_pairs = [[[0], [1]]]
801         opnfv_vnf.txrx_pipeline = ''
802         opnfv_vnf.rules = ''
803         opnfv_vnf.write_parser = mock.MagicMock()
804         opnfv_vnf.read_parser = mock.MagicMock()
805         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
806         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
807         opnfv_vnf.write_parser.set = mock.Mock()
808         opnfv_vnf.write_parser.add_section = mock.Mock()
809         opnfv_vnf.read_parser.items = mock.MagicMock()
810         opnfv_vnf.pipeline_counter = 0
811         opnfv_vnf.worker_config = '1t'
812         opnfv_vnf.start_core = 0
813         opnfv_vnf.lb_count = 1
814         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
815         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
816         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
817         opnfv_vnf.lb_index = 1
818         opnfv_vnf.ports_len = 2
819         result = opnfv_vnf.generate_initial_txrx_data()
820         self.assertIsNotNone(result)
821         opnfv_vnf.nfv_type = 'openstack'
822         opnfv_vnf.pktq_out_os = [1, 2]
823         result = opnfv_vnf.generate_initial_txrx_data()
824         self.assertIsNotNone(result)
825         opnfv_vnf.nfv_type = 'ovs'
826         opnfv_vnf.init_ovs = False
827         opnfv_vnf.ovs_pktq_out = ''
828         opnfv_vnf.pktq_out_os = [1, 2]
829         opnfv_vnf.lb_index = 1
830         result = opnfv_vnf.generate_initial_txrx_data()
831         self.assertIsNotNone(result)
832         opnfv_vnf.nfv_type = 'ovs'
833         opnfv_vnf.init_ovs = True
834         opnfv_vnf.pktq_out_os = [1, 2]
835         opnfv_vnf.ovs_pktq_out = ''
836         opnfv_vnf.lb_index = 1
837         result = opnfv_vnf.generate_initial_txrx_data()
838         self.assertIsNotNone(result)
839
840     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
841     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
842     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
843     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
844     def test_generate_lb_data(self, mock_open, mock_os, ConfigParser,
845                               OrderedDict):
846         topology_file = mock.Mock()
847         config_tpl = mock.Mock()
848         tmp_file = mock.Mock()
849         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
850         opnfv_vnf.socket = 0
851         opnfv_vnf.start_core = 0
852         opnfv_vnf.port_pair_list = [[[0], [1]]]
853         opnfv_vnf.port_pairs = [[[0], [1]]]
854         opnfv_vnf.txrx_pipeline = ''
855         opnfv_vnf.rules = ''
856         opnfv_vnf.write_parser = mock.MagicMock()
857         opnfv_vnf.read_parser = mock.MagicMock()
858         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
859         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
860         opnfv_vnf.write_parser.set = mock.Mock()
861         opnfv_vnf.write_parser.add_section = mock.Mock()
862         opnfv_vnf.read_parser.items = mock.MagicMock()
863         opnfv_vnf.pipeline_counter = 0
864         opnfv_vnf.worker_config = '1t'
865         opnfv_vnf.start_core = 0
866         opnfv_vnf.lb_count = 1
867         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
868         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
869         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
870         opnfv_vnf.lb_index = 1
871         opnfv_vnf.ports_len = 2
872         opnfv_vnf.prv_que_handler = 0
873         result = opnfv_vnf.generate_lb_data()
874         self.assertIsNotNone(result)
875
876     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
877     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
878     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
879     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
880     def test_generate_vnf_data(self, mock_open, mock_os, ConfigParser,
881                                OrderedDict):
882         topology_file = mock.Mock()
883         config_tpl = mock.Mock()
884         tmp_file = mock.Mock()
885         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
886         opnfv_vnf.socket = 0
887         opnfv_vnf.start_core = 0
888         opnfv_vnf.port_pair_list = [[[0], [1]]]
889         opnfv_vnf.port_pairs = [[[0], [1]]]
890         opnfv_vnf.txrx_pipeline = ''
891         opnfv_vnf.rules = ''
892         opnfv_vnf.write_parser = mock.MagicMock()
893         opnfv_vnf.read_parser = mock.MagicMock()
894         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
895         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
896         opnfv_vnf.write_parser.set = mock.Mock()
897         opnfv_vnf.write_parser.add_section = mock.Mock()
898         opnfv_vnf.read_parser.items = mock.MagicMock()
899         opnfv_vnf.pipeline_counter = 0
900         opnfv_vnf.worker_config = '1t'
901         opnfv_vnf.start_core = 0
902         opnfv_vnf.lb_count = 1
903         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
904         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
905         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
906         opnfv_vnf.lb_index = 1
907         opnfv_vnf.ports_len = 1
908         opnfv_vnf.pktq_out = ['1', '2']
909         opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810',
910                              'vnf_set': '(2,4,5)'}
911         opnfv_vnf.prv_que_handler = 0
912         result = opnfv_vnf.generate_vnf_data()
913         self.assertIsNotNone(result)
914         opnfv_vnf.lb_config = 'HW'
915         opnfv_vnf.mul = 0.1
916         result = opnfv_vnf.generate_vnf_data()
917         self.assertIsNotNone(result)
918         opnfv_vnf.lb_config = 'HW'
919         opnfv_vnf.mul = 0.1
920         opnfv_vnf.vnf_type = 'ACL'
921         result = opnfv_vnf.generate_vnf_data()
922         self.assertIsNotNone(result)
923
924     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
925     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
926     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
927     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
928     def test_generate_config_data(self, mock_open, mock_os, ConfigParser,
929                                   OrderedDict):
930         topology_file = mock.Mock()
931         config_tpl = mock.Mock()
932         tmp_file = mock.Mock()
933         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
934         opnfv_vnf.socket = 0
935         opnfv_vnf.start_core = 0
936         opnfv_vnf.port_pair_list = [[[0], [1]]]
937         opnfv_vnf.port_pairs = [[[0], [1]]]
938         opnfv_vnf.txrx_pipeline = ''
939         opnfv_vnf.rules = ''
940         opnfv_vnf.write_parser = mock.MagicMock()
941         opnfv_vnf.read_parser = mock.MagicMock()
942         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
943         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
944         opnfv_vnf.write_parser.set = mock.Mock()
945         opnfv_vnf.write_parser.add_section = mock.Mock()
946         opnfv_vnf.read_parser.items = mock.MagicMock()
947         opnfv_vnf.pipeline_counter = 0
948         opnfv_vnf.worker_config = '1t'
949         opnfv_vnf.start_core = 0
950         opnfv_vnf.lb_count = 1
951         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
952         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
953         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
954         opnfv_vnf.lb_index = 1
955         opnfv_vnf.ports_len = 1
956         opnfv_vnf.pktq_out = ['1', '2']
957         opnfv_vnf.prv_que_handler = 0
958         opnfv_vnf.init_write_parser_template = mock.Mock()
959         opnfv_vnf.arpicmp_tpl = mock.MagicMock()
960         opnfv_vnf.txrx_tpl = mock.MagicMock()
961         opnfv_vnf.loadb_tpl = mock.MagicMock()
962         opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
963                              'vnf_set': "(2,4,5)"}
964         opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
965         opnfv_vnf.update_write_parser = mock.Mock()
966         result = opnfv_vnf.generate_config_data()
967         self.assertIsNone(result)
968         opnfv_vnf.generate_final_txrx_data = mock.Mock()
969         opnfv_vnf.update_write_parser = mock.Mock()
970         result = opnfv_vnf.generate_config_data()
971         self.assertIsNone(result)
972         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
973         opnfv_vnf.lb_index = 1
974         opnfv_vnf.ports_len = 1
975         opnfv_vnf.pktq_out = ['1', '2']
976         opnfv_vnf.prv_que_handler = 0
977         opnfv_vnf.init_write_parser_template = mock.Mock()
978         opnfv_vnf.arpicmp_tpl = mock.MagicMock()
979         opnfv_vnf.txrx_tpl = mock.MagicMock()
980         opnfv_vnf.loadb_tpl = mock.MagicMock()
981         opnfv_vnf.vnf_type = 'CGNAPT'
982         opnfv_vnf.update_timer = mock.Mock()
983         opnfv_vnf.port_pair_list = [[[0], [1], [2]]]
984         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
985         opnfv_vnf.generate_arpicmp_data = mock.Mock()
986         result = opnfv_vnf.generate_config_data()
987         self.assertIsNone(result)
988
989     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
990     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
991     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
992     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
993     def test_get_port_pairs(self, mock_open, mock_os, ConfigParser,
994                             OrderedDict):
995         topology_file = mock.Mock()
996         config_tpl = mock.Mock()
997         tmp_file = mock.Mock()
998         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
999         opnfv_vnf.socket = 0
1000         opnfv_vnf.start_core = 0
1001         opnfv_vnf.port_pair_list = [[[0], [1]]]
1002         opnfv_vnf.port_pairs = [[[0], [1]]]
1003         opnfv_vnf.txrx_pipeline = ''
1004         opnfv_vnf.rules = ''
1005         opnfv_vnf.write_parser = mock.MagicMock()
1006         opnfv_vnf.read_parser = mock.MagicMock()
1007         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1008         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1009         opnfv_vnf.write_parser.set = mock.Mock()
1010         opnfv_vnf.write_parser.add_section = mock.Mock()
1011         opnfv_vnf.read_parser.items = mock.MagicMock()
1012         opnfv_vnf.pipeline_counter = 0
1013         opnfv_vnf.worker_config = '1t'
1014         opnfv_vnf.start_core = 0
1015         opnfv_vnf.lb_count = 1
1016         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1017         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1018         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1019         opnfv_vnf.lb_index = 1
1020         opnfv_vnf.ports_len = 1
1021         opnfv_vnf.pktq_out = ['1', '2']
1022         opnfv_vnf.prv_que_handler = 0
1023         opnfv_vnf.init_write_parser_template = mock.Mock()
1024         opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1025         opnfv_vnf.txrx_tpl = mock.MagicMock()
1026         opnfv_vnf.loadb_tpl = mock.MagicMock()
1027         opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)',
1028                              'vnf_set': '(2,4,5)'}
1029         opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1030         opnfv_vnf.update_write_parser = mock.Mock()
1031
1032         curr_path = os.path.dirname(os.path.abspath(__file__))
1033         opnfv_vnf.topology_file = \
1034             os.path.join(curr_path, 'acl_vnf_topology_ixia.yaml')
1035         opnfv_vnf.lb_count = 10
1036         result = opnfv_vnf.get_port_pairs(opnfv_vnf.interfaces)
1037         self.assertEqual(result[0], [('xe0', 'xe1')])
1038
1039     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.open')
1040     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.os')
1041     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.ConfigParser')
1042     @mock.patch('yardstick.network_services.helpers.samplevnf_helper.OrderedDict')
1043     def test_init_eal(self, mock_open, mock_os, ConfigParser,
1044                       OrderedDict):
1045         topology_file = mock.Mock()
1046         config_tpl = mock.Mock()
1047         tmp_file = mock.Mock()
1048         opnfv_vnf = MultiPortConfig(topology_file, config_tpl, tmp_file)
1049         opnfv_vnf.socket = 0
1050         opnfv_vnf.start_core = 0
1051         opnfv_vnf.port_pair_list = [[[0], [1]]]
1052         opnfv_vnf.port_pairs = [[[0], [1]]]
1053         opnfv_vnf.txrx_pipeline = ''
1054         opnfv_vnf.rules = ''
1055         opnfv_vnf.write_parser = mock.MagicMock()
1056         opnfv_vnf.read_parser = mock.MagicMock()
1057         opnfv_vnf.read_parser.sections = mock.Mock(return_value=['MASTER'])
1058         opnfv_vnf.read_parser.has_option = mock.Mock(return_value=[])
1059         opnfv_vnf.write_parser.set = mock.Mock()
1060         opnfv_vnf.write_parser.add_section = mock.Mock()
1061         opnfv_vnf.read_parser.items = mock.MagicMock()
1062         opnfv_vnf.pipeline_counter = 0
1063         opnfv_vnf.worker_config = '1t'
1064         opnfv_vnf.start_core = 0
1065         opnfv_vnf.lb_count = 1
1066         opnfv_vnf.vnfd = self.VNFD['vnfd:vnfd-catalog']['vnfd'][0]
1067         opnfv_vnf.interfaces = opnfv_vnf.vnfd['vdu'][0]['external-interface']
1068         opnfv_vnf.lb_to_port_pair_mapping = [0, 1]
1069         opnfv_vnf.lb_index = 1
1070         opnfv_vnf.ports_len = 1
1071         opnfv_vnf.pktq_out = ['1', '2']
1072         opnfv_vnf.prv_que_handler = 0
1073         opnfv_vnf.init_write_parser_template = mock.Mock()
1074         opnfv_vnf.arpicmp_tpl = mock.MagicMock()
1075         opnfv_vnf.txrx_tpl = mock.MagicMock()
1076         opnfv_vnf.loadb_tpl = mock.MagicMock()
1077         opnfv_vnf.vnf_tpl = {'public_ip_port_range': '98164810 (1,65535)'}
1078         opnfv_vnf.generate_vnf_data = mock.Mock(return_value={})
1079         opnfv_vnf.update_write_parser = mock.Mock()
1080         opnfv_vnf.tmp_file = "/tmp/config"
1081         result = opnfv_vnf.init_eal()
1082         self.assertIsNone(result)