| import argparse |
| import os |
| from werkzeug import secure_filename |
| from flask import Flask, render_template, request |
| from time import sleep |
| import time |
| import sys |
| import json |
| from flask import Flask |
| |
| app = Flask(__name__) |
| |
| #Server info |
| HOST_IP = "0.0.0.0" |
| HOST_PORT = 2222 |
| |
| SFTP_PORT = 1022 |
| FTPS_PORT = 21 |
| |
| #Test function to check server running |
| @app.route('/', |
| methods=['GET']) |
| def index(): |
| return 'Hello world' |
| |
| #Returns number of polls |
| @app.route('/ctr_requests', |
| methods=['GET']) |
| def counter_requests(): |
| global ctr_requests |
| return str(ctr_requests) |
| |
| #Returns number of replies |
| @app.route('/ctr_responses', |
| methods=['GET']) |
| def counter_responses(): |
| global ctr_responses |
| return str(ctr_responses) |
| |
| #Returns number of unique files |
| @app.route('/ctr_unique_files', |
| methods=['GET']) |
| def counter_uniquefiles(): |
| global fileMap |
| return str(len(fileMap)) |
| |
| #Returns tc info |
| @app.route('/tc_info', |
| methods=['GET']) |
| def testcase_info(): |
| global tc_num |
| return tc_num |
| |
| #Returns number of events |
| @app.route('/ctr_events', |
| methods=['GET']) |
| def counter_events(): |
| global ctr_events |
| return str(ctr_events) |
| |
| #Returns number of events |
| @app.route('/execution_time', |
| methods=['GET']) |
| def exe_time(): |
| global startTime |
| |
| stopTime = time.time() |
| minutes, seconds = divmod(stopTime-startTime, 60) |
| return "{:0>2}:{:0>2}".format(int(minutes),int(seconds)) |
| |
| #Returns number of unique PNFs |
| @app.route('/ctr_unique_PNFs', |
| methods=['GET']) |
| def counter_uniquePNFs(): |
| global pnfMap |
| return str(len(pnfMap)) |
| |
| #Messages polling function |
| @app.route( |
| "/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12", |
| methods=['GET']) |
| def MR_reply(): |
| global ctr_requests |
| global args |
| |
| ctr_requests = ctr_requests + 1 |
| print("MR: poll request#: " + str(ctr_requests)) |
| |
| if args.tc100: |
| return tc100("sftp") |
| elif args.tc101: |
| return tc101("sftp") |
| elif args.tc102: |
| return tc102("sftp") |
| |
| elif args.tc110: |
| return tc110("sftp") |
| elif args.tc111: |
| return tc111("sftp") |
| elif args.tc112: |
| return tc112("sftp") |
| elif args.tc113: |
| return tc113("sftp") |
| |
| elif args.tc120: |
| return tc120("sftp") |
| elif args.tc121: |
| return tc121("sftp") |
| elif args.tc122: |
| return tc122("sftp") |
| |
| elif args.tc1000: |
| return tc1000("sftp") |
| elif args.tc1001: |
| return tc1001("sftp") |
| |
| elif args.tc510: |
| return tc510("sftp") |
| elif args.tc511: |
| return tc511("sftp") |
| |
| elif args.tc710: |
| return tc710("sftp") |
| |
| |
| elif args.tc200: |
| return tc200("ftps") |
| elif args.tc201: |
| return tc201("ftps") |
| elif args.tc202: |
| return tc202("ftps") |
| |
| elif args.tc210: |
| return tc210("ftps") |
| elif args.tc211: |
| return tc211("ftps") |
| elif args.tc212: |
| return tc212("ftps") |
| elif args.tc213: |
| return tc213("ftps") |
| |
| elif args.tc220: |
| return tc220("ftps") |
| elif args.tc221: |
| return tc221("ftps") |
| elif args.tc222: |
| return tc222("ftps") |
| |
| elif args.tc2000: |
| return tc2000("ftps") |
| elif args.tc2001: |
| return tc2001("ftps") |
| |
| elif args.tc610: |
| return tc510("ftps") |
| elif args.tc611: |
| return tc511("ftps") |
| |
| elif args.tc810: |
| return tc710("ftps") |
| |
| |
| #### Test case functions |
| |
| |
| def tc100(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 1): |
| return buildOkResponse("[]") |
| |
| seqNr = (ctr_responses-1) |
| nodeName = createNodeName(0) |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = getEventHead(nodeName) + getEventName(fileName,ftptype,"onap","pano") + getEventEnd() |
| fileMap[seqNr] = seqNr |
| ctr_events = ctr_events+1 |
| return buildOkResponse("["+msg+"]") |
| |
| def tc101(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 1): |
| return buildOkResponse("[]") |
| |
| seqNr = (ctr_responses-1) |
| nodeName = createNodeName(0) |
| fileName = createFileName(nodeName, seqNr, "5MB") |
| msg = getEventHead(nodeName) + getEventName(fileName,ftptype,"onap","pano") + getEventEnd() |
| fileMap[seqNr] = seqNr |
| ctr_events = ctr_events+1 |
| return buildOkResponse("["+msg+"]") |
| |
| def tc102(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 1): |
| return buildOkResponse("[]") |
| |
| seqNr = (ctr_responses-1) |
| nodeName = createNodeName(0) |
| fileName = createFileName(nodeName, seqNr, "50MB") |
| msg = getEventHead(nodeName) + getEventName(fileName,ftptype,"onap","pano") + getEventEnd() |
| fileMap[seqNr] = seqNr |
| ctr_events = ctr_events+1 |
| return buildOkResponse("["+msg+"]") |
| |
| def tc110(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 100): |
| return buildOkResponse("[]") |
| |
| seqNr = (ctr_responses-1) |
| nodeName = createNodeName(0) |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = getEventHead(nodeName) + getEventName(fileName,ftptype,"onap","pano") + getEventEnd() |
| fileMap[seqNr] = seqNr |
| ctr_events = ctr_events+1 |
| return buildOkResponse("["+msg+"]") |
| |
| def tc111(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 100): |
| return buildOkResponse("[]") |
| |
| nodeName = createNodeName(0) |
| msg = getEventHead(nodeName) |
| |
| for i in range(100): |
| seqNr = i+(ctr_responses-1) |
| if i != 0: msg = msg + "," |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| fileMap[seqNr] = seqNr |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc112(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 100): |
| return buildOkResponse("[]") |
| |
| nodeName = createNodeName(0) |
| msg = getEventHead(nodeName) |
| |
| for i in range(100): |
| seqNr = i+(ctr_responses-1) |
| if i != 0: msg = msg + "," |
| fileName = createFileName(nodeName, seqNr, "5MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| fileMap[seqNr] = seqNr |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc113(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 1): |
| return buildOkResponse("[]") |
| |
| nodeName = createNodeName(0) |
| msg = "" |
| |
| for evts in range(100): # build 100 evts |
| if (evts > 0): |
| msg = msg + "," |
| msg = msg + getEventHead(nodeName) |
| for i in range(100): # build 100 files |
| seqNr = i+evts+100*(ctr_responses-1) |
| if i != 0: msg = msg + "," |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| fileMap[seqNr] = seqNr |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| |
| def tc120(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| nodeName = createNodeName(0) |
| |
| if (ctr_responses > 100): |
| return buildOkResponse("[]") |
| |
| if (ctr_responses % 10 == 2): |
| return # Return nothing |
| |
| if (ctr_responses % 10 == 3): |
| return buildOkResponse("") # Return empty message |
| |
| if (ctr_responses % 10 == 4): |
| return buildOkResponse(getEventHead(nodeName)) # Return part of a json event |
| |
| if (ctr_responses % 10 == 5): |
| return buildEmptyResponse(404) # Return empty message with status code |
| |
| if (ctr_responses % 10 == 6): |
| sleep(60) |
| |
| |
| msg = getEventHead(nodeName) |
| |
| for i in range(100): |
| seqNr = i+(ctr_responses-1) |
| if i != 0: msg = msg + "," |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| fileMap[seqNr] = seqNr |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc121(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 100): |
| return buildOkResponse("[]") |
| |
| nodeName = createNodeName(0) |
| msg = getEventHead(nodeName) |
| |
| fileName = "" |
| for i in range(100): |
| seqNr = i+(ctr_responses-1) |
| if (seqNr%10 == 0): # Every 10th file is "missing" |
| fileName = createMissingFileName(nodeName, seqNr, "1MB") |
| else: |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| fileMap[seqNr] = seqNr |
| |
| if i != 0: msg = msg + "," |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc122(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 100): |
| return buildOkResponse("[]") |
| |
| nodeName = createNodeName(0) |
| msg = getEventHead(nodeName) |
| |
| for i in range(100): |
| fileName = createFileName(nodeName, 0, "1MB") # All files identical names |
| if i != 0: msg = msg + "," |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| |
| fileMap[0] = 0 |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| |
| def tc1000(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| nodeName = createNodeName(0) |
| msg = getEventHead(nodeName) |
| |
| for i in range(100): |
| seqNr = i+(ctr_responses-1) |
| if i != 0: msg = msg + "," |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| fileMap[seqNr] = seqNr |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc1001(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| nodeName = createNodeName(0) |
| msg = getEventHead(nodeName) |
| |
| for i in range(100): |
| seqNr = i+(ctr_responses-1) |
| if i != 0: msg = msg + "," |
| fileName = createFileName(nodeName, seqNr, "5MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| fileMap[seqNr] = seqNr |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc510(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 5): |
| return buildOkResponse("[]") |
| |
| msg = "" |
| |
| for pnfs in range(700): # build events for 700 MEs |
| if (pnfs > 0): |
| msg = msg + "," |
| nodeName = createNodeName(pnfs) |
| msg = msg + getEventHead(nodeName) |
| seqNr = (ctr_responses-1) |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| seqNr = seqNr + pnfs*1000000 #Create unique id for this node and file |
| fileMap[seqNr] = seqNr |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc511(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 5): |
| return buildOkResponse("[]") |
| |
| msg = "" |
| |
| for pnfs in range(700): # build events for 700 MEs |
| if (pnfs > 0): |
| msg = msg + "," |
| nodeName = createNodeName(pnfs) |
| msg = msg + getEventHead(nodeName) |
| seqNr = (ctr_responses-1) |
| fileName = createFileName(nodeName, seqNr, "1KB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| seqNr = seqNr + pnfs*1000000 #Create unique id for this node and file |
| fileMap[seqNr] = seqNr |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| def tc710(ftptype): |
| global ctr_responses |
| global ctr_unique_files |
| global ctr_events |
| |
| ctr_responses = ctr_responses + 1 |
| |
| if (ctr_responses > 100): |
| return buildOkResponse("[]") |
| |
| msg = "" |
| |
| batch = (ctr_responses-1)%20; |
| |
| for pnfs in range(35): # build events for 35 PNFs at a time. 20 batches -> 700 |
| if (pnfs > 0): |
| msg = msg + "," |
| nodeName = createNodeName(pnfs + batch*35) |
| msg = msg + getEventHead(nodeName) |
| |
| for i in range(100): # 100 files per event |
| seqNr = i + int((ctr_responses-1)/20); |
| if i != 0: msg = msg + "," |
| fileName = createFileName(nodeName, seqNr, "1MB") |
| msg = msg + getEventName(fileName,ftptype,"onap","pano") |
| seqNr = seqNr + (pnfs+batch*35)*1000000 #Create unique id for this node and file |
| fileMap[seqNr] = seqNr |
| |
| msg = msg + getEventEnd() |
| ctr_events = ctr_events+1 |
| |
| return buildOkResponse("["+msg+"]") |
| |
| |
| #Mapping FTPS TCs |
| def tc200(ftptype): |
| return tc100(ftptype) |
| def tc201(ftptype): |
| return tc101(ftptype) |
| def tc202(ftptype): |
| return tc102(ftptype) |
| |
| def tc210(ftptype): |
| return tc110(ftptype) |
| def tc211(ftptype): |
| return tc111(ftptype) |
| def tc212(ftptype): |
| return tc112(ftptype) |
| def tc213(ftptype): |
| return tc113(ftptype) |
| |
| def tc220(ftptype): |
| return tc120(ftptype) |
| def tc221(ftptype): |
| return tc121(ftptype) |
| def tc222(ftptype): |
| return tc122(ftptype) |
| |
| def tc610(ftptype): |
| return tc510(ftptype) |
| def tc611(ftptype): |
| return tc511(ftptype) |
| |
| def tc810(ftptype): |
| return tc710(ftptype) |
| |
| def tc2000(ftptype): |
| return tc1000(ftptype) |
| def tc2001(ftptype): |
| return tc1001(ftptype) |
| |
| #### Functions to build json messages and respones #### |
| |
| def createNodeName(index): |
| return "PNF"+str(index); |
| |
| def createFileName(nodeName, index, size): |
| return "A20000626.2315+0200-2330+0200_" + nodeName + "-" + str(index) + "-" +size + ".tar.gz"; |
| |
| def createMissingFileName(nodeName, index, size): |
| return "AMissingFile_" + nodeName + "-" + str(index) + "-" +size + ".tar.gz"; |
| |
| |
| # Function to build fixed beginning of an event |
| |
| def getEventHead(nodename): |
| global pnfMap |
| pnfMap.add(nodename) |
| headStr = """ |
| { |
| "event": { |
| "commonEventHeader": { |
| "startEpochMicrosec": 8745745764578, |
| "eventId": "FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1", |
| "timeZoneOffset": "UTC+05.30", |
| "internalHeaderFields": { |
| "collectorTimeStamp": "Tue, 09 18 2018 10:56:52 UTC" |
| }, |
| "priority": "Normal", |
| "version": "4.0.1", |
| "reportingEntityName": \"""" + nodename + """", |
| "sequence": 0, |
| "domain": "notification", |
| "lastEpochMicrosec": 8745745764578, |
| "eventName": "Noti_RnNode-Ericsson_FileReady", |
| "vesEventListenerVersion": "7.0.1", |
| "sourceName": \"""" + nodename + """" |
| }, |
| "notificationFields": { |
| "notificationFieldsVersion": "2.0", |
| "changeType": "FileReady", |
| "changeIdentifier": "PM_MEAS_FILES", |
| "arrayOfNamedHashMap": [ |
| """ |
| return headStr |
| |
| # Function to build the variable part of an event |
| def getEventName(fn,type,user,passwd): |
| port = SFTP_PORT |
| ip = sftp_ip |
| if (type == "ftps"): |
| port = FTPS_PORT |
| ip = ftps_ip |
| |
| nameStr = """{ |
| "name": \"""" + fn + """", |
| "hashMap": { |
| "fileFormatType": "org.3GPP.32.435#measCollec", |
| "location": \"""" + type + """://""" + user + """:""" + passwd + """@""" + ip + """:""" + str(port) + """/""" + fn + """", |
| "fileFormatVersion": "V10", |
| "compression": "gzip" |
| } |
| } """ |
| return nameStr |
| |
| # Function to build fixed end of an event |
| def getEventEnd(): |
| endStr = """ |
| ] |
| } |
| } |
| } |
| """ |
| return endStr |
| |
| # Function to build an OK reponse from a message string |
| def buildOkResponse(msg): |
| response = app.response_class( |
| response=str.encode(msg), |
| status=200, |
| mimetype='application/json') |
| return response |
| |
| # Function to build an empty message with status |
| def buildEmptyResponse(status_code): |
| response = app.response_class( |
| response=str.encode(""), |
| status=status_code, |
| mimetype='application/json') |
| return response |
| |
| |
| if __name__ == "__main__": |
| |
| # IP addresses to use for ftp servers, using localhost if not env var is set |
| sftp_ip = os.environ.get('SFTP_SIM_IP', 'localhost') |
| ftps_ip = os.environ.get('FTPS_SIM_IP', 'localhost') |
| |
| |
| |
| #Counters |
| ctr_responses = 0 |
| ctr_requests = 0 |
| ctr_unique_files = 0 |
| ctr_events = 0 |
| startTime = time.time() |
| |
| #Keeps all responded file names |
| fileMap = {} |
| |
| #Keeps all responded PNF names |
| pnfMap = set() |
| |
| tc_num = "Not set" |
| tc_help = "Not set" |
| |
| parser = argparse.ArgumentParser() |
| |
| #SFTP TCs with single ME |
| parser.add_argument( |
| '--tc100', |
| action='store_true', |
| help='TC100 - One ME, SFTP, 1 1MB file, 1 event') |
| parser.add_argument( |
| '--tc101', |
| action='store_true', |
| help='TC101 - One ME, SFTP, 1 5MB file, 1 event') |
| parser.add_argument( |
| '--tc102', |
| action='store_true', |
| help='TC102 - One ME, SFTP, 1 50MB file, 1 event') |
| |
| parser.add_argument( |
| '--tc110', |
| action='store_true', |
| help='TC110 - One ME, SFTP, 1MB files, 1 file per event, 100 events, 1 event per poll.') |
| parser.add_argument( |
| '--tc111', |
| action='store_true', |
| help='TC111 - One ME, SFTP, 1MB files, 100 files per event, 100 events, 1 event per poll.') |
| parser.add_argument( |
| '--tc112', |
| action='store_true', |
| help='TC112 - One ME, SFTP, 5MB files, 100 files per event, 100 events, 1 event per poll.') |
| parser.add_argument( |
| '--tc113', |
| action='store_true', |
| help='TC113 - One ME, SFTP, 1MB files, 100 files per event, 100 events. All events in one poll.') |
| |
| parser.add_argument( |
| '--tc120', |
| action='store_true', |
| help='TC120 - One ME, SFTP, 1MB files, 100 files per event, 100 events, 1 event per poll. 10% of replies each: no response, empty message, slow response, 404-error, malformed json') |
| parser.add_argument( |
| '--tc121', |
| action='store_true', |
| help='TC121 - One ME, SFTP, 1MB files, 100 files per event, 100 events, 1 event per poll. 10% missing files') |
| parser.add_argument( |
| '--tc122', |
| action='store_true', |
| help='TC122 - One ME, SFTP, 1MB files, 100 files per event, 100 events. 1 event per poll. All files with identical name. ') |
| |
| parser.add_argument( |
| '--tc1000', |
| action='store_true', |
| help='TC1000 - One ME, SFTP, 1MB files, 100 files per event, endless number of events, 1 event per poll') |
| parser.add_argument( |
| '--tc1001', |
| action='store_true', |
| help='TC1001 - One ME, SFTP, 5MB files, 100 files per event, endless number of events, 1 event per poll') |
| |
| # SFTP TCs with multiple MEs |
| parser.add_argument( |
| '--tc510', |
| action='store_true', |
| help='TC510 - 700 MEs, SFTP, 1MB files, 1 file per event, 3500 events, 700 event per poll.') |
| |
| parser.add_argument( |
| '--tc511', |
| action='store_true', |
| help='TC511 - 700 MEs, SFTP, 1KB files, 1 file per event, 3500 events, 700 event per poll.') |
| |
| parser.add_argument( |
| '--tc710', |
| action='store_true', |
| help='TC710 - 700 MEs, SFTP, 1MB files, 100 files per event, 3500 events, 35 event per poll.') |
| |
| # FTPS TCs with single ME |
| parser.add_argument( |
| '--tc200', |
| action='store_true', |
| help='TC200 - One ME, FTPS, 1 1MB file, 1 event') |
| parser.add_argument( |
| '--tc201', |
| action='store_true', |
| help='TC201 - One ME, FTPS, 1 5MB file, 1 event') |
| parser.add_argument( |
| '--tc202', |
| action='store_true', |
| help='TC202 - One ME, FTPS, 1 50MB file, 1 event') |
| |
| parser.add_argument( |
| '--tc210', |
| action='store_true', |
| help='TC210 - One ME, FTPS, 1MB files, 1 file per event, 100 events, 1 event per poll.') |
| parser.add_argument( |
| '--tc211', |
| action='store_true', |
| help='TC211 - One ME, FTPS, 1MB files, 100 files per event, 100 events, 1 event per poll.') |
| parser.add_argument( |
| '--tc212', |
| action='store_true', |
| help='TC212 - One ME, FTPS, 5MB files, 100 files per event, 100 events, 1 event per poll.') |
| parser.add_argument( |
| '--tc213', |
| action='store_true', |
| help='TC213 - One ME, FTPS, 1MB files, 100 files per event, 100 events. All events in one poll.') |
| |
| parser.add_argument( |
| '--tc220', |
| action='store_true', |
| help='TC220 - One ME, FTPS, 1MB files, 100 files per event, 100 events, 1 event per poll. 10% of replies each: no response, empty message, slow response, 404-error, malformed json') |
| parser.add_argument( |
| '--tc221', |
| action='store_true', |
| help='TC221 - One ME, FTPS, 1MB files, 100 files per event, 100 events, 1 event per poll. 10% missing files') |
| parser.add_argument( |
| '--tc222', |
| action='store_true', |
| help='TC222 - One ME, FTPS, 1MB files, 100 files per event, 100 events. 1 event per poll. All files with identical name. ') |
| |
| parser.add_argument( |
| '--tc2000', |
| action='store_true', |
| help='TC2000 - One ME, FTPS, 1MB files, 100 files per event, endless number of events, 1 event per poll') |
| parser.add_argument( |
| '--tc2001', |
| action='store_true', |
| help='TC2001 - One ME, FTPS, 5MB files, 100 files per event, endless number of events, 1 event per poll') |
| |
| parser.add_argument( |
| '--tc610', |
| action='store_true', |
| help='TC610 - 700 MEs, FTPS, 1MB files, 1 file per event, 3500 events, 700 event per poll.') |
| |
| parser.add_argument( |
| '--tc611', |
| action='store_true', |
| help='TC611 - 700 MEs, FTPS, 1KB files, 1 file per event, 3500 events, 700 event per poll.') |
| |
| parser.add_argument( |
| '--tc810', |
| action='store_true', |
| help='TC810 - 700 MEs, FTPS, 1MB files, 100 files per event, 3500 events, 35 event per poll.') |
| |
| args = parser.parse_args() |
| |
| |
| |
| if args.tc100: |
| tc_num = "TC# 100" |
| elif args.tc101: |
| tc_num = "TC# 101" |
| elif args.tc102: |
| tc_num = "TC# 102" |
| |
| elif args.tc110: |
| tc_num = "TC# 110" |
| elif args.tc111: |
| tc_num = "TC# 111" |
| elif args.tc112: |
| tc_num = "TC# 112" |
| elif args.tc113: |
| tc_num = "TC# 113" |
| |
| elif args.tc120: |
| tc_num = "TC# 120" |
| elif args.tc121: |
| tc_num = "TC# 121" |
| elif args.tc122: |
| tc_num = "TC# 122" |
| |
| elif args.tc1000: |
| tc_num = "TC# 1000" |
| elif args.tc1001: |
| tc_num = "TC# 1001" |
| |
| elif args.tc510: |
| tc_num = "TC# 510" |
| elif args.tc511: |
| tc_num = "TC# 511" |
| |
| elif args.tc710: |
| tc_num = "TC# 710" |
| |
| elif args.tc200: |
| tc_num = "TC# 200" |
| elif args.tc201: |
| tc_num = "TC# 201" |
| elif args.tc202: |
| tc_num = "TC# 202" |
| |
| elif args.tc210: |
| tc_num = "TC# 210" |
| elif args.tc211: |
| tc_num = "TC# 211" |
| elif args.tc212: |
| tc_num = "TC# 212" |
| elif args.tc213: |
| tc_num = "TC# 213" |
| |
| elif args.tc220: |
| tc_num = "TC# 220" |
| elif args.tc221: |
| tc_num = "TC# 221" |
| elif args.tc222: |
| tc_num = "TC# 222" |
| |
| elif args.tc2000: |
| tc_num = "TC# 2000" |
| elif args.tc2001: |
| tc_num = "TC# 2001" |
| |
| |
| elif args.tc610: |
| tc_num = "TC# 610" |
| elif args.tc611: |
| tc_num = "TC# 611" |
| |
| elif args.tc810: |
| tc_num = "TC# 810" |
| |
| else: |
| print("No TC was defined") |
| print("use --help for usage info") |
| sys.exit() |
| |
| print("TC num: " + tc_num) |
| |
| |
| print("Using " + sftp_ip + " for sftp server address in file urls.") |
| print("Using " + ftps_ip + " for ftps server address in file urls.") |
| |
| app.run(port=HOST_PORT, host=HOST_IP) |
| |