From b9a6d1348d961c455f998729085e4d8545304fac Mon Sep 17 00:00:00 2001 From: Phil Kuang Date: Wed, 31 May 2023 11:30:58 -0400 Subject: [PATCH] fix(GithubMultiOrgEntityProvider): add missing await Signed-off-by: Phil Kuang --- .changeset/rare-bugs-chew.md | 5 +++++ .../src/providers/GithubMultiOrgEntityProvider.test.ts | 2 -- .../src/providers/GithubMultiOrgEntityProvider.ts | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 .changeset/rare-bugs-chew.md diff --git a/.changeset/rare-bugs-chew.md b/.changeset/rare-bugs-chew.md new file mode 100644 index 0000000000..1b9f12c13e --- /dev/null +++ b/.changeset/rare-bugs-chew.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-github': patch +--- + +Properly handle `async` event callback diff --git a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts index 99bef6e074..2622b2483d 100644 --- a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts +++ b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.test.ts @@ -1694,7 +1694,6 @@ describe('GithubMultiOrgEntityProvider', () => { }, }, }); - await new Promise(process.nextTick); expect(entityProviderConnection.applyMutation).toHaveBeenCalledTimes(1); expect(entityProviderConnection.applyMutation).toHaveBeenCalledWith({ @@ -1867,7 +1866,6 @@ describe('GithubMultiOrgEntityProvider', () => { }, }, }); - await new Promise(process.nextTick); expect(entityProviderConnection.applyMutation).toHaveBeenCalledTimes(1); expect(entityProviderConnection.applyMutation).toHaveBeenCalledWith({ diff --git a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts index 9ac9f2c45d..4d343493f6 100644 --- a/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts +++ b/plugins/catalog-backend-module-github/src/providers/GithubMultiOrgEntityProvider.ts @@ -388,7 +388,10 @@ export class GithubMultiOrgEntityProvider implements EntityProvider { // https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#membership if (params.topic.includes('membership')) { - this.onMembershipChangedInTeam(eventPayload as MembershipEvent, orgs); + await this.onMembershipChangedInTeam( + eventPayload as MembershipEvent, + orgs, + ); } return;