From abcad503b000c97315104321c7350aa06c1e0428 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Mon, 6 Mar 2023 22:40:41 +0100 Subject: [PATCH 1/7] optimize log-output --- federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts index 53f0d0bd4..8670c3d1d 100644 --- a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts +++ b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts @@ -7,12 +7,12 @@ import { GetPublicKeyResult } from '../model/GetPublicKeyResult' export class PublicKeyResolver { @Query(() => GetPublicKeyResult) async getPublicKey(): Promise { - logger.info(`getPublicKey()...`) + logger.debug(`getPublicKey() via apiVersion=1_0 ...`) const homeCom = await DbCommunity.findOneOrFail({ foreign: false, apiVersion: '1_0', }) - logger.info(`getPublicKey()... with publicKey=${homeCom.publicKey}`) + logger.info(`getPublicKey()-1_0... return publicKey=${homeCom.publicKey}`) return new GetPublicKeyResult(homeCom.publicKey.toString()) } } From 46831167bc905345283bfd0807a81c2d2744a893 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 7 Mar 2023 01:14:18 +0100 Subject: [PATCH 2/7] new testclass --- .../1_0/resolver/PublicKeyResolver.test.ts | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts diff --git a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts new file mode 100644 index 000000000..1622c7be4 --- /dev/null +++ b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts @@ -0,0 +1,54 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +import { createTestClient } from 'apollo-server-testing' +import createServer from '@/server/createServer' +import { Community as DbCommunity } from '@entity/Community' + +let query: any +let testEnv: any + +// to do: We need a setup for the tests that closes the connection +let con: any + +beforeAll(async () => { + const server = await createServer() + con = server.con + query = createTestClient(server.apollo).query + DbCommunity.clear() +}) + +afterAll(async () => { + await con.close() +}) + +describe('PublicKeyResolver', () => { + const getPublicKeyQuery = ` + query { + getPublicKey + { + publicKey + } + } + ` + + describe('getPublicKey', () => { + beforeEach(async () => { + const homeCom = new DbCommunity() + homeCom.foreign = false + homeCom.apiVersion = '1_0' + homeCom.endPoint = 'endpoint-url' + homeCom.publicKey = Buffer.from('homeCommunity-publicKey') + await DbCommunity.insert(homeCom) + }) + + it('returns homeCommunity-publicKey', async () => { + await expect(query({ query: getPublicKeyQuery })).resolves.toMatchObject({ + data: { + getPublicKey: { + publicKey: 'homeCommunity-publicKey', + }, + }, + }) + }) + }) +}) From c71e293e6732ae68ca7673c6698e445f6d311d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 7 Mar 2023 03:48:43 +0100 Subject: [PATCH 3/7] next try for test --- .../src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts index 1622c7be4..25fde9f3c 100644 --- a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts +++ b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts @@ -42,13 +42,14 @@ describe('PublicKeyResolver', () => { }) it('returns homeCommunity-publicKey', async () => { - await expect(query({ query: getPublicKeyQuery })).resolves.toMatchObject({ + await expect(query({ query: getPublicKeyQuery })).resolves.toEqual(expect.objectContaining({ data: { getPublicKey: { publicKey: 'homeCommunity-publicKey', }, }, }) + ) }) }) }) From f442c289c2e67b0a3bc011d37259956d87a39b54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Tue, 7 Mar 2023 22:55:23 +0100 Subject: [PATCH 4/7] next try, but doesn't work --- .../api/1_0/resolver/PublicKeyResolver.test.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts index 25fde9f3c..fffb83e7d 100644 --- a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts +++ b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts @@ -42,13 +42,14 @@ describe('PublicKeyResolver', () => { }) it('returns homeCommunity-publicKey', async () => { - await expect(query({ query: getPublicKeyQuery })).resolves.toEqual(expect.objectContaining({ - data: { - getPublicKey: { - publicKey: 'homeCommunity-publicKey', + await expect(query({ query: getPublicKeyQuery })).resolves.toContainEqual( + expect.objectContaining({ + data: { + getPublicKey: { + publicKey: 'homeCommunity-publicKey', + }, }, - }, - }) + }) ) }) }) From a1e8a4aab2bbfca70e4bf1bf2dc91d4cd05a395a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Thu, 9 Mar 2023 14:40:28 +0100 Subject: [PATCH 5/7] linting --- federation/src/graphql/api/1_0/model/GetPublicKeyResult.ts | 2 ++ federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts | 2 ++ 2 files changed, 4 insertions(+) diff --git a/federation/src/graphql/api/1_0/model/GetPublicKeyResult.ts b/federation/src/graphql/api/1_0/model/GetPublicKeyResult.ts index 1582ad892..696c96cfe 100644 --- a/federation/src/graphql/api/1_0/model/GetPublicKeyResult.ts +++ b/federation/src/graphql/api/1_0/model/GetPublicKeyResult.ts @@ -1,6 +1,8 @@ +// eslint-disable-next-line @typescript-eslint/no-unused-vars import { Field, ObjectType } from 'type-graphql' @ObjectType() +// eslint-disable-next-line @typescript-eslint/no-unused-vars export class GetPublicKeyResult { constructor(pubKey: string) { this.publicKey = pubKey diff --git a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts index 8670c3d1d..df7bd3dc9 100644 --- a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts +++ b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.ts @@ -1,9 +1,11 @@ +// eslint-disable-next-line @typescript-eslint/no-unused-vars import { Field, ObjectType, Query, Resolver } from 'type-graphql' import { federationLogger as logger } from '@/server/logger' import { Community as DbCommunity } from '@entity/Community' import { GetPublicKeyResult } from '../model/GetPublicKeyResult' @Resolver() +// eslint-disable-next-line @typescript-eslint/no-unused-vars export class PublicKeyResolver { @Query(() => GetPublicKeyResult) async getPublicKey(): Promise { From 4d19ce06b5221cb132b080d44f84fd821cf44c64 Mon Sep 17 00:00:00 2001 From: Ulf Gebhardt Date: Thu, 9 Mar 2023 15:18:31 +0100 Subject: [PATCH 6/7] fix test --- .../api/1_0/resolver/PublicKeyResolver.test.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts index fffb83e7d..b355f075e 100644 --- a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts +++ b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts @@ -42,15 +42,13 @@ describe('PublicKeyResolver', () => { }) it('returns homeCommunity-publicKey', async () => { - await expect(query({ query: getPublicKeyQuery })).resolves.toContainEqual( - expect.objectContaining({ - data: { - getPublicKey: { - publicKey: 'homeCommunity-publicKey', - }, + await expect(query({ query: getPublicKeyQuery })).resolves.toMatchObject({ + data: { + getPublicKey: { + publicKey: expect.stringMatching('homeCommunity-publicKey'), }, - }) - ) + }, + }) }) }) }) From 297abea1ec0aa634c7a60e0465ba12fec3d16654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Claus-Peter=20H=C3=BCbner?= Date: Thu, 9 Mar 2023 15:48:24 +0100 Subject: [PATCH 7/7] linting --- .../src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts index b355f075e..20e6c8228 100644 --- a/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts +++ b/federation/src/graphql/api/1_0/resolver/PublicKeyResolver.test.ts @@ -5,7 +5,6 @@ import createServer from '@/server/createServer' import { Community as DbCommunity } from '@entity/Community' let query: any -let testEnv: any // to do: We need a setup for the tests that closes the connection let con: any