|
1 | | -from servicex.app.transforms import LogLevel, TimeFrame |
2 | | -from servicex.app.transforms import ( |
3 | | - add_query, |
4 | | - select_time, |
5 | | - create_kibana_link_parameters, |
6 | | -) |
| 1 | +from servicex.app.transforms import LogLevel, create_kibana_link_parameters |
7 | 2 |
|
8 | 3 |
|
9 | | -def test_add_query(): |
10 | | - key = "abc" |
11 | | - value = "123-345-567" |
12 | | - query = "(query:(match_phrase:(abc:'123-345-567')))" |
13 | | - assert add_query(key, value) == query |
| 4 | +class TestAddRequestIdFilter: |
| 5 | + """Tests for add_request_id_filter using a real Kibana dashboard URL.""" |
14 | 6 |
|
15 | | - key = "requestId" |
16 | | - value = "d2ede739-9779-4075-95b1-0c7fae1de408" |
17 | | - query = "(query:(match_phrase:(requestId:'d2ede739-9779-4075-95b1-0c7fae1de408')))" |
18 | | - assert add_query(key, value) == query |
| 7 | + EXAMPLE_URL = ( |
| 8 | + "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards" |
| 9 | + "?auth_provider_hint=anonymous1#/view/bb682100-5558-11ed-afcf-d91dad577662#" |
| 10 | + "?embed=true" |
| 11 | + "&_g=(filters:!(),refreshInterval:(pause:!t,value:1000)," |
| 12 | + "time:(from:now-24h/h,to:now))" |
| 13 | + "&_a=(filters:!((query:(match_phrase:(instance:servicex-unit-test))))" |
| 14 | + ",index:'923eaa00-45b9-11ed-afcf-d91dad577662')" |
| 15 | + ) |
19 | 16 |
|
| 17 | + def test_preserves_base_url(self): |
| 18 | + result = create_kibana_link_parameters( |
| 19 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
| 20 | + ) |
| 21 | + assert result.startswith( |
| 22 | + "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards" |
| 23 | + ) |
20 | 24 |
|
21 | | -def test_select_time(): |
22 | | - time_frame = TimeFrame.week |
23 | | - time_filter = "time:(from:now%2Fw,to:now%2Fw)" |
24 | | - assert time_filter == select_time(time_frame) |
| 25 | + def test_preserves_auth_query(self): |
| 26 | + result = create_kibana_link_parameters( |
| 27 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
| 28 | + ) |
| 29 | + assert "?auth_provider_hint=anonymous1" in result |
25 | 30 |
|
26 | | - time_frame = "month" |
27 | | - time_filter = "time:(from:now-30d%2Fd,to:now)" |
28 | | - assert time_filter == select_time(time_frame) |
| 31 | + def test_preserves_view_path(self): |
| 32 | + result = create_kibana_link_parameters( |
| 33 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
| 34 | + ) |
| 35 | + assert "#/view/bb682100-5558-11ed-afcf-d91dad577662" in result |
29 | 36 |
|
30 | | - time_frame = "daY" |
31 | | - time_filter = "time:(from:now%2Fd,to:now%2Fd)" |
32 | | - assert time_filter == select_time(time_frame) |
| 37 | + def test_includes_embed_true(self): |
| 38 | + result = create_kibana_link_parameters( |
| 39 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
| 40 | + ) |
| 41 | + assert "embed=true" in result |
33 | 42 |
|
| 43 | + def test_preserves_instance_in_query(self): |
| 44 | + result = create_kibana_link_parameters( |
| 45 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
| 46 | + ) |
| 47 | + assert "servicex-unit-test" in result |
34 | 48 |
|
35 | | -def test_create_kibana_link_parameters(): |
36 | | - initial_log_url = ( |
37 | | - "https://atlas-kibana.mwt2.org:5601/s/servicex/app" |
38 | | - "/dashboards?auth_provider_hint=anonymous1#/view/" |
39 | | - "2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?embed=true&_g=()" |
40 | | - "&show-time-filter=true&hide-filter-bar=true" |
41 | | - ) |
42 | | - transform_id = "d2ede739-9779-4075-95b1-0c7fae1de408" |
43 | | - log_level = LogLevel.error |
44 | | - time_frame = TimeFrame.day |
45 | | - final_url = ( |
46 | | - "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?" |
47 | | - "auth_provider_hint=anonymous1#/view/2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?" |
48 | | - "embed=true&_g=(time:(from:now%2Fd,to:now%2Fd))" |
49 | | - "&_a=(filters:!((query:(match_phrase:" |
50 | | - "(requestId:'d2ede739-9779-4075-95b1-0c7fae1de408')))," |
51 | | - "(query:(match_phrase:(level:'error')))))&show-time-filter=true" |
52 | | - "&hide-filter-bar=true" |
53 | | - ) |
54 | | - assert ( |
55 | | - create_kibana_link_parameters( |
56 | | - initial_log_url, transform_id, log_level, time_frame |
| 49 | + def test_includes_request_id_in_query(self): |
| 50 | + result = create_kibana_link_parameters( |
| 51 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
57 | 52 | ) |
58 | | - == final_url |
59 | | - ) |
| 53 | + assert "abc-123" in result |
60 | 54 |
|
61 | | - transform_id = "93713b34-2f0b-4d53-8412-8afa98626516" |
62 | | - log_level = LogLevel.info |
63 | | - time_frame = TimeFrame.month |
64 | | - final_url = ( |
65 | | - "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?" |
66 | | - "auth_provider_hint=anonymous1#/view/2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?" |
67 | | - "embed=true&_g=(time:(from:now-30d%2Fd,to:now))" |
68 | | - "&_a=(filters:!((query:(match_phrase:" |
69 | | - "(requestId:'93713b34-2f0b-4d53-8412-8afa98626516')))," |
70 | | - "(query:(match_phrase:(level:'info')))))&show-time-filter=true" |
71 | | - "&hide-filter-bar=true" |
72 | | - ) |
73 | | - assert ( |
74 | | - create_kibana_link_parameters( |
75 | | - initial_log_url, transform_id, log_level, time_frame |
| 55 | + def test_includes_log_level_in_query(self): |
| 56 | + result = create_kibana_link_parameters( |
| 57 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.error |
76 | 58 | ) |
77 | | - == final_url |
78 | | - ) |
| 59 | + assert "level%3AERROR" in result |
79 | 60 |
|
80 | | - transform_id = "93713b34-2f0b-4d53-8412-8afa98626516" |
81 | | - log_level = None |
82 | | - time_frame = TimeFrame.month |
83 | | - final_url = ( |
84 | | - "https://atlas-kibana.mwt2.org:5601/s/servicex/app/dashboards?" |
85 | | - "auth_provider_hint=anonymous1#/view/2d2b3b40-f34e-11ed-a6d8-9f6a16cd6d78?" |
86 | | - "embed=true&_g=(time:(from:now-30d%2Fd,to:now))" |
87 | | - "&_a=(filters:!((query:(match_phrase:" |
88 | | - "(requestId:'93713b34-2f0b-4d53-8412-8afa98626516')))))" |
89 | | - "&show-time-filter=true&hide-filter-bar=true" |
90 | | - ) |
91 | | - assert ( |
92 | | - create_kibana_link_parameters( |
93 | | - initial_log_url, transform_id, log_level, time_frame |
| 61 | + def test_includes_app_state_filter(self): |
| 62 | + result = create_kibana_link_parameters( |
| 63 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
94 | 64 | ) |
95 | | - == final_url |
96 | | - ) |
| 65 | + assert "_a=" in result |
| 66 | + assert "requestId" in result |
| 67 | + |
| 68 | + def test_preserves_time_range(self): |
| 69 | + result = create_kibana_link_parameters( |
| 70 | + self.EXAMPLE_URL, "abc-123", log_level=LogLevel.info |
| 71 | + ) |
| 72 | + assert "now-24h/h" in result |
| 73 | + assert "to:now" in result |
0 commit comments