Skip to content

Commit 13caa82

Browse files
committed
unit test cases for cli log url
1 parent fafea9b commit 13caa82

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed

tests/test_servicex_app_transforms.py

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
from servicex.app.transforms import LogLevel, TimeFrame
2+
from servicex.app.transforms import add_query, select_time, create_kibana_link_parameters
3+
from unittest import mock
4+
from typer.testing import CliRunner
5+
from servicex.app.transforms import transforms_app
6+
7+
8+
def test_add_query():
9+
key = "abc"
10+
value = "123-345-567"
11+
query = "(query:(match_phrase:(abc:'123-345-567')))"
12+
assert add_query(key, value) == query
13+
14+
key = "requestId"
15+
value = "d2ede739-9779-4075-95b1-0c7fae1de408"
16+
query = "(query:(match_phrase:(requestId:'d2ede739-9779-4075-95b1-0c7fae1de408')))"
17+
assert add_query(key, value) == query
18+
19+
20+
def test_select_time():
21+
time_frame = TimeFrame.week
22+
time_filter = "time:(from:now%2Fw,to:now%2Fw)"
23+
assert time_filter == select_time(time_frame)
24+
25+
time_frame = "month"
26+
time_filter = "time:(from:now-30d%2Fd,to:now)"
27+
assert time_filter == select_time(time_frame)
28+
29+
time_frame = "daY"
30+
time_filter = "time:(from:now%2Fd,to:now%2Fd)"
31+
assert time_filter == select_time(time_frame)
32+
33+
34+
def test_create_kibana_link_parameters():
35+
initial_log_url = "https://atlas-kibana.mwt2.org:5601/s/servicex/app"\
36+
"/dashboards?auth_provider_hint=anonymous1#/view/"\
37+
"2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?embed=true&_g=()"\
38+
"&show-time-filter=true&hide-filter-bar=true"
39+
transform_id = "d2ede739-9779-4075-95b1-0c7fae1de408"
40+
log_level = LogLevel.error
41+
time_frame = TimeFrame.day
42+
final_url = "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?"\
43+
"auth_provider_hint=anonymous1#/view/2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?"\
44+
"embed=true&_g=(time:(from:now%2Fd,to:now%2Fd))"\
45+
"&_a=(filters:!((query:(match_phrase:"\
46+
"(requestId:'d2ede739-9779-4075-95b1-0c7fae1de408'))),"\
47+
"(query:(match_phrase:(level:'error')))))&show-time-filter=true"\
48+
"&hide-filter-bar=true"
49+
assert create_kibana_link_parameters(initial_log_url, transform_id,
50+
log_level, time_frame) == final_url
51+
52+
transform_id = "93713b34-2f0b-4d53-8412-8afa98626516"
53+
log_level = LogLevel.info
54+
time_frame = TimeFrame.month
55+
final_url = "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?"\
56+
"auth_provider_hint=anonymous1#/view/2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?"\
57+
"embed=true&_g=(time:(from:now-30d%2Fd,to:now))"\
58+
"&_a=(filters:!((query:(match_phrase:"\
59+
"(requestId:'93713b34-2f0b-4d53-8412-8afa98626516'))),"\
60+
"(query:(match_phrase:(level:'info')))))&show-time-filter=true"\
61+
"&hide-filter-bar=true"
62+
assert create_kibana_link_parameters(initial_log_url, transform_id,
63+
log_level, time_frame) == final_url
64+
65+
66+
# TODO find way to test the logs cli function without opening the browswer
67+
def test_logs():
68+
final_url_month = "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?"\
69+
"auth_provider_hint=anonymous1#/view/2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?"\
70+
"embed=true&_g=(time:(from:now-30d%2Fd,to:now))"\
71+
"&_a=(filters:!((query:(match_phrase:"\
72+
"(requestId:'d2ede739-9779-4075-95b1-0c7fae1de408'))),"\
73+
"(query:(match_phrase:(level:'error')))))&show-time-filter=true"\
74+
"&hide-filter-bar=true"
75+
final_url_day = "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?"\
76+
"auth_provider_hint=anonymous1#/view/2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?"\
77+
"embed=true&_g=(time:(from:now%2Fd,to:now%2Fd))"\
78+
"&_a=(filters:!((query:(match_phrase:"\
79+
"(requestId:'d2ede739-9779-4075-95b1-0c7fae1de408'))),"\
80+
"(query:(match_phrase:(level:'error')))))&show-time-filter=true"\
81+
"&hide-filter-bar=true"
82+
runner = CliRunner()
83+
with mock.patch("servicex.app.transforms.webbrowser.open") as mock_url_open:
84+
result = runner.invoke(transforms_app, ["logs", "-b", "testing4", "-t",
85+
"d2ede739-9779-4075-95b1-0c7fae1de408"])
86+
assert result.exit_code == 0
87+
mock_url_open.assert_called_with(final_url_month)
88+
assert mock_url_open.called
89+
90+
result = runner.invoke(transforms_app, ["logs", "-b", "testing4", "-t",
91+
"d2ede739-9779-4075-95b1-0c7fae1de408",
92+
"-f", "day"])
93+
assert result.exit_code == 0
94+
mock_url_open.assert_called_with(final_url_day)
95+
96+
result = runner.invoke(transforms_app, ["logs", "-b", "testing4", "-td",
97+
"d2ede739-9779-4075-95b1-0c7fae1de408"])
98+
assert result.exit_code == 2
99+
mock_url_open.assert_not_called

0 commit comments

Comments
 (0)