Skip to content

Commit ae3f5a8

Browse files
committed
feat: fungerende tester!
1 parent c7430d1 commit ae3f5a8

File tree

1 file changed

+50
-11
lines changed

1 file changed

+50
-11
lines changed

test_main.py

+50-11
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,68 @@
11
import socket
2+
import os
23

34
from fastapi.testclient import TestClient
45

5-
from os import environ
6-
7-
environ['sms_endpoint'] = 'sms.no?recipients={}&message={}&username={}&password={}'
8-
environ['username'] = 'testClient'
9-
environ['password'] = '123'
6+
os.environ['endpoint'] = 'sms.no?recipients={}&message={}&username={}&password={}'
7+
os.environ['username'] = 'testClient'
8+
os.environ['password'] = '123'
9+
os.environ['host'] = 'localhost'
10+
os.environ['port'] = '8080'
1011

1112
from main import app, transform_text, format_message
1213

1314
client = TestClient(app)
1415

16+
1517
def test_index():
16-
response = client.get('/')
18+
response = client.get("/")
1719
assert response.status_code == 200
18-
assert response.json() == {'message': 'Hello from {}'.format(socket.gethostname())}
20+
assert response.json() == {"message": "Hello from {}".format(socket.gethostname())}
21+
1922

2023
class TestTransformText:
2124
def test_simple(self):
22-
textToTransform = 'hello world'
25+
textToTransform = "hello world"
2326
text = transform_text(textToTransform)
24-
assert text == 'hello%20world'
27+
assert text == "hello%20world"
2528

2629
def test_newline(self):
27-
textToTransform = 'hello\nworld'
30+
textToTransform = "hello\nworld"
2831
text = transform_text(textToTransform)
29-
assert text == 'hello%0aworld'
32+
assert text == "hello%0aworld"
33+
34+
35+
class TestFormatMessage:
36+
def test_alert(self):
37+
alert = {
38+
"status": "resolved",
39+
"labels": {
40+
"alertname": "Kafka connectivity test failing",
41+
"instance": "http://contests/kafka",
42+
"job": "probe/nais-system/contests-probes",
43+
"namespace": "nais-system",
44+
"ping": "nais-vakt",
45+
"prometheus": "nais-system/monitoring-nais-prometheus",
46+
"severity": "critical",
47+
"tenant": "nav",
48+
"tenant_cluster": "dev-gcp",
49+
"tenant_cluster_id": "nav-dev-gcp",
50+
},
51+
"annotations": {
52+
"action": "Check logs for contests appliction",
53+
"consequence": "Kafka may be unavailable in cluster.",
54+
},
55+
"startsAt": "2024-06-25T13:43:23.303Z",
56+
"endsAt": "2024-06-25T13:56:23.303Z",
57+
"generatorURL": "https://nais-prometheus.dev-gcp.nav.cloud.nais.io/graph?g0.expr=probe_success%7Binstance%3D~%22http%3A%2F%2Fcontests%2Fkafka%22%7D+%3D%3D+0&g0.tab=1",
58+
"fingerprint": "8184e4ed0380b9f7",
59+
}
60+
formatted = format_message(alert)
61+
assert formatted == "[RESOLVED] Kafka connectivity test failing in nav-dev-gcp%0aKafka may be unavailable in cluster."
62+
63+
if __name__ == "__main__":
64+
test_index()
65+
TestTransformText().test_simple()
66+
TestTransformText().test_newline()
67+
TestFormatMessage().test_alert()
68+
print("All tests passed")

0 commit comments

Comments
 (0)