Exemplo n.º 1
0
from ...utils.api import route, Parameter

from .. import tests

from ...libs import test_lib

from core import core

api = core.api
db = core.db
log = core.get_logger('api')


@route('/tests',
       parameters=[
           Parameter('category', ptype=str),
           Parameter('group', ptype=str),
           Parameter('name', ptype=str),
           Parameter('run', ptype=bool)
       ])
def get_tests():
    tests = test_lib.get_tests_auto(core.config.get('directories/tests'),
                                    category=api.get('category'),
                                    group=api.get('group'),
                                    name=api.get('name'),
                                    run=api.get('run'))
    return tests


@route(
    '/test',
Exemplo n.º 2
0
import pysftp, ftplib, re
from typing import List, Dict

from core import core

LOG = core.get_logger('ftp')

class AlphaFtpFile():
    def __init__(self,name,parameters=None,origin=None):
        self.name   = name
        self.origin = origin
        self.size   = 0
        self.key = None
        self.version = 0
        self.modification_time = None
        self.type = "classic"

        if parameters is not None:
            self.size   = parameters.st_size
            self.modification_time = parameters.st_mtime

        matchs = re.findall(r"\.[A-Z]*;[0-9]*",self.name)
        if len(matchs):
            self.extension, self.version = matchs[0].replace(".","").split(';')
            self.type = 'vms'
            self.short_name = self.name.replace(matchs[0],'')
        else:
            self.extension = self.name.split('.')[-1]
            self.short_name = self.name.replace('.' + self.extension,'')
        #print (attr.filename,attr.st_uid, attr.st_gid, attr.st_mode,attr.st_mtime,attr.st_size)
Exemplo n.º 3
0
import os, imp, sys, inspect
from ..models.tests import TestGroup, AlphaTest, test, TestCategories
import importlib
from inspect import getmembers, isfunction, isclass
from .py_lib import reload_modules

from ..models.logger import AlphaLogger
from typing import List

from core import core
LOG = core.get_logger('tests')

CATEGORIES = {}

def get_tests_auto(
        tests_modules:List[str],
        name:str=None,
        group:str=None,
        category:str=None,
        run:bool=False
    ) -> TestCategories:
    """Get the TestCategories class, containings all required tests.

    Args:
        tests_modules (List[str]): list of test modules path
        tests_modules (List[str]): list of test modules path
        name (str, optional): the name of the test to select. Defaults to None.
        group (str, optional): the name of the group to select. Defaults to None.
        category (str, optional): the name of the category to select. Defaults to None.

    Returns:
Exemplo n.º 4
0
import requests
from alphaz.models.config import AlphaConfig
from alphaz.models.logger import AlphaLogger

from core import core
LOG = core.get_logger('http')


class AlphaRequest():
    config: AlphaConfig = None
    host = None

    def __init__(self, config: AlphaConfig, log=None, logger_root=None):
        self.config = config
        self.host = self.config.get('host')

        self.log = log or LOG

        super().__init__()

    def get_url(self, route):
        if route[0] != '/':
            route = '/' + route
        ssl = self.config.get('ssl')
        prefix = 'https://'
        if ssl is None or not ssl:
            prefix = 'http://'
        return prefix + self.host + route

    def post(self, route, data={}):
        try:
Exemplo n.º 5
0
import os, datetime, uuid, time, ast
from typing import List, Dict

from alphaz.models.database.main_definitions import Requests, Answers
from alphaz.models.database.structure import AlphaDatabase
from alphaz.models.main import AlphaTransaction

from core import core

LOG = core.get_logger('requests')


def delete_requests(db: AlphaDatabase, uuids: List[str]):
    db.delete(Requests, filters=[Requests.uuid.in_(uuids)])


def get_requests(db: AlphaDatabase,
                 message_types: List[str] = [],
                 limit=20,
                 close=True) -> List[Requests]:
    filters = []
    if len(message_types) != 0:
        filters.append(Requests.message_type.in_(message_types))
    return db.select(Requests,
                     filters=filters,
                     limit=limit,
                     order_by=Requests.creation_date.desc(),
                     close=close)


def send_raw_request(db: AlphaDatabase,
Exemplo n.º 6
0
    send_from_directory,
    safe_join,
    abort,
    url_for,
    render_template,
)

from ..models.main import AlphaException
from ..models.api import Parameter
from ..models.api._route import Route

from core import core

api = core.api
db = core.db
LOG = core.get_logger("api")

ROUTES = {}

# Specify the debug panels you want
# api.config['DEBUG_TB_PANELS'] = [ 'flask_debugtoolbar.panels.versions.VersionDebugPanel', 'flask_debugtoolbar.panels.timer.TimerDebugPanel', 'flask_debugtoolbar.panels.headers.HeaderDebugPanel', 'flask_debugtoolbar.panels.request_vars.RequestVarsDebugPanel', 'flask_debugtoolbar.panels.template.TemplateDebugPanel', 'flask_debugtoolbar.panels.sqlalchemy.SQLAlchemyDebugPanel', 'flask_debugtoolbar.panels.logger.LoggingPanel', 'flask_debugtoolbar.panels.profiler.ProfilerDebugPanel', 'flask_debugtoolbar_lineprofilerpanel.panels.LineProfilerPanel' ]
# toolbar = flask_debugtoolbar.DebugToolbarExtension(api)

default_parameters = [
    Parameter("reset_cache",
              ptype=bool,
              default=False,
              private=True,
              cacheable=False),
    Parameter("requester", ptype=str, private=True, cacheable=False),
    Parameter("format",