Coverage for osm_mon/tests/unit/evaluator/test_prometheus.py: 100%

19 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## 

23import collections 

24from unittest import TestCase 

25 

26from osm_mon.core.config import Config 

27from osm_mon.evaluator.backends.prometheus import PrometheusBackend 

28 

29 

30class EvaluatorTest(TestCase): 

31 def setUp(self): 

32 super().setUp() 

33 self.config = Config() 

34 

35 def test_build_query(self): 

36 prometheus = PrometheusBackend(self.config) 

37 alarm_tags = collections.OrderedDict() 

38 alarm_tags["tag_1"] = "value_1" 

39 alarm_tags["tag_2"] = "value_2" 

40 query = prometheus._build_query("metric_name", alarm_tags) 

41 self.assertEqual( 

42 query, 'query=osm_metric_name{tag_1="value_1",tag_2="value_2"}' 

43 ) 

44 

45 def test_build_headers(self): 

46 prometheus = PrometheusBackend(self.config) 

47 headers = prometheus._build_headers() 

48 self.assertEqual(headers, {"Authorization": "Basic YWRtaW46YWRtaW4="})