fix(core): update

This commit is contained in:
Philipp Kunz 2020-09-22 23:06:34 +00:00
parent f73334d8fc
commit fced92e1cc
3 changed files with 18 additions and 3 deletions

View File

@ -8,6 +8,7 @@ tap.test('should create a valid Handler', async () => {
class MyHandler extends sdk.AAgHandler<any> { class MyHandler extends sdk.AAgHandler<any> {
public slug: 'testapi'; public slug: 'testapi';
public typedrouter = new TypedRouter(); public typedrouter = new TypedRouter();
public async checkReqirements() { public async checkReqirements() {
return { return {
allOk: true, allOk: true,
@ -27,7 +28,14 @@ tap.test('should create a valid Handler', async () => {
} }
} }
const myHandlerInstance = new MyHandler(); // tslint:disable-next-line: max-classes-per-file
class AgEnvironement extends sdk.AgEnvironment {
public async getEnvVar(nameArg: string) {
return '';
}
}
const myHandlerInstance = new MyHandler(new AgEnvironement());
expect(myHandlerInstance).to.be.instanceOf(sdk.AAgHandler); expect(myHandlerInstance).to.be.instanceOf(sdk.AAgHandler);
}); });

View File

@ -3,6 +3,6 @@ import * as plugins from './sdk.plugins';
/** /**
* AgEnvironment handles the provision of environment variables to handlers * AgEnvironment handles the provision of environment variables to handlers
*/ */
export class AgEnvironment { export abstract class AgEnvironment {
public abstract async getEnvVar(envVarName: string): Promise<string>;
} }

View File

@ -1,5 +1,6 @@
import * as plugins from './sdk.plugins'; import * as plugins from './sdk.plugins';
import { AuthInfo } from './sdk.classes.authinfo'; import { AuthInfo } from './sdk.classes.authinfo';
import { AgEnvironment } from './sdk.classes.agenvironment';
export interface IRequirementResult { export interface IRequirementResult {
allOk: boolean; allOk: boolean;
@ -7,6 +8,8 @@ export interface IRequirementResult {
} }
export abstract class AAgHandler<TClaim> { export abstract class AAgHandler<TClaim> {
public agEnvironment: AgEnvironment;
/** /**
* a slug that separates the handler from other handlers * a slug that separates the handler from other handlers
*/ */
@ -14,6 +17,10 @@ export abstract class AAgHandler<TClaim> {
public abstract typedrouter: plugins.typedrequest.TypedRouter; public abstract typedrouter: plugins.typedrequest.TypedRouter;
public abstract checkRequirements(): Promise<IRequirementResult>; public abstract checkRequirements(): Promise<IRequirementResult>;
constructor(agEnvironmentArg: AgEnvironment) {
this.agEnvironment = agEnvironmentArg;
};
/** /**
* start the ag-handler * start the ag-handler
*/ */