Code Coverage

Cobertura Coverage Report > osmclient.v1 >

vnf.py

Trend

Classes100%
 
Lines88%
   
Conditionals100%
 

File Coverage summary

NameClassesLinesConditionals
vnf.py
100%
1/1
88%
21/24
100%
0/0

Coverage Breakdown by Class

NameLinesConditionals
vnf.py
88%
21/24
N/A

Source

osmclient/v1/vnf.py
1 # Copyright 2017 Sandvine
2 #
3 # All Rights Reserved.
4 #
5 #    Licensed under the Apache License, Version 2.0 (the "License"); you may
6 #    not use this file except in compliance with the License. You may obtain
7 #    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, WITHOUT
13 #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14 #    License for the specific language governing permissions and limitations
15 #    under the License.
16
17 1 """
18 OSM vnf API handling
19 """
20
21 1 from osmclient.common.exceptions import NotFound
22
23
24 1 class Vnf(object):
25 1     def __init__(self, http=None, client=None):
26 1         self._http = http
27 1         self._client = client
28
29 1     def list(self):
30 1         resp = self._http.get_cmd('v1/api/operational/{}vnfr-catalog/vnfr'
31                 .format(self._client.so_rbac_project_path))
32 1         if resp and 'vnfr:vnfr' in resp:
33 1             return resp['vnfr:vnfr']
34 1         return list()
35
36 1     def get(self, vnf_name):
37 1         vnfs = self.list()
38 1         for vnf in vnfs:
39 1             if vnf_name == vnf['name']:
40 1                 return vnf
41 0             if vnf_name == vnf['id']:
42 0                 return vnf
43 1         raise NotFound("vnf {} not found".format(vnf_name))
44
45 1     def get_monitoring(self, vnf_name):
46 1         vnf = self.get(vnf_name)
47 1         if vnf and 'monitoring-param' in vnf:
48 1             return vnf['monitoring-param']
49 0         return None