Exemplo n.º 1
0
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')
Exemplo n.º 2
0
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')
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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
Exemplo n.º 7
0
 def __init__(self):
     self.logger = get_logger() 
     self.config = read_config()
Exemplo n.º 8
0
 def __init__(self):
     self.logger = get_logger()
Exemplo n.º 9
0
 def __init__(self):
     self.logger = get_logger()
     self.connection = db_conn()
Exemplo n.º 10
0
 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))
Exemplo n.º 11
0
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)