def __init__(self): submod = get_service_name() or 'PanGenomeAPI' self.userlog = log.log(submod, ip_address=True, authuser=True, module=True, method=True, call_id=True, changecallback=self.logcallback, config=get_config_file()) self.serverlog = log.log(submod, ip_address=True, authuser=True, module=True, method=True, call_id=True, logfile=self.userlog.get_log_file()) self.serverlog.set_log_level(6) self.rpc_service = JSONRPCServiceCustom() self.method_authentication = dict() self.rpc_service.add( impl_PanGenomeAPI.search_orthologs_from_pangenome, name='PanGenomeAPI.search_orthologs_from_pangenome', types=[dict]) self.method_authentication[ 'PanGenomeAPI.search_orthologs_from_pangenome'] = 'optional' # noqa self.rpc_service.add( impl_PanGenomeAPI.search_families_from_comparison_genome, name='PanGenomeAPI.search_families_from_comparison_genome', types=[dict]) self.method_authentication[ 'PanGenomeAPI.search_families_from_comparison_genome'] = 'optional' # noqa self.rpc_service.add( impl_PanGenomeAPI.search_functions_from_comparison_genome, name='PanGenomeAPI.search_functions_from_comparison_genome', types=[dict]) self.method_authentication[ 'PanGenomeAPI.search_functions_from_comparison_genome'] = 'optional' # noqa self.rpc_service.add( impl_PanGenomeAPI.search_comparison_genome_from_comparison_genome, name='PanGenomeAPI.search_comparison_genome_from_comparison_genome', types=[dict]) self.method_authentication[ 'PanGenomeAPI.search_comparison_genome_from_comparison_genome'] = 'optional' # noqa self.rpc_service.add( impl_PanGenomeAPI.compute_summary_from_pangenome, name='PanGenomeAPI.compute_summary_from_pangenome', types=[dict]) self.method_authentication[ 'PanGenomeAPI.compute_summary_from_pangenome'] = 'optional' # noqa self.rpc_service.add(impl_PanGenomeAPI.status, name='PanGenomeAPI.status', types=[dict]) authurl = config.get(AUTH) if config else None self.auth_client = _KBaseAuth(authurl)
def setUpClass(cls): token = environ.get('KB_AUTH_TOKEN', None) config_file = environ.get('KB_DEPLOYMENT_CONFIG', None) cls.cfg = {} config = ConfigParser() config.read(config_file) for nameval in config.items('PanGenomeAPI'): cls.cfg[nameval[0]] = nameval[1] # Getting username from Auth profile for token authServiceUrl = cls.cfg['auth-service-url'] auth_client = _KBaseAuth(authServiceUrl) user_id = auth_client.get_user(token) # WARNING: don't call any logging methods on the context object, # it'll result in a NoneType error cls.ctx = MethodContext(None) cls.ctx.update({ 'token': token, 'user_id': user_id, 'provenance': [{ 'service': 'PanGenomeAPI', 'method': 'please_never_use_it_in_production', 'method_params': [] }], 'authenticated': 1 }) cls.wsURL = cls.cfg['workspace-url'] cls.wsClient = workspaceService(cls.wsURL) cls.serviceImpl = PanGenomeAPI(cls.cfg) cls.scratch = cls.cfg['scratch'] shutil.rmtree(cls.scratch) os.mkdir(cls.scratch) cls.callback_url = os.environ['SDK_CALLBACK_URL'] suffix = int(time.time() * 1000) wsName = "test_pangenome_api_" + str(suffix) cls.ws_info = cls.wsClient.create_workspace({'workspace': wsName}) cls.gcs = GenomeComparisonSDK(cls.callback_url) cls.gaa = GenomeAnnotationAPI(cls.callback_url) cls.prepare_data()