Fixing test cases after removing worker-farm.
This commit is contained in:
parent
c57e66e21f
commit
35dba2e1cb
|
@ -1,20 +1,6 @@
|
||||||
jest.mock("../../utilities/usageQuota")
|
jest.mock("../../utilities/usageQuota")
|
||||||
jest.mock("../thread")
|
jest.mock("../thread")
|
||||||
jest.spyOn(global.console, "error")
|
jest.spyOn(global.console, "error")
|
||||||
jest.mock("worker-farm", () => {
|
|
||||||
return () => {
|
|
||||||
const value = jest
|
|
||||||
.fn()
|
|
||||||
.mockReturnValueOnce(undefined)
|
|
||||||
.mockReturnValueOnce("Error")
|
|
||||||
return (input, callback) => {
|
|
||||||
workerJob = input
|
|
||||||
if (callback) {
|
|
||||||
callback(value())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
require("../../environment")
|
require("../../environment")
|
||||||
const automation = require("../index")
|
const automation = require("../index")
|
||||||
|
@ -27,8 +13,6 @@ const { makePartial } = require("../../tests/utilities")
|
||||||
const { cleanInputValues } = require("../automationUtils")
|
const { cleanInputValues } = require("../automationUtils")
|
||||||
const setup = require("./utilities")
|
const setup = require("./utilities")
|
||||||
|
|
||||||
let workerJob
|
|
||||||
|
|
||||||
usageQuota.getAPIKey.mockReturnValue({ apiKey: "test" })
|
usageQuota.getAPIKey.mockReturnValue({ apiKey: "test" })
|
||||||
|
|
||||||
describe("Run through some parts of the automations system", () => {
|
describe("Run through some parts of the automations system", () => {
|
||||||
|
@ -44,28 +28,12 @@ describe("Run through some parts of the automations system", () => {
|
||||||
it("should be able to init in builder", async () => {
|
it("should be able to init in builder", async () => {
|
||||||
await triggers.externalTrigger(basicAutomation(), { a: 1 })
|
await triggers.externalTrigger(basicAutomation(), { a: 1 })
|
||||||
await wait(100)
|
await wait(100)
|
||||||
expect(workerJob).toBeUndefined()
|
|
||||||
expect(thread).toHaveBeenCalled()
|
expect(thread).toHaveBeenCalled()
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should be able to init in prod", async () => {
|
it("should be able to init in prod", async () => {
|
||||||
await setup.runInProd(async () => {
|
|
||||||
await triggers.externalTrigger(basicAutomation(), { a: 1 })
|
await triggers.externalTrigger(basicAutomation(), { a: 1 })
|
||||||
await wait(100)
|
await wait(100)
|
||||||
// haven't added a mock implementation so getAPIKey of usageQuota just returns undefined
|
|
||||||
expect(usageQuota.update).toHaveBeenCalledWith("test", "automationRuns", 1)
|
|
||||||
expect(workerJob).toBeDefined()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
it("try error scenario", async () => {
|
|
||||||
await setup.runInProd(async () => {
|
|
||||||
// the second call will throw an error
|
|
||||||
const response = await triggers.externalTrigger(basicAutomation(), {a: 1}, {getResponses: true})
|
|
||||||
await wait(100)
|
|
||||||
expect(console.error).toHaveBeenCalled()
|
|
||||||
expect(response.err).toBeDefined()
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should check coercion", async () => {
|
it("should check coercion", async () => {
|
||||||
|
@ -89,7 +57,7 @@ describe("Run through some parts of the automations system", () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}), expect.any(Function))
|
}))
|
||||||
})
|
})
|
||||||
|
|
||||||
it("should be able to clean inputs with the utilities", () => {
|
it("should be able to clean inputs with the utilities", () => {
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
const env = require("../environment")
|
|
||||||
const { getAPIKey, update, Properties } = require("../utilities/usageQuota")
|
|
||||||
const runner = require("./thread")
|
const runner = require("./thread")
|
||||||
const { definitions } = require("./triggerInfo")
|
const { definitions } = require("./triggerInfo")
|
||||||
const webhooks = require("../api/controllers/webhook")
|
const webhooks = require("../api/controllers/webhook")
|
||||||
|
@ -12,19 +10,8 @@ const { MetadataTypes } = require("../constants")
|
||||||
const WH_STEP_ID = definitions.WEBHOOK.stepId
|
const WH_STEP_ID = definitions.WEBHOOK.stepId
|
||||||
const CRON_STEP_ID = definitions.CRON.stepId
|
const CRON_STEP_ID = definitions.CRON.stepId
|
||||||
|
|
||||||
async function updateQuota(automation) {
|
|
||||||
const appId = automation.appId
|
|
||||||
const apiObj = await getAPIKey(appId)
|
|
||||||
// this will fail, causing automation to escape if limits reached
|
|
||||||
await update(apiObj.apiKey, Properties.AUTOMATION, 1)
|
|
||||||
return apiObj.apiKey
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.processEvent = async job => {
|
exports.processEvent = async job => {
|
||||||
try {
|
try {
|
||||||
if (env.USE_QUOTAS) {
|
|
||||||
job.data.automation.apiKey = await updateQuota(job.data.automation)
|
|
||||||
}
|
|
||||||
// need to actually await these so that an error can be captured properly
|
// need to actually await these so that an error can be captured properly
|
||||||
return await runner(job)
|
return await runner(job)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
Loading…
Reference in New Issue