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
예제 #2
0
 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
예제 #4
0
def queue_tenableioscan(event, context):
    tenableio_scan_handler = TIOScanHandler(sqs_client=SQS_CLIENT,
                                            logger=logger)
    response = tenableio_scan_handler.queue(event, context)
    return response
예제 #5
0
 def test_creation(self):
     tenableio_scan_handler = TIOScanHandler()
     assert type(tenableio_scan_handler) is TIOScanHandler
예제 #6
0
def check_tenableioscan(event, context):
    tenableio_scan_handler = TIOScanHandler(sqs_client=SQS_CLIENT, logger=logger)
    response = tenableio_scan_handler.pollScanResults(event, context)
    return response
예제 #7
0
def run_tenableioscan(event, context):
    tenableio_scan_handler = TIOScanHandler(sqs_client=SQS_CLIENT, logger=logger)
    response = tenableio_scan_handler.runFromStepFunction(event, context)
    return response