chore: added some test for checking that the workflow passes through the user

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2022-05-04 14:42:33 +02:00
parent d06a045a68
commit 277634feb0
3 changed files with 47 additions and 104 deletions
@@ -24,6 +24,7 @@ import { ScmIntegrations } from '@backstage/integration';
import { ConfigReader } from '@backstage/config';
import { TaskContext, TaskSecrets } from './types';
import { TaskSpec } from '@backstage/plugin-scaffolder-common';
import { UserEntity } from '@backstage/catalog-model';
// The Stream module is lazy loaded, so make sure it's in the module cache before mocking fs
void winston.transports.Stream;
@@ -558,8 +559,8 @@ describe('DefaultWorkflowRunner', () => {
});
});
describe('filters', () => {
it('provides the parseRepoUrl filter', async () => {
describe('user', () => {
it('allows access to the user entity at the templating level', async () => {
const task = createMockTaskWithSpec({
apiVersion: 'scaffolder.backstage.io/v1beta3',
steps: [
@@ -587,4 +588,34 @@ describe('DefaultWorkflowRunner', () => {
});
});
});
describe('filters', () => {
it('provides the parseRepoUrl filter', async () => {
const task = createMockTaskWithSpec({
apiVersion: 'scaffolder.backstage.io/v1beta3',
steps: [
{
id: 'test',
name: 'name',
action: 'output-action',
input: {},
},
],
user: {
entity: { metadata: { name: 'bob' } } as UserEntity,
ref: 'user:default/guest',
},
output: {
foo: '${{ user.entity.metadata.name }} ${{ user.ref }}',
},
parameters: {
repoUrl: 'github.com?repo=repo&owner=owner',
},
});
const { output } = await runner.execute(task);
expect(output.foo).toEqual('bob user:default/guest');
});
});
});