This repository was archived by the owner on Apr 12, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 106
Expand file tree
/
Copy pathtest_files.py
More file actions
47 lines (30 loc) · 1.8 KB
/
test_files.py
File metadata and controls
47 lines (30 loc) · 1.8 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
from .constants import version
from .fixtures import kibana
def exclude_browser_files(files):
'''Return all files that are not part of a browser
Useful for permission tests, since browsers get installed at runtime and
can have unexpected ownership, group or mode.
'''
# REF: https://github.com/elastic/kibana/blob/fe4609647dd2a7a7fedfb23d63f5886a24eacbe1/x-pack/plugins/reporting/server/browsers/install.js#L41 # noqa
files = [f for f in files if not f.startswith('/usr/share/kibana/data/phantomjs-')]
files = [f for f in files if not f.startswith('/usr/share/kibana/data/headless_shell-')]
return files
def test_kibana_is_the_correct_version(kibana):
assert version in kibana.stdout_of('kibana --version')
def test_opt_kibana_is_a_symlink_to_usr_share_kibana(kibana):
assert kibana.stdout_of('realpath /opt/kibana') == '/usr/share/kibana'
def test_all_files_in_optimize_directory_are_owned_by_kibana(kibana):
bad_files = kibana.stdout_of('find /usr/share/kibana/optimize ! -user kibana').split()
assert len(bad_files) is 0
def test_all_files_in_kibana_directory_are_gid_zero(kibana):
bad_files = kibana.stdout_of('find /usr/share/kibana ! -gid 0').split()
assert len(exclude_browser_files(bad_files)) is 0
def test_all_files_in_kibana_directory_are_writable(kibana):
bad_files = kibana.stdout_of('find -not -writable').split()
assert len(bad_files) is 0
def test_all_directories_in_kibana_directory_are_setgid(kibana):
bad_files = kibana.stdout_of('find /usr/share/kibana -type d ! -perm /g+s').split()
assert len(exclude_browser_files(bad_files)) is 0
def test_all_files_in_kibana_directory_are_group_writable(kibana):
bad_files = kibana.stdout_of('find /usr/share/kibana ! -perm /g+w').split()
assert len(exclude_browser_files(bad_files)) is 0