Skip to content

Commit

Permalink
Address review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
jeff-phillips-18 committed Mar 27, 2020
1 parent d526bc9 commit 1f14278
Show file tree
Hide file tree
Showing 18 changed files with 165 additions and 48 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -174,4 +174,124 @@ describe('TransformResourceData', () => {
expect(element).not.toHaveProperties([...podKeys, 'current', 'previous']);
});
});

it('should return only operator backed deployment config items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
true,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
false,
);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed deployment config items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
true,
);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createDeploymentConfigItems(
sampleDeploymentConfigs.data,
false,
);
expect(transformedData).toHaveLength(sampleDeploymentConfigs.data.length);
});

it('should return only operator backed deployment items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data);
expect(transformedData).toHaveLength(sampleDeployments.data.length);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, true);
expect(transformedData).toHaveLength(sampleDeployments.data.length);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, false);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed deployment items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data);
expect(transformedData).toHaveLength(sampleDeployments.data.length);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, true);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createDeploymentItems(sampleDeployments.data, false);
expect(transformedData).toHaveLength(sampleDeployments.data.length);
});

it('should return only operator backed daemon set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, true);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, false);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed daemon set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, true);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createDaemonSetItems(sampleDaemonSets.data, false);
expect(transformedData).toHaveLength(sampleDaemonSets.data.length);
});

it('should return only operator backed stateful set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(true);

let transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, true);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, false);
expect(transformedData).toHaveLength(0);
});

