def test_runFromStepFunction(self): target = "infosec.mozilla.org" partial_stepf_event = {"target": target} test_context = None try: a_key = os.environ["TIOA"] s_key = os.environ["TIOS"] except Exception: assert False tenableio_scan_handler = TIOScanHandler() response = tenableio_scan_handler.runFromStepFunction( partial_stepf_event, test_context) assert type(response) is dict # The next few lines are for cleaning up, # we should abort the scan just launched scan_id = response['id'] scanner = TIOScanner(access_key=a_key, secret_key=s_key) client = scanner._TIOScanner__createClient() scan_ref = client.scan_helper.id(scan_id) scan_ref.stop(wait=False) test_invalid_event = {"TEST": "TEST"} invalid_response = tenableio_scan_handler.runFromStepFunction( test_invalid_event, test_context) assert invalid_response is False
def test_queue(self, sqs): client, queue_url = sqs test_event = {"body": '{"target": "infosec.mozilla.org"}'} test_context = None tenableio_scan_handler = TIOScanHandler(client, queue_url) tenableio_scan_handler.queue(test_event, test_context) response = client.receive_message(QueueUrl=queue_url) scan_type, target, uuid = response['Messages'][0]['Body'].split('|') assert scan_type == "tenableio" assert target == "infosec.mozilla.org" assert UUID(uuid, version=4)
def test_pollScanResults(self, s3): client, bucket, bucket_name = s3 target = "infosec.mozilla.org" partial_stepf_event = { "target": target, "responses": { "Tenablescan": { "id": 453 } } } test_context = None tenableio_scan_handler = TIOScanHandler(s3_client=client, bucket=bucket_name) resp = tenableio_scan_handler.pollScanResults(partial_stepf_event, test_context) assert type(resp) is dict assert resp['statusCode'] == 200
def queue_tenableioscan(event, context): tenableio_scan_handler = TIOScanHandler(sqs_client=SQS_CLIENT, logger=logger) response = tenableio_scan_handler.queue(event, context) return response
def test_creation(self): tenableio_scan_handler = TIOScanHandler() assert type(tenableio_scan_handler) is TIOScanHandler
def check_tenableioscan(event, context): tenableio_scan_handler = TIOScanHandler(sqs_client=SQS_CLIENT, logger=logger) response = tenableio_scan_handler.pollScanResults(event, context) return response
def run_tenableioscan(event, context): tenableio_scan_handler = TIOScanHandler(sqs_client=SQS_CLIENT, logger=logger) response = tenableio_scan_handler.runFromStepFunction(event, context) return response