mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Cherry pick PRs from 6.4.4 and 6.4.3 (#7309)
* Add support for using release branch targetted PRs (#7291) Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix namespaces not respecting accessible namespace config (#7279) * Fix namespaces not respecting accessible namespace config Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix warning hover text formatting Signed-off-by: Sebastian Malton <sebastian@malton.name> * Log state after refresh accessibility Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix tests Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix NamespaceStore.allowedNamespaces Signed-off-by: Sebastian Malton <sebastian@malton.name> * Remove unnecessary '?' Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add deprecation messages Signed-off-by: Sebastian Malton <sebastian@malton.name> * Move selected_namespaces storage to injectable - And its initialization Signed-off-by: Sebastian Malton <sebastian@malton.name> * Implement contextNamespaces logic in forNamespacedResources Signed-off-by: Sebastian Malton <sebastian@malton.name> * Update snapshot Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix formatting Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix formatting Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix test - This was a side effect of the previous bug fixes where the clusterContext.hasAllSelected was previously erroneously 'false' Signed-off-by: Sebastian Malton <sebastian@malton.name> * Change log level Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix another test suite Signed-off-by: Sebastian Malton <sebastian@malton.name> --------- Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix not showing some non-core kinds (#7303) * Fix not showing some non-core kinds - Specifically if a Kind is not present within the preferredVersion of a group then we don't know that resource exists Signed-off-by: Sebastian Malton <sebastian@malton.name> * Add technical tests Signed-off-by: Sebastian Malton <sebastian@malton.name> --------- Signed-off-by: Sebastian Malton <sebastian@malton.name> --------- Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
1 parent
f69dd6fc8f
commit
0fe4daf8d3
22 files changed
+311
-77
No files matched your search
+10
-1
@@ -28,6 +28,9 @@ import requestHelmChartReadmeInjectable from "../../../common/k8s-api/endpoints/
|
||||
import requestHelmChartValuesInjectable from "../../../common/k8s-api/endpoints/helm-charts.api/request-values.injectable";
|
||||
import type { RequestDetailedHelmRelease } from "../../../renderer/components/+helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
import requestDetailedHelmReleaseInjectable from "../../../renderer/components/+helm-releases/release-details/release-details-model/request-detailed-helm-release.injectable";
|
||||
import type { RequestHelmReleases } from "../../../common/k8s-api/endpoints/helm-releases.api/request-releases.injectable";
|
||||
import requestHelmReleasesInjectable from "../../../common/k8s-api/endpoints/helm-releases.api/request-releases.injectable";
|
||||
import { flushPromises } from "../../../common/test-utils/flush-promises";
|
||||
|
||||
describe("installing helm chart from new tab", () => {
|
||||
let builder: ApplicationBuilder;
|
||||
@@ -37,6 +40,7 @@ describe("installing helm chart from new tab", () => {
|
||||
let requestHelmChartReadmeMock: AsyncFnMock<RequestHelmChartReadme>;
|
||||
let requestHelmChartValuesMock: AsyncFnMock<RequestHelmChartValues>;
|
||||
let requestCreateHelmReleaseMock: AsyncFnMock<RequestCreateHelmRelease>;
|
||||
let requestHelmReleasesMock: AsyncFnMock<RequestHelmReleases>;
|
||||
|
||||
beforeEach(() => {
|
||||
builder = getApplicationBuilder();
|
||||
@@ -49,6 +53,7 @@ describe("installing helm chart from new tab", () => {
|
||||
requestHelmChartReadmeMock = asyncFn();
|
||||
requestHelmChartValuesMock = asyncFn();
|
||||
requestCreateHelmReleaseMock = asyncFn();
|
||||
requestHelmReleasesMock = asyncFn();
|
||||
|
||||
builder.beforeWindowStart((windowDi) => {
|
||||
windowDi.override(directoryForLensLocalStorageInjectable, () => "/some-directory-for-lens-local-storage");
|
||||
@@ -58,6 +63,7 @@ describe("installing helm chart from new tab", () => {
|
||||
windowDi.override(requestHelmChartReadmeInjectable, () => requestHelmChartReadmeMock);
|
||||
windowDi.override(requestHelmChartValuesInjectable, () => requestHelmChartValuesMock);
|
||||
windowDi.override(requestCreateHelmReleaseInjectable, () => requestCreateHelmReleaseMock);
|
||||
windowDi.override(requestHelmReleasesInjectable, () => requestHelmReleasesMock);
|
||||
|
||||
windowDi.override(getRandomInstallChartTabIdInjectable, () =>
|
||||
jest
|
||||
@@ -386,12 +392,15 @@ describe("installing helm chart from new tab", () => {
|
||||
});
|
||||
|
||||
describe("when selected to see the installed release", () => {
|
||||
beforeEach(() => {
|
||||
beforeEach(async () => {
|
||||
const releaseButton = rendered.getByTestId(
|
||||
"show-release-some-release-for-some-first-tab-id",
|
||||
);
|
||||
|
||||
fireEvent.click(releaseButton);
|
||||
|
||||
await flushPromises();
|
||||
await requestHelmReleasesMock.resolve([]);
|
||||
});
|
||||
|
||||
it("renders", () => {
|
||||
|
||||
@@ -78,9 +78,12 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
builder.namespaces.add("some-namespace");
|
||||
builder.namespaces.select("some-namespace");
|
||||
builder.namespaces.add("some-namespace");
|
||||
builder.namespaces.select("some-other-namespace");
|
||||
|
||||
builder.afterWindowStart(() => {
|
||||
builder.namespaces.select("some-namespace");
|
||||
builder.namespaces.select("some-other-namespace");
|
||||
});
|
||||
});
|
||||
|
||||
describe("given application is started", () => {
|
||||
@@ -106,10 +109,9 @@ describe("showing details for helm release", () => {
|
||||
});
|
||||
|
||||
it("calls for releases for each selected namespace", () => {
|
||||
expect(requestHelmReleasesMock.mock.calls).toEqual([
|
||||
["some-namespace"],
|
||||
["some-other-namespace"],
|
||||
]);
|
||||
expect(requestHelmReleasesMock).toBeCalledTimes(2);
|
||||
expect(requestHelmReleasesMock).toBeCalledWith("some-namespace");
|
||||
expect(requestHelmReleasesMock).toBeCalledWith("some-other-namespace");
|
||||
});
|
||||
|
||||
it("shows spinner", () => {
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import assert from "assert";
|
||||
import hostedClusterInjectable from "../../../renderer/cluster-frame-context/hosted-cluster.injectable";
|
||||
import createStorageInjectable from "../../../renderer/utils/create-storage/create-storage.injectable";
|
||||
|
||||
const selectedNamespacesStorageInjectable = getInjectable({
|
||||
id: "selected-namespaces-storage",
|
||||
instantiate: (di) => {
|
||||
const createStorage = di.inject(createStorageInjectable);
|
||||
const cluster = di.inject(hostedClusterInjectable);
|
||||
|
||||
assert(cluster, "selectedNamespacesStorage is only available in certain environments");
|
||||
|
||||
const defaultSelectedNamespaces = cluster.allowedNamespaces.includes("default")
|
||||
? ["default"]
|
||||
: cluster.allowedNamespaces.slice(0, 1);
|
||||
|
||||
return createStorage("selected_namespaces", defaultSelectedNamespaces);
|
||||
},
|
||||
});
|
||||
|
||||
export default selectedNamespacesStorageInjectable;
|
||||
Reference in new issue
Block a user