From 8f0bd33d7a9ac34481fc9bca952634c3a19fc92e Mon Sep 17 00:00:00 2001 From: Phred Date: Mon, 27 Mar 2023 11:59:38 -0500 Subject: [PATCH] added utility to remove backstage entity refs from entities Signed-off-by: Phred --- .../actions/builtin/helpers.test.ts | 21 ++++++++++++++++++- .../src/scaffolder/actions/builtin/helpers.ts | 4 ++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts index b5a375d83d..47f2c88b30 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.test.ts @@ -15,7 +15,12 @@ */ import { Git, getVoidLogger } from '@backstage/backend-common'; -import { commitAndPushRepo, initRepoAndPush } from './helpers'; +import { entityNamePickerValidation } from '@backstage/plugin-scaffolder/src/components/fields/EntityNamePicker'; +import { + commitAndPushRepo, + familiarizeEntityName, + initRepoAndPush, +} from './helpers'; jest.mock('@backstage/backend-common', () => ({ Git: { @@ -301,3 +306,17 @@ describe('commitAndPushRepo', () => { }); }); }); + +describe('familiarizeEntityName', () => { + it.each([ + 'user:default/catpants', + 'group:default/catpants', + 'user:catpants', + 'default/catpants', + 'user:custom/catpants', + 'group:custom/catpants', + 'catpants', + ])('should parse: "%s"', (entityName: string) => { + expect(familiarizeEntityName(entityName)).toEqual('catpants'); + }); +}); diff --git a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts index 8bed279a1b..30b75d9e6f 100644 --- a/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts +++ b/plugins/scaffolder-backend/src/scaffolder/actions/builtin/helpers.ts @@ -296,3 +296,7 @@ export function getGitCommitMessage( ? gitCommitMessage : config.getOptionalString('scaffolder.defaultCommitMessage'); } + +export function familiarizeEntityName(name: string): string { + return name.replace(/^.*[:/]/g, ''); +}