1 # -*- coding: utf-8 -*-
3 # Copyright 2018 Whitestack, LLC
4 # *************************************************************
6 # This file is part of OSM Monitoring module
7 # All Rights Reserved to Whitestack, LLC
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
13 # http://www.apache.org/licenses/LICENSE-2.0
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
20 # For those usages not covered by the Apache License, Version 2.0 please
21 # contact: bdiaz@whitestack.com or glavado@whitestack.com
24 from unittest
import TestCase
26 from osm_mon
.core
.config
import Config
27 from osm_mon
.evaluator
.backends
.prometheus
import PrometheusBackend
30 class EvaluatorTest(TestCase
):
33 self
.config
= Config()
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
)
42 query
, 'query=osm_metric_name{tag_1="value_1",tag_2="value_2"}'
45 def test_build_headers(self
):
46 prometheus
= PrometheusBackend(self
.config
)
47 headers
= prometheus
._build
_headers
()
48 self
.assertEqual(headers
, {'Authorization': 'Basic YWRtaW46YWRtaW4='})