UNPKG

@webda/core

Version:

Expose API with Lambda

76 lines 2.98 kB
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { suite, test } from "@testdeck/mocha"; import * as assert from "assert"; import { Cron, CronDefinition, CronService, Service } from "...js"; import { WebdaTest } from "../test.js"; class MyService extends Service { test() { // Empty one } test2(myArg) { } } __decorate([ Cron("0/15 * * * *", "plop") ], MyService.prototype, "test", null); __decorate([ Cron("0/25 * * * *", undefined, "myArg") ], MyService.prototype, "test2", null); let CronServiceTest = class CronServiceTest extends WebdaTest { async buildWebda() { await super.buildWebda(); this.webda.getBeans = () => { }; } annotations() { this.registerService(new MyService(this.webda, "myService", {})); let def = new CronDefinition("0/15 * * * *", [], "myService", "test", "plop"); let service = new CronService(this.webda, "cron", {}); service.schedule("* * * * *", () => { }, "mine"); assert.deepStrictEqual(service.getCrontab()[1], def); // for cov assert.deepStrictEqual(service.getCrontab()[1], def); service.crontabSchedule = (cron, cb) => { try { cb(); } catch (err) { } }; try { let promise = service.work(); promise.cancel(); service.enable = false; service.schedule("* * * * *", () => { }, "mine"); service.crons[0].context = undefined; promise = service.run(); promise.cancel(); promise = service.run(false); promise.cancel(); } finally { } } }; __decorate([ test ], CronServiceTest.prototype, "annotations", null); CronServiceTest = __decorate([ suite ], CronServiceTest); let CronDefinitionTest = class CronDefinitionTest { testString() { assert.strictEqual(new CronDefinition("* * * * *").toString(), "* * * * *: .()"); assert.strictEqual(CronService.getCronId(new CronDefinition("* * * * *"), "plop"), "5e281c06"); assert.strictEqual(new CronDefinition("* * * * *", [{}, {}], "plop", "method", "desc").toString(), "* * * * *: plop.method([object Object],[object Object]) # desc"); } }; __decorate([ test ], CronDefinitionTest.prototype, "testString", null); CronDefinitionTest = __decorate([ suite ], CronDefinitionTest); //# sourceMappingURL=cron.spec.js.map