From e1b03e97e6b515547e7aeacb5537efc96bde085f Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Sun, 25 Sep 2022 21:53:37 +0200 Subject: [PATCH] catalog-backend: integration test, simplify output entities structure Signed-off-by: Patrik Oldsberg --- .../catalog-backend/src/integration.test.ts | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/plugins/catalog-backend/src/integration.test.ts b/plugins/catalog-backend/src/integration.test.ts index db7bd0a9d2..6659ece759 100644 --- a/plugins/catalog-backend/src/integration.test.ts +++ b/plugins/catalog-backend/src/integration.test.ts @@ -21,7 +21,11 @@ import { JsonObject } from '@backstage/types'; import { CatalogProcessingEngine, EntityProvider } from './index'; import { DatabaseManager, getVoidLogger } from '@backstage/backend-common'; import { PermissionEvaluator } from '@backstage/plugin-permission-common'; -import { Entity, EntityPolicies } from '@backstage/catalog-model'; +import { + Entity, + EntityPolicies, + stringifyEntityRef, +} from '@backstage/catalog-model'; import { defaultEntityDataParser } from './modules/util/parse'; import { DefaultCatalogProcessingOrchestrator } from './processing/DefaultCatalogProcessingOrchestrator'; import { applyDatabaseMigrations } from './database/migrations'; @@ -318,9 +322,9 @@ class TestHarness { }); } - async getOutputEntities(): Promise { + async getOutputEntities(): Promise> { const { entities } = await this.#catalog.entities(); - return entities; + return Object.fromEntries(entities.map(e => [stringifyEntityRef(e), e])); } async refresh(options: RefreshOptions) { @@ -355,24 +359,24 @@ describe('Catalog Backend Integration', () => { }, ]); - await expect(harness.getOutputEntities()).resolves.toEqual([]); + await expect(harness.getOutputEntities()).resolves.toEqual({}); await expect(harness.process()).resolves.toEqual({}); - await expect(harness.getOutputEntities()).resolves.toEqual([ - { + await expect(harness.getOutputEntities()).resolves.toEqual({ + 'component:default/test': { apiVersion: 'backstage.io/v1alpha1', kind: 'Component', metadata: expect.objectContaining({ name: 'test' }), relations: [], }, - ]); + }); triggerError = true; await expect(harness.process()).resolves.toEqual({}); - await expect(harness.getOutputEntities()).resolves.toEqual([ - { + await expect(harness.getOutputEntities()).resolves.toEqual({ + 'component:default/test': { apiVersion: 'backstage.io/v1alpha1', kind: 'Component', metadata: expect.objectContaining({ name: 'test' }), @@ -398,6 +402,6 @@ describe('Catalog Backend Integration', () => { ], }, }, - ]); + }); }); });