Add pipeline test
This commit is contained in:
parent
c1852ddd56
commit
31fd761278
42
src/pipeline.test.ts
Normal file
42
src/pipeline.test.ts
Normal file
@ -0,0 +1,42 @@
|
||||
import { assertEquals } from './deps.ts';
|
||||
|
||||
import pipeline from './pipeline.ts';
|
||||
import noopPolicy from './policies/noop-policy.ts';
|
||||
import readOnlyPolicy from './policies/read-only-policy.ts';
|
||||
import { buildInputMessage } from './test.ts';
|
||||
|
||||
Deno.test('passes events through multiple policies', async () => {
|
||||
const msg = buildInputMessage();
|
||||
|
||||
const result = await pipeline(msg, [
|
||||
noopPolicy,
|
||||
readOnlyPolicy,
|
||||
]);
|
||||
|
||||
assertEquals(result.action, 'reject');
|
||||
assertEquals(result.msg, 'The relay is read-only.');
|
||||
});
|
||||
|
||||
Deno.test('short-circuits on the first reject', async () => {
|
||||
const msg = buildInputMessage();
|
||||
|
||||
const result = await pipeline(msg, [
|
||||
readOnlyPolicy,
|
||||
noopPolicy,
|
||||
]);
|
||||
|
||||
assertEquals(result.action, 'reject');
|
||||
assertEquals(result.msg, 'The relay is read-only.');
|
||||
});
|
||||
|
||||
Deno.test('accepts when all policies accept', async () => {
|
||||
const msg = buildInputMessage();
|
||||
|
||||
const result = await pipeline(msg, [
|
||||
noopPolicy,
|
||||
noopPolicy,
|
||||
noopPolicy,
|
||||
]);
|
||||
|
||||
assertEquals(result.action, 'accept');
|
||||
});
|
Loading…
Reference in New Issue
Block a user