@betsys-nestjs/test-cleaner
v3.0.0
Published
Library for cleaning Redis records and Rabbit MQ queues
Downloads
7
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();
});