def test_report_node_metrics_kubernetes1_18(monkeypatch, aggregator): check = KubeletCheck('kubelet', None, {}, [{}]) check.kubelet_credentials = KubeletCredentials({'verify_tls': 'false'}) check.node_spec_url = "http://localhost:10255/spec" get = mock.MagicMock(status_code=404, iter_lines=lambda **kwargs: "Error Code") get.raise_for_status.side_effect = requests.HTTPError('error') with mock.patch('requests.get', return_value=get): check._report_node_metrics(['foo:bar']) aggregator.assert_all_metrics_covered()
def test_report_node_metrics(monkeypatch): check = KubeletCheck('kubelet', None, {}, [{}]) mock_resp = mock.Mock(status_code=200, raise_for_status=mock.Mock()) mock_resp.json = mock.Mock(return_value={'num_cores': 4, 'memory_capacity': 512}) monkeypatch.setattr(check, '_retrieve_node_spec', mock.Mock(return_value=mock_resp)) monkeypatch.setattr(check, 'gauge', mock.Mock()) check._report_node_metrics(['foo:bar']) calls = [ mock.call('kubernetes.cpu.capacity', 4.0, ['foo:bar', 'cluster_name:stubbed-cluster-name']), mock.call('kubernetes.memory.capacity', 512.0, ['foo:bar', 'cluster_name:stubbed-cluster-name']), ] check.gauge.assert_has_calls(calls, any_order=False)