Source code for workbench.clients.short_md5s
"""This client tests workbench support for short md5s """
import zerorpc
import os
import pprint
import client_helper
[docs]def run():
"""This client tests workbench support for short md5s """
# Grab server args
args = client_helper.grab_server_args()
# Start up workbench connection
workbench = zerorpc.Client(timeout=300, heartbeat=60)
workbench.connect('tcp://'+args['server']+':'+args['port'])
# Pull in a bunch of files
data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),'../data/pe/bad')
file_list = [os.path.join(data_path, child) for child in os.listdir(data_path)]
data_path = os.path.join(os.path.dirname(os.path.realpath(__file__)),'../data/pe/good')
file_list += [os.path.join(data_path, child) for child in os.listdir(data_path)]
for filename in file_list:
# Skip OS generated files
if '.DS_Store' in filename: continue
with open(filename,'rb') as f:
base_name = os.path.basename(filename)
md5 = workbench.store_sample(f.read(), base_name, 'exe')
results = workbench.work_request('meta', md5[:6])
pprint.pprint(results)
import pytest
#pylint: disable=no-member
@pytest.mark.xfail
#pylint: enable=no-member
def test():
"""Executes short md5 test."""
run()
if __name__ == '__main__':
run()