Merge "Add API(v1) to get real time log"
[yardstick.git] / tests / unit / network_services / collector / test_subscriber.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 # Unittest for yardstick.network_services.collector.subscriber
19
20 from __future__ import absolute_import
21 import unittest
22
23 from yardstick.network_services.collector import subscriber
24
25
26 class CollectorTestCase(unittest.TestCase):
27
28     TRAFFIC_PROFILE = {}
29     VNFS = {}
30
31     def setUp(self):
32         self.test_subscriber = subscriber.Collector(self.TRAFFIC_PROFILE,
33                                                     self.VNFS)
34
35     def test_successful_init(self):
36
37         self.assertEqual(self.test_subscriber.traffic_profile, {})
38         self.assertEqual(self.test_subscriber.service, {})
39
40     def test_unsuccessful_init(self):
41         pass
42
43     def test_start(self):
44         self.assertIsNone(self.test_subscriber.start())
45
46     def test_stop(self):
47         self.assertIsNone(self.test_subscriber.stop())
48
49     def test_get_kpi(self):
50
51         class VnfAprrox(object):
52             def __init__(self):
53                 self.result = {}
54                 self.name = "vnf__1"
55
56             def collect_kpi(self):
57                 self.result = {'pkt_in_up_stream': 100,
58                                'pkt_drop_up_stream': 5,
59                                'pkt_in_down_stream': 50,
60                                'pkt_drop_down_stream': 40}
61                 return self.result
62
63         vnf = VnfAprrox()
64         result = self.test_subscriber.get_kpi(vnf)
65
66         self.assertEqual(result["vnf__1"]["pkt_in_up_stream"], 100)
67         self.assertEqual(result["vnf__1"]["pkt_drop_up_stream"], 5)
68         self.assertEqual(result["vnf__1"]["pkt_in_down_stream"], 50)
69         self.assertEqual(result["vnf__1"]["pkt_drop_down_stream"], 40)