@betsys-nestjs/test-cleaner
v3.0.0
Published
Library for cleaning Redis records and Rabbit MQ queues
Downloads
20
Maintainers
Keywords
Readme
Test cleaner library
This library is for purpose of development and testing only. It helps you to set/delete entries in Redis and/or purge RabbitMQ queues (basically to clean up after tests)
Environment variables
No environment variables are necessay.
Dependencies
| Package | Version | | --------------------------- | --------- | | @betsys-nestjs/logger | ^4.0.1 | | @betsys-nestjs/rabbit-mq | ^4.0.0 | | @betsys-nestjs/redis | ^4.0.1 | | @betsys-nestjs/config-utils | ^1.0.3 | | @betsys-nestjs/monitoring | ^5.0.0 | | @nestjs/terminus | ^9.0.0 | | @types/node | ^18.11.18 | | @types/amqplib | ^0.10.1 | | amqplib | ^0.10.3 |
Usage
In order to be able to use the test cleaner in your tests,
you have to import the TestCleanerModule
into your testing module:
import { TestCleanerModule, TestCleanerConfig } from '@betsys-nestjs/test-cleaner';
describe('Some test', () => {
beforeAll(async () => {
const moduleRef = await Test.createTestingModule({
imports: [
TestsCleanerModule.forFeature({
redisConfig: {
uri: 'some-redis-uri',
prefix: 'test'
},
rabbitMqConfig: {
uri: 'some-rabbit-uri'
},
queueNames: [
'queue-to-purge-1',
'queue-to-purge-2',
],
} as TestCleanerConfig),
...
],
}).compile();
}
}
In the configuration, you have to provide redisConfig
. Rabbit configuration is not
mandatory, but please bear in mind, that if you provide rabbitMqConfig
, you have
to provide also queueNames
as well and vice versa.
In your testing modules you can than use instance of RabbitCleaningService
and
RedisCleaningService
:
beforeEach(async () => {
const redisCleaner = moduleRef.get<RedisCleaningService>(RedisCleaningService);
await redisCleaner.flushAll();
const rabbitCleaner = moduleRef.get<RabbitCleaningService>(RabbitCleaningService);
await this.rabbitCleaner.purgeQueues();
});