From f1adb2e36b460b5c996504d1a6ed897d04968c4d Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 6 Feb 2023 17:34:26 +0100 Subject: [PATCH 1/2] backend-test-utils: remove mock service refs Signed-off-by: Patrik Oldsberg --- .changeset/thin-donkeys-attack.md | 5 ++++ packages/backend-test-utils/api-report.md | 27 ------------------- .../src/next/services/mockServices.ts | 24 +++++------------ 3 files changed, 12 insertions(+), 44 deletions(-) create mode 100644 .changeset/thin-donkeys-attack.md diff --git a/.changeset/thin-donkeys-attack.md b/.changeset/thin-donkeys-attack.md new file mode 100644 index 0000000000..2fd0aebb6a --- /dev/null +++ b/.changeset/thin-donkeys-attack.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-test-utils': patch +--- + +Removed the `ref` from all `mockServices`. diff --git a/packages/backend-test-utils/api-report.md b/packages/backend-test-utils/api-report.md index 232f7e8136..6e0edde88b 100644 --- a/packages/backend-test-utils/api-report.md +++ b/packages/backend-test-utils/api-report.md @@ -20,7 +20,6 @@ import { LifecycleService } from '@backstage/backend-plugin-api'; import { LoggerService } from '@backstage/backend-plugin-api'; import { PermissionsService } from '@backstage/backend-plugin-api'; import { RootLifecycleService } from '@backstage/backend-plugin-api'; -import { RootLoggerService } from '@backstage/backend-plugin-api'; import { SchedulerService } from '@backstage/backend-plugin-api'; import { ServiceFactory } from '@backstage/backend-plugin-api'; import { ServiceRef } from '@backstage/backend-plugin-api'; @@ -34,8 +33,6 @@ export function isDockerDisabledForTests(): boolean; export namespace mockServices { // (undocumented) export namespace cache { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } @@ -47,22 +44,16 @@ export namespace mockServices { export type Options = { data?: JsonObject; }; - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: (options?: Options | undefined) => ServiceFactory; } // (undocumented) export namespace database { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } // (undocumented) export namespace httpRouter { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: ( options?: HttpRouterFactoryOptions | undefined, @@ -72,36 +63,26 @@ export namespace mockServices { export function identity(): IdentityService; // (undocumented) export namespace identity { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } // (undocumented) export namespace lifecycle { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } // (undocumented) export namespace logger { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } // (undocumented) export namespace permissions { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } // (undocumented) export namespace rootLifecycle { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } @@ -120,15 +101,11 @@ export namespace mockServices { debug: boolean; }; }; - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: (options?: Options | undefined) => ServiceFactory; } // (undocumented) export namespace scheduler { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } @@ -136,15 +113,11 @@ export namespace mockServices { export function tokenManager(): TokenManagerService; // (undocumented) export namespace tokenManager { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } // (undocumented) export namespace urlReader { - const // (undocumented) - ref: ServiceRef; const // (undocumented) factory: () => ServiceFactory; } diff --git a/packages/backend-test-utils/src/next/services/mockServices.ts b/packages/backend-test-utils/src/next/services/mockServices.ts index f86d8bac55..ef32993611 100644 --- a/packages/backend-test-utils/src/next/services/mockServices.ts +++ b/packages/backend-test-utils/src/next/services/mockServices.ts @@ -62,8 +62,7 @@ export namespace mockServices { export namespace config { export type Options = { data?: JsonObject }; - export const ref = coreServices.config; - export const factory = simpleFactory(ref, config); + export const factory = simpleFactory(coreServices.config, config); } export function rootLogger(options?: rootLogger.Options): LoggerService { @@ -76,8 +75,7 @@ export namespace mockServices { | { error: boolean; warn: boolean; info: boolean; debug: boolean }; }; - export const ref = coreServices.rootLogger; - export const factory = simpleFactory(ref, rootLogger); + export const factory = simpleFactory(coreServices.rootLogger, rootLogger); } export function tokenManager(): TokenManagerService { @@ -93,55 +91,47 @@ export namespace mockServices { }; } export namespace tokenManager { - export const ref = coreServices.tokenManager; - export const factory = simpleFactory(ref, tokenManager); + export const factory = simpleFactory( + coreServices.tokenManager, + tokenManager, + ); } export function identity(): IdentityService { return new MockIdentityService(); } export namespace identity { - export const ref = coreServices.identity; - export const factory = simpleFactory(ref, identity); + export const factory = simpleFactory(coreServices.identity, identity); } // TODO(Rugvip): Not all core services have implementations available here yet. // some may need a bit more refactoring for it to be simpler to // re-implement functioning mock versions here. export namespace cache { - export const ref = coreServices.cache; export const factory = cacheFactory; } export namespace database { - export const ref = coreServices.database; export const factory = databaseFactory; } export namespace httpRouter { - export const ref = coreServices.httpRouter; export const factory = httpRouterFactory; } export namespace lifecycle { - export const ref = coreServices.lifecycle; export const factory = lifecycleFactory; } export namespace logger { - export const ref = coreServices.logger; export const factory = loggerFactory; } export namespace permissions { - export const ref = coreServices.permissions; export const factory = permissionsFactory; } export namespace rootLifecycle { - export const ref = coreServices.rootLifecycle; export const factory = rootLifecycleFactory; } export namespace scheduler { - export const ref = coreServices.scheduler; export const factory = schedulerFactory; } export namespace urlReader { - export const ref = coreServices.urlReader; export const factory = urlReaderFactory; } } From 1835311713c3ee767376250f4e5252d06a554c67 Mon Sep 17 00:00:00 2001 From: Patrik Oldsberg Date: Mon, 6 Feb 2023 17:36:22 +0100 Subject: [PATCH 2/2] backend-test-utils: explicit return type for mockServices.config() Signed-off-by: Patrik Oldsberg --- .changeset/four-tables-fix.md | 5 +++++ packages/backend-test-utils/api-report.md | 3 +-- .../backend-test-utils/src/next/services/mockServices.ts | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/four-tables-fix.md diff --git a/.changeset/four-tables-fix.md b/.changeset/four-tables-fix.md new file mode 100644 index 0000000000..f17f57e253 --- /dev/null +++ b/.changeset/four-tables-fix.md @@ -0,0 +1,5 @@ +--- +'@backstage/backend-test-utils': patch +--- + +Added explicit return type signature for `mockServices.config()`. diff --git a/packages/backend-test-utils/api-report.md b/packages/backend-test-utils/api-report.md index 6e0edde88b..672c574cb2 100644 --- a/packages/backend-test-utils/api-report.md +++ b/packages/backend-test-utils/api-report.md @@ -6,7 +6,6 @@ import { Backend } from '@backstage/backend-app-api'; import { BackendFeature } from '@backstage/backend-plugin-api'; import { CacheService } from '@backstage/backend-plugin-api'; -import { ConfigReader } from '@backstage/config'; import { ConfigService } from '@backstage/backend-plugin-api'; import { DatabaseService } from '@backstage/backend-plugin-api'; import { ExtendedHttpServer } from '@backstage/backend-app-api'; @@ -37,7 +36,7 @@ export namespace mockServices { factory: () => ServiceFactory; } // (undocumented) - export function config(options?: config.Options): ConfigReader; + export function config(options?: config.Options): ConfigService; // (undocumented) export namespace config { // (undocumented) diff --git a/packages/backend-test-utils/src/next/services/mockServices.ts b/packages/backend-test-utils/src/next/services/mockServices.ts index ef32993611..5f771f13c5 100644 --- a/packages/backend-test-utils/src/next/services/mockServices.ts +++ b/packages/backend-test-utils/src/next/services/mockServices.ts @@ -15,6 +15,7 @@ */ import { + ConfigService, coreServices, createServiceFactory, IdentityService, @@ -56,7 +57,7 @@ function simpleFactory( * @alpha */ export namespace mockServices { - export function config(options?: config.Options) { + export function config(options?: config.Options): ConfigService { return new ConfigReader(options?.data, 'mock-config'); } export namespace config {