/
test_logfilter.py
executable file
·49 lines (38 loc) · 1.29 KB
/
test_logfilter.py
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
48
49
"""
Tests for `logfilter` module.
"""
import os
import socket
import pytest
from clusterlogger import logfilter
class DummyRecord(object):
pass
@pytest.fixture(scope='module')
def hazelhen_environ(request):
envvars = {'PBS_JOBID': '28572',
'PBS_O_LOGNAME': 'hpcmscuser',
'PBS_JOBNAME': 'loggingtest',
'PBS_QUEUE': 'test'}
oldvars = {}
for k, v in envvars.items():
oldvars[k] = os.environ.get(k, '')
os.environ[k] = v
def restore():
os.environ.update(oldvars)
request.addfinalizer(restore)
@pytest.mark.parametrize('attr,envvar',
[('jobid', 'PBS_JOBID'),
('submitter', 'PBS_O_LOGNAME'),
('jobname', 'PBS_JOBNAME'),
('queue', 'PBS_QUEUE')])
def test_hazelhen_filter_envvar(hazelhen_environ, attr, envvar):
hhf = logfilter.HazelHenFilter()
record = DummyRecord()
hhf.filter(record)
assert getattr(record, attr) == os.environ[envvar],\
'Filter did not add envvar %s to the logrecord attribute %s.' % (envvar, attr)
def test_hazelhen_filter_fqdn(hazelhen_environ):
hhf = logfilter.HazelHenFilter()
record = DummyRecord()
hhf.filter(record)
assert record.fqdn == socket.getfqdn()