UNPKG

@iotize/tap

Version:

IoTize Device client for Javascript

57 lines 4.76 kB
import { promiseDelay } from '@iotize/common/promise'; import { ServiceCallRunner, TapResponse } from '@iotize/tap'; import { ResultCode } from '@iotize/tap/client/api'; import { TapResponseFrameBuilder } from '@iotize/tap/client/impl'; import { MockClient } from './mock-client'; export function createMockServiceFunctionCustom(responseBuilder, options = { responseDelay: 10, }) { return (...args) => { return promiseDelay(responseBuilder(...args), options.responseDelay); }; } export function createMockServiceFunction(responseStatus = ResultCode.OK, options = { responseDelay: 10, }) { return () => { const response = createMockServiceResponse(responseStatus); return promiseDelay(response, options.responseDelay); }; } export function createMockServiceFunctionWithBody(responseStatus = ResultCode.OK, body, options = { responseDelay: 10, }) { return () => { const response = createMockServiceResponseWithBody(responseStatus, body); return promiseDelay(response, options.responseDelay); }; } export function createMockServiceResponse(responseStatus = ResultCode.OK) { const response = new TapResponse(TapResponseFrameBuilder.create(responseStatus)); return response; } export function createMockServiceResponseWithBody(responseStatus = ResultCode.OK, body) { const response = new TapResponse(TapResponseFrameBuilder.create(responseStatus)); if (body instanceof Uint8Array) { response['_tapResponse'].data = body; } if (body) { response.setBody(body); } return response; } export function createMockServiceResponseError(code) { const response = new TapResponse(TapResponseFrameBuilder.ERROR(code)); return response; } export function createMockService(constructorFct) { const serviceCallRunnner = new MockServiceCallRunner(); return new constructorFct(serviceCallRunnner); } export class MockServiceCallRunner extends ServiceCallRunner { // TODO constructor() { super(new MockClient()); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay1zZXJ2aWNlLXV0aWxpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi90ZXN0aW5nL3NyYy9tb2NrL21vY2stc2VydmljZS11dGlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxNQUFNLFVBQVUsK0JBQStCLENBQzdDLGVBQXFELEVBQ3JELFVBRUk7SUFDRixhQUFhLEVBQUUsRUFBRTtDQUNsQjtJQUVELE9BQU8sQ0FBQyxHQUFHLElBQWEsRUFBRSxFQUFFO1FBQzFCLE9BQU8sWUFBWSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxpQkFBeUIsVUFBVSxDQUFDLEVBQUUsRUFDdEMsVUFFSTtJQUNGLGFBQWEsRUFBRSxFQUFFO0NBQ2xCO0lBRUQsT0FBTyxHQUFHLEVBQUU7UUFDVixNQUFNLFFBQVEsR0FBRyx5QkFBeUIsQ0FBSSxjQUFjLENBQUMsQ0FBQztRQUM5RCxPQUFPLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLGlCQUF5QixVQUFVLENBQUMsRUFBRSxFQUN0QyxJQUFPLEVBQ1AsVUFFSTtJQUNGLGFBQWEsRUFBRSxFQUFFO0NBQ2xCO0lBRUQsT0FBTyxHQUFHLEVBQUU7UUFDVixNQUFNLFFBQVEsR0FBRyxpQ0FBaUMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekUsT0FBTyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN2RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBQ0QsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxpQkFBeUIsVUFBVSxDQUFDLEVBQUU7SUFFdEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQzlCLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FDL0MsQ0FBQztJQUNGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLGlCQUF5QixVQUFVLENBQUMsRUFBRSxFQUN0QyxJQUFPO0lBRVAsTUFBTSxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQzlCLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FDL0MsQ0FBQztJQUNGLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTtRQUM3QixRQUFRLENBQUMsY0FBYyxDQUFzQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7S0FDNUQ7SUFDRCxJQUFJLElBQUksRUFBRTtRQUNSLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDeEI7SUFDRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsTUFBTSxVQUFVLDhCQUE4QixDQUFXLElBQVk7SUFDbkUsTUFBTSxRQUFRLEdBQUcsSUFBSSxXQUFXLENBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekUsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsY0FBK0Q7SUFFL0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7SUFDdkQsT0FBTyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQWlCO0lBQzFELE9BQU87SUFDUDtRQUNFLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNGIn0=