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',
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)
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:
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:
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,
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",