Skip to content

Commit

Permalink
test coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
timgit committed Mar 29, 2020
1 parent 709bb0d commit 8c7c7da
Showing 1 changed file with 53 additions and 12 deletions.
65 changes: 53 additions & 12 deletions test/deleteQueueTest.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
const assert = require('assert')
const helper = require('./testHelper')
const Promise = require('bluebird')

describe('deleteQueue', function () {
it('should clear a specific queue', async function () {
Expand All @@ -9,28 +10,26 @@ describe('deleteQueue', function () {
const config = this.test.bossConfig
const boss = await helper.start(config)

const countJobs = queue => helper.countJobs(config.schema, 'name = $1', [queue])

await boss.publish(queue1)
await boss.publish(queue2)

const q1Count1 = await countJobs(queue1)
const q2Count1 = await countJobs(queue2)
const q1Count1 = await boss.getQueueSize(queue1)
const q2Count1 = await boss.getQueueSize(queue2)

assert.strictEqual(1, q1Count1)
assert.strictEqual(1, q2Count1)

await boss.deleteQueue(queue1)

const q1Count2 = await countJobs(queue1)
const q2Count2 = await countJobs(queue2)
const q1Count2 = await boss.getQueueSize(queue1)
const q2Count2 = await boss.getQueueSize(queue2)

assert.strictEqual(0, q1Count2)
assert.strictEqual(1, q2Count2)

await boss.deleteQueue(queue2)

const q2Count3 = await countJobs(queue2)
const q2Count3 = await boss.getQueueSize(queue2)

assert.strictEqual(0, q2Count3)

Expand All @@ -43,25 +42,67 @@ describe('deleteQueue', function () {

const config = this.test.bossConfig
const boss = await helper.start(config)
const countJobs = queue => helper.countJobs(config.schema, 'name = $1', [queue])

await boss.publish(queue1)
await boss.publish(queue2)

const q1Count1 = await countJobs(queue1)
const q2Count1 = await countJobs(queue2)
const q1Count1 = await boss.getQueueSize(queue1)
const q2Count1 = await boss.getQueueSize(queue2)

assert.strictEqual(1, q1Count1)
assert.strictEqual(1, q2Count1)

await boss.deleteAllQueues()

const q1Count2 = await countJobs(queue1)
const q2Count2 = await countJobs(queue2)
const q1Count2 = await boss.getQueueSize(queue1)
const q2Count2 = await boss.getQueueSize(queue2)

assert.strictEqual(0, q1Count2)
assert.strictEqual(0, q2Count2)

await boss.stop()
})

it('clearStorage() should empty both job storage tables', async function () {
const defaults = {
archiveIntervalSeconds: 1,
maintenanceIntervalSeconds: 1
}

const config = { ...this.test.bossConfig, ...defaults }
const boss = await helper.start(config)
const queue = 'clear-storage-works'

const jobId = await boss.publish(queue)
const job = await boss.fetch(queue)

assert.strictEqual(job.id, jobId)

await boss.complete(jobId)

await Promise.delay(3000)

const db = await helper.getDb()

const getJobCount = async table => {
const jobCountResult = await db.executeSql(`SELECT count(*)::int as job_count FROM ${config.schema}.${table}`)
return jobCountResult.rows[0].job_count
}

const preJobCount = await getJobCount('job')
const preArchiveCount = await getJobCount('archive')

assert(preJobCount > 0)
assert(preArchiveCount > 0)

await boss.clearStorage()

const postJobCount = await getJobCount('job')
const postArchiveCount = await getJobCount('archive')

assert(postJobCount === 0)
assert(postArchiveCount === 0)

await boss.stop()
})
})

0 comments on commit 8c7c7da

Please sign in to comment.