def sp_runtest(rule_id, ruleDetailsId) -> JsonResponse: try: logger = get_logger() connection = db_conn() payload = get_sp_payload(ruleDetailsId) if not payload: logger.error("Error in executing stored procedure ") return create_failure(500, 'Error in executing stored procedure', 'Failed') sptable = models.Storedproceduretable.objects.filter( ruledetailsid=ruleDetailsId).values_list('storedprocname') cursor = connection.cursor() for sp in sptable: try: logger.debug("exec digicube_wam.dbo.test_sp" + str(sp[0])) # resultset = cursor.execute("exec "+ str(sp[0])).fetchall() # if not resultset: # return create_failure(500, 'Error in executing stored procedure', 'Failed') except Exception as e: logger.error("Error in executing stored procedure: ", str(e)) return create_failure(500, 'Error in executing stored procedure', 'Failed') cursor.close() connection.close() except Exception as e: logger.error("Error in executing stored procedure: ", str(e)) return create_failure(500, 'Error in executing stored procedure', 'Failed') return create_success('Success')
def api_run_test(rule_id, ruleDetailsId) -> JsonResponse: try: logger = get_logger() payload = get_api_parameter(ruleDetailsId) if not payload: logger.error("Error in run test API") return create_failure(500, 'Error in run test API', 'Failed') api_endpoint = '' except Exception as e: logger.error("Error in run test API: ", str(e)) return create_failure(500, 'Error in run test API', 'Failed') return create_success('success')
def get_sp_payload(ruleDetailsId): try: payload = {} logger = get_logger() sptable = models.Storedproceduretable.objects.filter( ruledetailsid=ruleDetailsId).values_list('paramname', 'paramvalue') for sp in sptable: try: payload[sp[0]] = sp[1] except Exception as e: logger.error("Error in preparing payload for sp_query: ", str(e)) return False logger.info("Payload for sp API: " + str(payload)) except Exception as e: logger.error("Error in preparing payload for sp_query: ", str(e)) return False return payload
def make_jwt_token(data: dict) -> str: """ This function encode jwt token :param token: this is string type of input which contains jwt token. Sample token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyaWQiOiJVLTEifQ.aRzeeoMrtxJIi9HB4_9YoVnzJ16tgM0Xux5_q6q0gh0 :return: """ logger = get_logger() config = read_config() token = str() try: jwt_secret_key = config['JWT']['jwt_secret_key'] jwt_algo = config['JWT']['jwt_algo'] token = jwt.encode(data, jwt_secret_key, jwt_algo).decode('utf-8') except Exception as e: token = str() logger.error(str(e)) return token
def extract_jwt_info(token: str) -> dict: """ This function decode jwt token which we will receive from UI :param token: this is string type of input which contains jwt token. Sample token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyaWQiOiJVLTEifQ.aRzeeoMrtxJIi9HB4_9YoVnzJ16tgM0Xux5_q6q0gh0 :return: """ logger = get_logger() config = read_config() json_info = dict() try: jwt_secret_key = config['JWT']['jwt_secret_key'] jwt_algo = config['JWT']['jwt_algo'] json_info = jwt.decode(str(token), jwt_secret_key, algorithms=str(jwt_algo)) except Exception as e: logger.error(str(e)) return json_info
def get_api_parameter(ruleDetailsId): try: logger = get_logger() payload = {} pythonfunc = models.Pythonfunctionstable.objects.filter( ruledetailsid=ruleDetailsId).values_list('paramname', 'paramvalue') if pythonfunc.exists(): for key, value in pythonfunc: payload[key] = value tmtable = Testparameter.objects.filter( ruledetailsid=ruleDetailsId).values_list('testparameterid', 'parametername', 'defaultvalue') if tmtable.exists(): for tmitems in tmtable: try: payload[tmitems[1]] = tmitems[2] tmdetails = Testparameterdetail.objects.filter( ruledetailsid=ruleDetailsId, parameterid=tmitems[0]).values_list('value') paramvalue = '' for val in tmdetails: for i in val: paramvalue = i # Replace default if value exists if len(paramvalue) > 0: payload[tmitems[1]] = paramvalue except Exception as e: logger.error("Error in parsing ruledetails table: " + str(e)) return False if len(payload) == 0: return False logger.info("payload for API: " + str(payload)) except Exception as e: logger.error("Error in preparing payload for run test API: ", str(e)) return False return payload
def __init__(self): self.logger = get_logger() self.config = read_config()
def __init__(self): self.logger = get_logger()
def __init__(self): self.logger = get_logger() self.connection = db_conn()
def __init__(self): self.logger = get_logger() self.config = read_config() dt = datetime.datetime.now() self.todaydate = ("{}.{:03d}".format(dt.strftime('%Y-%m-%d %I:%M:%S'), dt.microsecond//1000))
from django.http.response import JsonResponse from common_files.read_logger import get_logger from common_files.read_configuration import read_config import pyodbc config = read_config() logger = get_logger() def db_conn(database=config['DIGICUBEDB']['database_name']): output = { 'statusCode': 400, 'message': 'Error in db connection', 'replyCode': 'Fail', 'data': {} } try: driver = config['DIGICUBEDB']['driver'] server = config['DIGICUBEDB']['server'] uid = config['DIGICUBEDB']['username'] password = config['DIGICUBEDB']['password'] connection = pyodbc.connect( "driver={};server={};database={};uid={};PWD={}".format( driver, server, database, uid, password), autocommit=False) return connection except Exception as e: logger.error("Error in db connection: " + str(e)) return JsonResponse(output)