it('should return only non operator backed stateful set items as specified', () => {
spyOn(transformResourceData, 'isOperatorBackedService').and.returnValue(false);

let transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, true);
expect(transformedData).toHaveLength(0);

transformedData = transformResourceData.createStatefulSetItems(sampleStatefulSets.data, false);
expect(transformedData).toHaveLength(sampleStatefulSets.data.length);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import {
} from '@console/topology';
import { RootState } from '@console/internal/redux';
import { useAddToProjectAccess } from '../../utils/useAddToProjectAccess';
import { ALLOW_SERVICE_BINDING } from '../../const';
import { getActiveApplication } from '@console/internal/reducers/ui';
import KnativeComponentFactory from '@console/knative-plugin/src/topology/knativeComponentFactory';
import TopologySideBar from './TopologySideBar';
Expand All @@ -46,6 +45,7 @@ import { TYPE_HELM_RELEASE } from './helm/components/const';
import { HelmComponentFactory } from './helm/components/helmComponentFactory';
import { TYPE_OPERATOR_BACKED_SERVICE } from './operators/components/const';
import { OperatorsComponentFactory } from './operators/components/operatorsComponentFactory';
import { getServiceBindingStatus } from './topology-utils';

interface StateProps {
filters: TopologyFilters;
Expand Down Expand Up @@ -310,8 +310,6 @@ const Topology: React.FC<TopologyProps> = ({
);
};

const getServiceBindingStatus = ({ FLAGS }: RootState): boolean => FLAGS.get(ALLOW_SERVICE_BINDING);

const TopologyStateToProps = (state: RootState): StateProps => {
return {
filters: getTopologyFilters(state),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ import { RootState } from '@console/internal/redux';
import { safeLoadAll } from 'js-yaml';
import { ServiceBindingRequestModel } from '../../models';
import { transformTopologyData } from './data-transforms/data-transformer';
import { allowedResources, getHelmReleaseKey } from './topology-utils';
import { allowedResources, getHelmReleaseKey, getServiceBindingStatus } from './topology-utils';
import { TopologyDataModel, TopologyDataResources, TrafficData } from './topology-types';
import { HelmReleaseResourcesMap } from '../helm/helm-types';
import { ALLOW_SERVICE_BINDING } from '../../const';

export interface RenderProps {
data?: TopologyDataModel;
Expand All @@ -31,9 +30,9 @@ export interface ControllerProps {
utils: Function[];
loaded?: boolean;
loadError?: any;
namespace: string;
resources?: TopologyDataResources;
render(RenderProps): React.ReactElement;
render(props: RenderProps): React.ReactElement;
namespace: string;
serviceBinding: boolean;
trafficData?: TrafficData;
}
Expand Down Expand Up @@ -96,7 +95,7 @@ const Controller: React.FC<ControllerProps> = ({
}, [namespace, resources, resources.secrets, secretCount, setHelmResourcesMap]);

return render({
loaded: loaded && helmResourcesMap,
loaded: loaded && !!helmResourcesMap,
loadError,
namespace,
serviceBinding,
Expand Down Expand Up @@ -136,8 +135,6 @@ export const TopologyDataController: React.FC<TopologyDataControllerProps> = ({
);
};

const getServiceBindingStatus = ({ FLAGS }: RootState): boolean => FLAGS.get(ALLOW_SERVICE_BINDING);

const DataControllerStateToProps = (state: RootState) => {
const resourceList = plugins.registry
.getOverviewCRDs()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@ import { KebabOption } from '@console/internal/components/utils/kebab';
import { modelFor, referenceFor } from '@console/internal/module/k8s';
import { asAccessReview } from '@console/internal/components/utils';
import { Edge, Node } from '@console/topology';
import { getTopologyResourceObject } from '../topology-utils';
import { removeConnection } from '../components/removeConnection';
import { TYPE_CONNECTS_TO, TYPE_SERVICE_BINDING, TYPE_TRAFFIC_CONNECTOR } from '../components/const';
import { moveConnectionModal } from '../components/MoveConnectionModal';
import {
TYPE_EVENT_SOURCE,
TYPE_EVENT_SOURCE_LINK,
TYPE_KNATIVE_REVISION,
TYPE_KNATIVE_SERVICE,
TYPE_REVISION_TRAFFIC,
} from '@console/knative-plugin/src/topology/const';
import { getTopologyResourceObject } from '../topology-utils';
import { removeConnection } from '../components/removeConnection';
import {
TYPE_CONNECTS_TO,
TYPE_SERVICE_BINDING,
TYPE_TRAFFIC_CONNECTOR,
} from '../components/const';
import { moveConnectionModal } from '../components/MoveConnectionModal';

const moveConnection = (edge: Edge, availableTargets: Node[]) => {
const resourceObj = getTopologyResourceObject(edge.getSource().getData());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import FormSection from '../../import/section/FormSection';
import { TYPE_EVENT_SOURCE_LINK } from '@console/knative-plugin/src/topology/const';
import { createSinkConnection } from '@console/knative-plugin/src/topology/knative-topology-utils';
import { RootState } from '@console/internal/redux';
import { ALLOW_SERVICE_BINDING } from '../../../const';
import { getServiceBindingStatus } from '../topology-utils';
import { TYPE_CONNECTS_TO, TYPE_SERVICE_BINDING } from './const';
import { createConnection } from './createConnection';

Expand Down Expand Up @@ -158,8 +158,6 @@ class MoveConnectionModal extends PromiseComponent<
}
}

const getServiceBindingStatus = ({ FLAGS }: RootState): boolean => FLAGS.get(ALLOW_SERVICE_BINDING);

const mapStateToProps = (state: RootState): StateProps => {
return {
serviceBinding: getServiceBindingStatus(state),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@ type ConnectsToProps = {
WithTargetDragProps &
WithRemoveConnectorProps;

const ObservedConnectsTo: React.FC<ConnectsToProps> = ({ element, targetDragRef, children, ...others }) => {
const ObservedConnectsTo: React.FC<ConnectsToProps> = ({
element,
targetDragRef,
children,
...others
}) => {
const childEdges = element.getChildren();
const sourceData =
childEdges?.length > 0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@import '../../../../../../../node_modules/@patternfly/patternfly/sass-utilities/colors';
@import '~@patternfly/patternfly/sass-utilities/colors';
@import '../../topology-utils';

.odc-application-group {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,12 @@ import {
import { RootState } from '@console/internal/redux';
import { Tooltip, TooltipPosition } from '@patternfly/react-core';
import { ExternalLinkAltIcon } from '@patternfly/react-icons';
import { ALLOW_SERVICE_BINDING } from '../../../../const';
import { routeDecoratorIcon } from '../../../import/render-utils';
import { Decorator } from './Decorator';
import PodSet from './PodSet';
import BuildDecorator from './build-decorators/BuildDecorator';
import { BaseNode } from './BaseNode';
import { getCheURL, getEditURL } from '../../topology-utils';
import { getCheURL, getEditURL, getServiceBindingStatus } from '../../topology-utils';
import { useDisplayFilters } from '../../filters/useDisplayFilters';

interface StateProps {
Expand Down Expand Up @@ -137,8 +136,6 @@ const ObservedWorkloadNode: React.FC<WorkloadNodeProps> = ({
);
};

const getServiceBindingStatus = ({ FLAGS }: RootState): boolean => FLAGS.get(ALLOW_SERVICE_BINDING);

const mapStateToProps = (state: RootState): StateProps => {
const consoleLinks = state.UI.get('consoleLinks');
return {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { EdgeModel, Model, NodeModel, createAggregateEdges } from '@console/topology';
import { TopologyFilters } from '../filters/filter-utils';
import { TopologyDataModel, TopologyDataObject, Node, Group } from '../topology-types';
import { TopologyDataModel, TopologyDataObject, Node } from '../topology-types';
import {
TYPE_APPLICATION_GROUP,
TYPE_AGGREGATE_EDGE,
Expand All @@ -23,17 +23,7 @@ import {
getOperatorGroupModel,
getOperatorNodeModel,
} from '../operators/operators-topology-model';

export const dataObjectFromModel = (node: Node | Group): TopologyDataObject => {
return {
id: node.id,
name: node.name,
type: node.type,
resources: null,
operatorBackedService: false,
data: null,
};
};
import { dataObjectFromModel } from './transform-utils';

const getApplicationGroupForNode = (node: Node, groups: NodeModel[]): NodeModel => {
const group = groups.find((g) => g.children.includes(node.id));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,17 @@ import {
} from '../components/const';
import { getRoutesURL } from '../topology-utils';

export const dataObjectFromModel = (node: Node | Group): TopologyDataObject => {
return {
id: node.id,
name: node.name,
type: node.type,
resources: null,
operatorBackedService: false,
data: null,
};
};

/**
* create instance of TransformResourceData, return object containing all methods
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import {
import { TYPE_HELM_RELEASE, TYPE_HELM_WORKLOAD } from './components/const';
import { HelmReleaseResourcesMap } from '../../helm/helm-types';
import { getHelmReleaseKey } from '../topology-utils';
import { dataObjectFromModel } from '../data-transforms/topology-model';
import {
dataObjectFromModel,
addToTopologyDataModel,
createInstanceForResource,
createTopologyNodeData,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
HELM_GROUP_HEIGHT,
HELM_GROUP_PADDING,
} from './components/const';
import { dataObjectFromModel } from '../data-transforms';
import { dataObjectFromModel } from '../data-transforms/transform-utils';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
export const getHelmGroupModel = (d: Group, model: DataModel, filters: Filters): NodeModel => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { ColaLayout, ColaNode, ColaGroup, ColaLink } from '@console/topology';
import { getColaLayoutConstraints } from '@console/knative-plugin/src/topology/layouts/getColaLayoutConstraints';
import { layoutConstraints } from '@console/knative-plugin/src/topology/layouts/layoutConstraints';

export default class TopologyColaLayout extends ColaLayout {
protected getConstraints(nodes: ColaNode[], groups: ColaGroup[], edges: ColaLink[]): any[] {
return getColaLayoutConstraints(nodes, groups, edges);
return layoutConstraints(nodes, groups, edges);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ import {
withEditReviewAccess,
AbstractSBRComponentFactory,
} from '../../components';
import {
TYPE_OPERATOR_BACKED_SERVICE,
TYPE_OPERATOR_WORKLOAD,
} from './const';
import { TYPE_OPERATOR_BACKED_SERVICE, TYPE_OPERATOR_WORKLOAD } from './const';
import OperatorBackedService from './OperatorBackedService';

class OperatorsComponentFactory extends AbstractSBRComponentFactory {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
OPERATOR_GROUP_HEIGHT,
OPERATOR_GROUP_PADDING,
} from './components/const';
import { dataObjectFromModel } from '../data-transforms';
import { dataObjectFromModel } from '../data-transforms/transform-utils';
import { NodeShape } from '@console/topology/src/types';

// eslint-disable-next-line @typescript-eslint/no-unused-vars
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ import {
WithDragNodeProps,
createSvgIdUrl,
} from '@console/topology';
import { getKnativeEventSourceIcon } from '@console/knative-plugin';
import SvgBoxedText from '@console/dev-console/src/components/svg/SvgBoxedText';
import {
NodeShadows,
NODE_SHADOW_FILTER_ID_HOVER,
NODE_SHADOW_FILTER_ID,
useSearchFilter,
} from '@console/dev-console/src/components/topology';
import { getKnativeEventSourceIcon } from '../../../utils/get-knative-icon';

import './EventSource.scss';

Expand Down

0 comments on commit 1f14278

Please sign in to comment.