def check_cache(): # TODO: remove when file-wise caching done es = _remove_forwarder_file(unhandled_events()) if len(es) > 0: logging.info(u"update cache for: {}".format(es)) cache_all() flush_unhandled_events()
def test_system_file_event(fxdocker): flush_unhandled_events() ret = check_output(['docker', 'ps']) rport = re.search(r'.*:(\d+)->873.*', ret).groups()[0] path = os.path.expandvars('$WZDAT_DIR/tests') assert os.path.isdir(os.path.join(path, 'dummydata')) # sync all env['RSYNC_PASSWORD'] = '******' def sync(locals, delete=False): _cmd = ['rsync'] if delete: _cmd.append('--delete') for l in locals: cmd = _cmd + ['-azv', 'dummydata/{}'.format(l), '--port={}'.format(rport), 'rsync-user@{}::rsync-data/test'.format(host)] ret = check_output(cmd, env=env, cwd=path) assert 'sent ' in ret time.sleep(3) # wait for all events registered sync(('kr', 'us', 'jp')) assert 567 == len(unhandled_events()) # logs, exlogs, dumps # modify & sync flush_unhandled_events() fpath = os.path.join(path, 'dummydata/kr/node-1/game_2014-02-24 01.log') with open(fpath, 'at') as f: f.write('---') sync(['kr']) uevs = unhandled_events()[0] rv = eval(uevs) assert rv[1] == 'FILE_MOVE_TO' assert 'game_2014-02-24 01.log' in rv[2] # delete & sync flush_unhandled_events() os.remove(fpath) sync(['kr'], True) uevs = unhandled_events()[0] rv = eval(uevs) assert rv[1] == 'FILE_DELETE' assert 'game_2014-02-24 01.log' in rv[2]
def test_event(db): register_event(evt.FILE_MOVE_TO, "/test/path") register_event(evt.FILE_DELETE, "/test/path") events = unhandled_events() assert len(events) == 2