forked from prometheus/client_python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_platform_collector.py
More file actions
69 lines (55 loc) · 2 KB
/
test_platform_collector.py
File metadata and controls
69 lines (55 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from __future__ import unicode_literals
import unittest
from prometheus_client import CollectorRegistry, PlatformCollector
class TestPlatformCollector(unittest.TestCase):
def setUp(self):
self.registry = CollectorRegistry()
self.platform = _MockPlatform()
def test_python_info(self):
PlatformCollector(registry=self.registry, platform=self.platform)
self.assertLabels("python_info", {
"version": "python_version",
"implementation": "python_implementation",
"major": "pvt_major",
"minor": "pvt_minor",
"patchlevel": "pvt_patchlevel"
})
def test_system_info_java(self):
self.platform._system = "Java"
PlatformCollector(registry=self.registry, platform=self.platform)
self.assertLabels("python_info", {
"version": "python_version",
"implementation": "python_implementation",
"major": "pvt_major",
"minor": "pvt_minor",
"patchlevel": "pvt_patchlevel",
"jvm_version": "jv_release",
"jvm_release": "vm_release",
"jvm_vendor": "vm_vendor",
"jvm_name": "vm_name"
})
def assertLabels(self, name, labels):
for metric in self.registry.collect():
for n, l, value in metric.samples:
if n == name:
assert l == labels
return
assert False
class _MockPlatform(object):
def __init__(self):
self._system = "system"
def python_version_tuple(self):
return "pvt_major", "pvt_minor", "pvt_patchlevel"
def python_version(self):
return "python_version"
def python_implementation(self):
return "python_implementation"
def system(self):
return self._system
def java_ver(self):
return (
"jv_release",
"jv_vendor",
("vm_name", "vm_release", "vm_vendor"),
("os_name", "os_version", "os_arch")
)