54 lines
1.6 KiB
Python
54 lines
1.6 KiB
Python
import os
|
|
import shutil
|
|
import sys
|
|
import tempfile
|
|
|
|
sys.path.append(os.path.join(os.path.dirname(__file__), '../../../metricbeat/tests/system'))
|
|
|
|
if os.name == "nt":
|
|
import win32file
|
|
|
|
from metricbeat import BaseTest as MetricbeatTest
|
|
|
|
|
|
class BaseTest(MetricbeatTest):
|
|
@classmethod
|
|
def setUpClass(self):
|
|
self.beat_name = "auditbeat"
|
|
self.beat_path = os.path.abspath(
|
|
os.path.join(os.path.dirname(__file__), "../../"))
|
|
super(MetricbeatTest, self).setUpClass()
|
|
|
|
def create_file(self, path, contents):
|
|
f = open(path, 'wb')
|
|
f.write(contents)
|
|
f.close()
|
|
|
|
def check_event(self, event, expected):
|
|
for key in expected:
|
|
assert key in event, "key '{0}' not found in event".format(key)
|
|
assert event[key] == expected[key], \
|
|
"key '{0}' has value '{1}', expected '{2}'".format(key,
|
|
event[key],
|
|
expected[key])
|
|
|
|
def temp_dir(self, prefix):
|
|
# os.path.realpath resolves any symlinks in path. Necessary for macOS
|
|
# where /var is a symlink to /private/var
|
|
p = os.path.realpath(tempfile.mkdtemp(prefix))
|
|
if os.name == "nt":
|
|
# Under windows, get rid of any ~1 in path (short path)
|
|
p = str(win32file.GetLongPathName(p))
|
|
return p
|
|
|
|
|
|
class PathCleanup:
|
|
def __init__(self, paths):
|
|
self.paths = paths
|
|
|
|
def __enter__(self):
|
|
pass
|
|
|
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
for path in self.paths:
|
|
shutil.rmtree(path)
|