Coverage for osm_mon/tests/unit/collector/test_collector_service.py: 100%

51 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-05-06 19:04 +0000

1# -*- coding: utf-8 -*- 

2 

3# Copyright 2018 Whitestack, LLC 

4# ************************************************************* 

5 

6# This file is part of OSM Monitoring module 

7# All Rights Reserved to Whitestack, LLC 

8 

9# Licensed under the Apache License, Version 2.0 (the "License"); you may 

10# not use this file except in compliance with the License. You may obtain 

11# a copy of the License at 

12 

13# http://www.apache.org/licenses/LICENSE-2.0 

14 

15# Unless required by applicable law or agreed to in writing, software 

16# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

17# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

18# License for the specific language governing permissions and limitations 

19# under the License. 

20# For those usages not covered by the Apache License, Version 2.0 please 

21# contact: bdiaz@whitestack.com or glavado@whitestack.com 

22## 

23from unittest import TestCase, mock 

24 

25from osm_mon.collector.service import CollectorService 

26from osm_mon.collector.vnf_collectors.openstack import OpenstackCollector 

27from osm_mon.collector.vnf_collectors.vio import VIOCollector 

28from osm_mon.core.common_db import CommonDbClient 

29from osm_mon.core.config import Config 

30from osm_mon.collector.service import init_session 

31 

32 

33@mock.patch.object(CommonDbClient, "__init__", lambda *args, **kwargs: None) 

34class CollectorServiceTest(TestCase): 

35 def setUp(self): 

36 super().setUp() 

37 self.config = Config() 

38 mock_vim_session = mock.MagicMock() 

39 init_session(mock_vim_session) 

40 

41 @mock.patch.object(OpenstackCollector, "__init__", lambda *args, **kwargs: None) 

42 @mock.patch.object(OpenstackCollector, "collect") 

43 @mock.patch.object(CommonDbClient, "get_vim_account") 

44 def test_init_vim_collector_and_collect_openstack(self, _get_vim_account, collect): 

45 _get_vim_account.return_value = {"vim_type": "openstack"} 

46 collector = CollectorService(self.config) 

47 collector._collect_vim_metrics(self.config, {}, "test_vim_account_id") 

48 collect.assert_called_once_with({}) 

49 

50 @mock.patch.object(OpenstackCollector, "collect") 

51 @mock.patch.object(CommonDbClient, "get_vim_account") 

52 def test_init_vim_collector_and_collect_unknown( 

53 self, _get_vim_account, openstack_collect 

54 ): 

55 _get_vim_account.return_value = {"vim_type": "unknown"} 

56 collector = CollectorService(self.config) 

57 collector._collect_vim_metrics(self.config, {}, "test_vim_account_id") 

58 openstack_collect.assert_not_called() 

59 

60 @mock.patch.object(OpenstackCollector, "__init__", lambda *args, **kwargs: None) 

61 @mock.patch.object(OpenstackCollector, "collect") 

62 @mock.patch.object(CommonDbClient, "get_vim_account") 

63 def test_init_vim_collector_and_collect_vio_with_openstack_collector( 

64 self, _get_vim_account, openstack_collect 

65 ): 

66 _get_vim_account.return_value = { 

67 "vim_type": "openstack", 

68 "config": {"vim_type": "VIO"}, 

69 } 

70 collector = CollectorService(self.config) 

71 collector._collect_vim_metrics(self.config, {}, "test_vim_account_id") 

72 openstack_collect.assert_called_once_with({}) 

73 

74 @mock.patch.object(VIOCollector, "__init__", lambda *args, **kwargs: None) 

75 @mock.patch.object(VIOCollector, "collect") 

76 @mock.patch.object(CommonDbClient, "get_vim_account") 

77 def test_init_vim_collector_and_collect_vio_with_vrops_collector( 

78 self, _get_vim_account, vio_collect 

79 ): 

80 _get_vim_account.return_value = { 

81 "vim_type": "openstack", 

82 "config": {"vim_type": "VIO", "vrops_site": "https://vrops"}, 

83 } 

84 collector = CollectorService(self.config) 

85 collector._collect_vim_metrics(self.config, {}, "test_vim_account_id") 

86 vio_collect.assert_called_once_with({}) 

87 

88 @mock.patch("osm_mon.collector.service.VCACollector", autospec=True) 

89 def test_collect_vca_metrics(self, vca_collector): 

90 collector = CollectorService(self.config) 

91 collector._collect_vca_metrics(self.config, {}) 

92 vca_collector.assert_called_once_with(self.config) 

93 vca_collector.return_value.collect.assert_called_once_with({})