From 97bf4ae129ae2351e5df5fa68797b321046d528a Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Tue, 29 Nov 2022 10:57:20 -0500 Subject: [PATCH] Fix remaining test failures Signed-off-by: Sebastian Malton --- .../k8s-api/__tests__/api-manager.test.ts | 6 ++++ .../kube-api-version-detection.test.ts | 32 ++++--------------- src/common/k8s-api/__tests__/kube-api.test.ts | 8 +++++ src/common/k8s-api/json-api.ts | 2 -- 4 files changed, 20 insertions(+), 28 deletions(-) diff --git a/src/common/k8s-api/__tests__/api-manager.test.ts b/src/common/k8s-api/__tests__/api-manager.test.ts index 4bca310dac..e4c82c5dc8 100644 --- a/src/common/k8s-api/__tests__/api-manager.test.ts +++ b/src/common/k8s-api/__tests__/api-manager.test.ts @@ -6,6 +6,8 @@ import type { DiContainer } from "@ogre-tools/injectable"; import clusterFrameContextForNamespacedResourcesInjectable from "../../../renderer/cluster-frame-context/for-namespaced-resources.injectable"; import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting"; +import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable"; +import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable"; import type { ApiManager } from "../api-manager"; import apiManagerInjectable from "../api-manager/manager.injectable"; import { KubeApi } from "../kube-api"; @@ -28,6 +30,10 @@ describe("ApiManager", () => { beforeEach(() => { di = getDiForUnitTesting({ doGeneralOverrides: true }); + + di.override(storesAndApisCanBeCreatedInjectable, () => true); + di.override(directoryForUserDataInjectable, () => "/some-user-store-path"); + apiManager = di.inject(apiManagerInjectable); }); diff --git a/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts b/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts index ffb466c451..e32a0be3bd 100644 --- a/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts +++ b/src/common/k8s-api/__tests__/kube-api-version-detection.test.ts @@ -3,7 +3,6 @@ * Licensed under MIT License. See LICENSE in root directory for more information. */ import type { KubeJsonApi } from "../kube-json-api"; -import { PassThrough } from "stream"; import type { ApiManager } from "../api-manager"; import { Ingress, IngressApi } from "../endpoints"; import { getDiForUnitTesting } from "../../../renderer/getDiForUnitTesting"; @@ -14,32 +13,10 @@ import type { AsyncFnMock } from "@async-fn/jest"; import asyncFn from "@async-fn/jest"; import { flushPromises } from "../../test-utils/flush-promises"; import createKubeJsonApiInjectable from "../create-kube-json-api.injectable"; -import type { Response, Headers as NodeFetchHeaders } from "node-fetch"; import setupAutoRegistrationInjectable from "../../../renderer/before-frame-starts/runnables/setup-auto-registration.injectable"; - -const createMockResponseFromString = (url: string, data: string, statusCode = 200) => { - const res: jest.Mocked = { - buffer: jest.fn(async () => { throw new Error("buffer() is not supported"); }), - clone: jest.fn(() => res), - arrayBuffer: jest.fn(async () => { throw new Error("arrayBuffer() is not supported"); }), - blob: jest.fn(async () => { throw new Error("blob() is not supported"); }), - body: new PassThrough(), - bodyUsed: false, - headers: new Headers() as NodeFetchHeaders, - json: jest.fn(async () => JSON.parse(await res.text())), - ok: 200 <= statusCode && statusCode < 300, - redirected: 300 <= statusCode && statusCode < 400, - size: data.length, - status: statusCode, - statusText: "some-text", - text: jest.fn(async () => data), - type: "basic", - url, - formData: jest.fn(async () => { throw new Error("formData() is not supported"); }), - }; - - return res; -}; +import { createMockResponseFromString } from "../../../test-utils/mock-responses"; +import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable"; +import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable"; describe("KubeApi", () => { let request: KubeJsonApi; @@ -52,6 +29,9 @@ describe("KubeApi", () => { fetchMock = asyncFn(); di.override(fetchInjectable, () => fetchMock); + di.override(storesAndApisCanBeCreatedInjectable, () => true); + di.override(directoryForUserDataInjectable, () => "/some-user-store-path"); + const createKubeJsonApi = di.inject(createKubeJsonApiInjectable); request = createKubeJsonApi({ diff --git a/src/common/k8s-api/__tests__/kube-api.test.ts b/src/common/k8s-api/__tests__/kube-api.test.ts index d8430a33ce..0000844454 100644 --- a/src/common/k8s-api/__tests__/kube-api.test.ts +++ b/src/common/k8s-api/__tests__/kube-api.test.ts @@ -21,6 +21,8 @@ import type { KubeJsonApiDataFor } from "../kube-object"; import AbortController from "abort-controller"; import setupAutoRegistrationInjectable from "../../../renderer/before-frame-starts/runnables/setup-auto-registration.injectable"; import { createMockResponseFromStream, createMockResponseFromString } from "../../../test-utils/mock-responses"; +import storesAndApisCanBeCreatedInjectable from "../../../renderer/stores-apis-can-be-created.injectable"; +import directoryForUserDataInjectable from "../../app-paths/directory-for-user-data/directory-for-user-data.injectable"; describe("createKubeApiForRemoteCluster", () => { let createKubeApiForRemoteCluster: CreateKubeApiForRemoteCluster; @@ -32,6 +34,9 @@ describe("createKubeApiForRemoteCluster", () => { fetchMock = asyncFn(); di.override(fetchInjectable, () => fetchMock); + di.override(storesAndApisCanBeCreatedInjectable, () => true); + di.override(directoryForUserDataInjectable, () => "/some-user-store-path"); + createKubeApiForRemoteCluster = di.inject(createKubeApiForRemoteClusterInjectable); }); @@ -121,6 +126,9 @@ describe("KubeApi", () => { fetchMock = asyncFn(); di.override(fetchInjectable, () => fetchMock); + di.override(storesAndApisCanBeCreatedInjectable, () => true); + di.override(directoryForUserDataInjectable, () => "/some-user-store-path"); + const createKubeJsonApi = di.inject(createKubeJsonApiInjectable); request = createKubeJsonApi({ diff --git a/src/common/k8s-api/json-api.ts b/src/common/k8s-api/json-api.ts index ed58b57258..988378641c 100644 --- a/src/common/k8s-api/json-api.ts +++ b/src/common/k8s-api/json-api.ts @@ -105,7 +105,6 @@ export class JsonApi = Js const { query } = params ?? {}; if (query && Object.keys(query).length > 0) { - console.log(query); const queryString = stringify(query as unknown as QueryParams); reqUrl += (reqUrl.includes("?") ? "&" : "?") + queryString; @@ -173,7 +172,6 @@ export class JsonApi = Js } if (query && Object.keys(query).length > 0) { - console.log(query); const queryString = stringify(query as unknown as QueryParams); reqUrl += (reqUrl.includes("?") ? "&" : "?") + queryString;