예제 #1
0
 def test_call_pushgateway_twice_when_grouping_key_differents_values(
         self, push_mock):
     url = "http://pushgateway.com"
     counter_name = "flow_grid_rows"
     task = _GaugeToGatewayBase(pushgateway_url=url,
                                counter_name=counter_name,
                                grouping_key=["key1"])
     task.run(
         values=[1, 2, 3],
         labels=[
             {
                 "key1": "label1_1",
                 "key2": "label2_1"
             },
             {
                 "key1": "label1_1",
                 "key2": "label2_2"
             },
             {
                 "key1": "label1_2",
                 "key2": "label2_3"
             },
         ],
     )
     assert push_mock.call_count == 2
예제 #2
0
 def test_empty_value_no_call_push_gateway(self, use_gateway_mock):
     url = "http://pushgateway.com"
     counter_name = "flow_grid_rows"
     task = _GaugeToGatewayBase(pushgateway_url=url,
                                counter_name=counter_name)
     task.run(values=[], labels=[])
     assert use_gateway_mock.call_count == 0
예제 #3
0
 def test_raise_exception_when_len_value_diff_label(self):
     url = "http://pushgateway.com"
     counter_name = "flow_grid_rows"
     task = _GaugeToGatewayBase(pushgateway_url=url,
                                counter_name=counter_name)
     with pytest.raises(ValueError) as ex:
         task.run(values=[1], labels=[])
         assert "Values and labels" in str(ex.value)
예제 #4
0
 def test_raise_exception_when_conter_name_missing(self):
     url = "http://pushgateway.com"
     task = _GaugeToGatewayBase(pushgateway_url=url)
     with pytest.raises(ValueError) as ex:
         task.run(labels=[], values=[])
         assert "counter_name" in str(ex.value)
예제 #5
0
 def test_raise_exception_when_url_missing(self):
     task = _GaugeToGatewayBase(name="My push gateway")
     with pytest.raises(ValueError) as ex:
         task.run(labels=[], values=[])
         assert "pushgateway_url" in str(ex.value)
예제 #6
0
 def test_can_initialize_with_kwarg(self):
     task = _GaugeToGatewayBase(name="My push gateway")
     assert task.name == "My push gateway"
예제 #7
0
 def test_can_initialize_job_name(self):
     job_name = "my-job"
     task = _GaugeToGatewayBase(job_name=job_name)
     assert task.job_name == job_name
예제 #8
0
 def test_can_initialize_counter_description(self):
     counter_description = "Number of request per second"
     task = _GaugeToGatewayBase(counter_description=counter_description)
     assert task.counter_description == counter_description
예제 #9
0
 def test_can_initialize_counter_name(self):
     counter_name = "requests-per-second"
     task = _GaugeToGatewayBase(counter_name=counter_name)
     assert task.counter_name == counter_name
예제 #10
0
 def test_can_initialize_pushgateway_url(self):
     url = "http://pushgateway.com"
     task = _GaugeToGatewayBase(pushgateway_url=url)
     assert task.pushgateway_url == url
예제 #11
0
 def test_can_instanciate_PushGaugeToGateway(self):
     task = _GaugeToGatewayBase()
     assert task is not None