KubernetesFanOutHandler surfaces title

Signed-off-by: Jamie Klassen <jamie.klassen@broadcom.com>
This commit is contained in:
Jamie Klassen
2024-01-22 11:35:28 -05:00
parent a643af8082
commit 3b3d549a5f
3 changed files with 20 additions and 13 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-kubernetes-backend': patch
---
Responses from the `/api/kubernetes/services/:serviceId` endpoint now include the cluster title.
@@ -29,6 +29,7 @@ import { rest } from 'msw';
import { setupServer } from 'msw/node';
import { setupRequestMockHandlers } from '@backstage/backend-test-utils';
import {
FetchResponse,
KubernetesRequestAuth,
ObjectsByEntityResponse,
} from '@backstage/plugin-kubernetes-common';
@@ -104,7 +105,7 @@ describe('KubernetesFanOutHandler', () => {
],
};
const mockClusterResourceMap = {
const mockClusterResourceMap: Record<string, FetchResponse[]> = {
'test-cluster': [
{
resources: [
@@ -358,17 +359,16 @@ describe('KubernetesFanOutHandler', () => {
describe('getKubernetesObjectsByEntity', () => {
it('retrieve objects for one cluster', async () => {
getClustersByEntity.mockImplementation(() =>
Promise.resolve({
clusters: [
{
name: 'test-cluster',
url: '',
authMetadata: {},
},
],
}),
);
getClustersByEntity.mockResolvedValue({
clusters: [
{
name: 'test-cluster',
title: 'cluster-title',
url: '',
authMetadata: {},
},
],
});
sut = getKubernetesFanOutHandler([]);
@@ -386,11 +386,12 @@ describe('KubernetesFanOutHandler', () => {
new Set(['ns-test-component-test-cluster']),
expect.anything(),
);
expect(result).toStrictEqual({
expect(result).toStrictEqual<ObjectsByEntityResponse>({
items: [
{
cluster: {
name: 'test-cluster',
title: 'cluster-title',
},
errors: [],
podMetrics: [POD_METRICS_FIXTURE],
@@ -335,6 +335,7 @@ export class KubernetesFanOutHandler {
const objects: ClusterObjects = {
cluster: {
name: clusterDetails.name,
...(clusterDetails.title && { title: clusterDetails.title }),
},
podMetrics: toClientSafePodMetrics(metrics),
resources: result.responses,