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;