Skip to content

Commit

Permalink
Remove olm package dependency from shared package
Browse files Browse the repository at this point in the history
  • Loading branch information
rohitkrai03 committed Jan 3, 2020
1 parent 0c6f60b commit 0799c6a
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 18 deletions.
@@ -1,19 +1,17 @@
import * as _ from 'lodash';
import { sampleClusterServiceVersions } from '@console/dev-console/src/components/topology/__tests__/topology-test-data';
import { ClusterServiceVersionKind } from '@console/operator-lifecycle-manager';
import * as operatorLogo from '../../images/operator.svg';
import { getImageForCSVIcon } from '../icon-utils';
import { mockCSVIcon } from '../__mocks__/mock-csv-icon';

describe('Icon Utils', () => {
it('should return icon from csv data', () => {
const mockCSV = _.cloneDeep(sampleClusterServiceVersions.data[0]) as ClusterServiceVersionKind;
expect(getImageForCSVIcon(mockCSV)).toBe(mockCSVIcon);
const mockCSV = _.cloneDeep(sampleClusterServiceVersions.data[0]);
const icon = _.get(mockCSV, 'spec.icon.0');
expect(getImageForCSVIcon(icon)).toBe(mockCSVIcon);
});

it('should return operator icon if csv has no icon data', () => {
const mockCSV = _.cloneDeep(sampleClusterServiceVersions.data[0]) as ClusterServiceVersionKind;
mockCSV.spec.icon = undefined;
expect(getImageForCSVIcon(mockCSV)).toBe(operatorLogo);
expect(getImageForCSVIcon(undefined)).toBe(operatorLogo);
});
});
12 changes: 4 additions & 8 deletions frontend/packages/console-shared/src/utils/icon-utils.ts
@@ -1,11 +1,7 @@
import * as _ from 'lodash';
import {
ClusterServiceVersionKind,
ClusterServiceVersionIcon,
} from '@console/operator-lifecycle-manager';
import * as operatorLogo from '../images/operator.svg';

export const getImageForCSVIcon = (csv: ClusterServiceVersionKind) => {
const icon: ClusterServiceVersionIcon = _.get(csv, 'spec.icon', []);
return !_.isEmpty(icon) ? `data:${icon[0].mediatype};base64,${icon[0].base64data}` : operatorLogo;
type CSVIcon = { base64data: string; mediatype: string };

export const getImageForCSVIcon = (icon: CSVIcon | undefined) => {
return icon ? `data:${icon.mediatype};base64,${icon.base64data}` : operatorLogo;
};
Expand Up @@ -2628,6 +2628,7 @@ Object {
"editUrl": undefined,
"isKnativeResource": false,
"kind": "apps~v1~Deployment",
"showPodCount": undefined,
"url": null,
},
"id": "c73277f2-e85c-477c-a43d-330a5d0b2cf6",
Expand Down
Expand Up @@ -7,7 +7,6 @@ import {
getKnativeServingRoutes,
} from '@console/knative-plugin/src/utils/get-knative-resources';
import { getImageForIconClass } from '@console/internal/components/catalog/catalog-item-icon';
import { ClusterServiceVersionKind } from '@console/operator-lifecycle-manager';
import { WorkloadData, TopologyDataResources } from '../topology-types';
import {
transformTopologyData,
Expand Down Expand Up @@ -260,8 +259,8 @@ describe('TopologyUtils ', () => {
});

it('should return csv icon for operator backed service', () => {
const csvIcon = getImageForCSVIcon(MockResources.clusterServiceVersions
.data[0] as ClusterServiceVersionKind);
const icon = _.get(MockResources.clusterServiceVersions.data[0], 'spec.icon.0');
const csvIcon = getImageForCSVIcon(icon);
const { topologyTransformedData, keys } = getTranformedTopologyData(MockResources, [
'deployments',
]);
Expand Down
Expand Up @@ -136,7 +136,8 @@ export const createTopologyNodeData = (
const operatorBackedService = nodeResourceKind in operatorBackedServiceKindMap;

const csvIcon =
operatorBackedService && getImageForCSVIcon(operatorBackedServiceKindMap[nodeResourceKind]);
operatorBackedService &&
getImageForCSVIcon(_.get(operatorBackedServiceKindMap[nodeResourceKind], 'spec.icon.0'));
const builderImageIcon =
getImageForIconClass(`icon-${deploymentsLabels['app.openshift.io/runtime']}`) ||
getImageForIconClass(`icon-${deploymentsLabels['app.kubernetes.io/name']}`);
Expand Down

0 comments on commit 0799c6a

Please sign in to comment.