Skip to content

Commit

Permalink
Add alert to prefilled modal and some name changes
Browse files Browse the repository at this point in the history
  • Loading branch information
manaswinidas committed Feb 11, 2025
1 parent 44c6eb9 commit 754e35f
Show file tree
Hide file tree
Showing 13 changed files with 199 additions and 308 deletions.
50 changes: 31 additions & 19 deletions frontend/src/concepts/modelRegistry/__tests__/utils.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,8 @@ import {
filterLiveModels,
filterLiveVersions,
getLastCreatedItem,
ObjectStorageFields,
objectStorageFieldsToUri,
uriToObjectStorageFields,
uriToStorageFields,
} from '~/concepts/modelRegistry/utils';
import { RegisteredModel, ModelState, ModelVersion } from '~/concepts/modelRegistry/types';

Expand Down Expand Up @@ -79,54 +78,67 @@ describe('objectStorageFieldsToUri', () => {
});
});

describe('uriToObjectStorageFields', () => {
describe('uriToStorageFields', () => {
it('converts URI to fields with all params present', () => {
const fields = uriToObjectStorageFields(
const fields = uriToStorageFields(
's3://test-bucket/demo-models/flan-t5-small-caikit?endpoint=http%3A%2F%2Fs3.amazonaws.com%2F&defaultRegion=us-east-1',
);
expect(fields).toEqual({
endpoint: 'http://s3.amazonaws.com/',
bucket: 'test-bucket',
region: 'us-east-1',
path: 'demo-models/flan-t5-small-caikit',
} satisfies ObjectStorageFields);
s3Fields: {
endpoint: 'http://s3.amazonaws.com/',
bucket: 'test-bucket',
region: 'us-east-1',
path: 'demo-models/flan-t5-small-caikit',
},
uri: null,
});
});

it('converts URI to fields with region missing', () => {
const fields = uriToObjectStorageFields(
const fields = uriToStorageFields(
's3://test-bucket/demo-models/flan-t5-small-caikit?endpoint=http%3A%2F%2Fs3.amazonaws.com%2F',
);
expect(fields).toEqual({
endpoint: 'http://s3.amazonaws.com/',
bucket: 'test-bucket',
path: 'demo-models/flan-t5-small-caikit',
region: undefined,
} satisfies ObjectStorageFields);
s3Fields: {
endpoint: 'http://s3.amazonaws.com/',
bucket: 'test-bucket',
path: 'demo-models/flan-t5-small-caikit',
region: undefined,
},
uri: null,
});
});

it('falls back to null if endpoint is missing', () => {
const fields = uriToObjectStorageFields('s3://test-bucket/demo-models/flan-t5-small-caikit');
const fields = uriToStorageFields('s3://test-bucket/demo-models/flan-t5-small-caikit');
expect(fields).toBeNull();
});

it('falls back to null if path is missing', () => {
const fields = uriToObjectStorageFields(
const fields = uriToStorageFields(
's3://test-bucket/?endpoint=http%3A%2F%2Fs3.amazonaws.com%2F&defaultRegion=us-east-1',
);
expect(fields).toBeNull();
});

it('falls back to null if bucket is missing', () => {
const fields = uriToObjectStorageFields(
const fields = uriToStorageFields(
's3://?endpoint=http%3A%2F%2Fs3.amazonaws.com%2F&defaultRegion=us-east-1',
);
expect(fields).toBeNull();
});

it('falls back to null if the URI is malformed', () => {
const fields = uriToObjectStorageFields('test-bucket/demo-models/flan-t5-small-caikit');
const fields = uriToStorageFields('test-bucket/demo-models/flan-t5-small-caikit');
expect(fields).toBeNull();
});
it('returns the same URI', () => {
const fields = uriToStorageFields('https://model-repository/folder.zip');
expect(fields).toEqual({
s3Fields: null,
uri: 'https://model-repository/folder.zip',
});
});
});

describe('getLastCreatedItem', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { renderHook } from '@testing-library/react';
import usePrefillDeployModalFromModelRegistry from '~/pages/modelRegistry/screens/RegisteredModels/usePrefillDeployModalFromModelRegistry';
import { ProjectKind } from '~/k8sTypes';
import { RegisteredModelDeployInfo } from '~/pages/modelRegistry/screens/RegisteredModels/useRegisteredModelDeployInfo';
import { mockInferenceServiceModalData } from '~/__mocks__/mockInferenceServiceModalData';
import { DataConnection } from '~/pages/projects/types';
import { Connection } from '~/concepts/connectionTypes/types';
import usePrefillDeployModalFromModelRegistry from '~/pages/modelRegistry/screens/RegisteredModels/usePrefillDeployModalFromModelRegistry';

describe('usePrefillDeployModalFromModelRegistry', () => {
const mockProjectContext = {
Expand All @@ -15,7 +15,7 @@ describe('usePrefillDeployModalFromModelRegistry', () => {
namespace: 'test-namespace',
},
} as ProjectKind,
dataConnections: [] as DataConnection[],
connections: [] as Connection[],
};

const data = mockInferenceServiceModalData({});
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/concepts/modelRegistry/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const objectStorageFieldsToUri = (fields: ObjectStorageFields): string |
return `s3://${bucket}/${path}?${searchParams.toString()}`;
};

export const uriToObjectStorageFields = (
export const uriToStorageFields = (
uri: string,
): { s3Fields: ObjectStorageFields | null; uri: string | null } | null => {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { getLabels, mergeUpdatedLabels } from '~/pages/modelRegistry/screens/uti
import useModelArtifactsByVersionId from '~/concepts/modelRegistry/apiHooks/useModelArtifactsByVersionId';
import { ModelRegistryContext } from '~/concepts/modelRegistry/context/ModelRegistryContext';
import ModelTimestamp from '~/pages/modelRegistry/screens/components/ModelTimestamp';
import { uriToObjectStorageFields } from '~/concepts/modelRegistry/utils';
import { uriToStorageFields } from '~/concepts/modelRegistry/utils';
import InlineTruncatedClipboardCopy from '~/components/InlineTruncatedClipboardCopy';
import {
bumpBothTimestamps,
Expand All @@ -42,7 +42,7 @@ const ModelVersionDetailsView: React.FC<ModelVersionDetailsViewProps> = ({

const modelArtifact = modelArtifacts.items.length ? modelArtifacts.items[0] : null;
const { apiState } = React.useContext(ModelRegistryContext);
const storageFields = uriToObjectStorageFields(modelArtifact?.uri || '');
const storageFields = uriToStorageFields(modelArtifact?.uri || '');

if (!modelArtifactsLoaded) {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { RegisteredModel, ModelVersion, ModelArtifact } from '~/concepts/modelRe
import {
filterLiveVersions,
getLastCreatedItem,
uriToObjectStorageFields,
uriToStorageFields,
} from '~/concepts/modelRegistry/utils';
import { UpdateObjectAtPropAndValue } from '~/pages/projects/types';
import useModelArtifactsByVersionId from '~/concepts/modelRegistry/apiHooks/useModelArtifactsByVersionId';
Expand Down Expand Up @@ -53,8 +53,7 @@ export const usePrefillRegisterVersionFields = ({
setData('sourceModelFormat', latestArtifact.modelFormatName || '');
setData('sourceModelFormatVersion', latestArtifact.modelFormatVersion || '');

const decodedUri =
(latestArtifact.uri && uriToObjectStorageFields(latestArtifact.uri)) || null;
const decodedUri = (latestArtifact.uri && uriToStorageFields(latestArtifact.uri)) || null;

setData('modelLocationType', ModelLocationType.ObjectStorage);
if (decodedUri?.s3Fields) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import { Connection } from '~/concepts/connectionTypes/types';
import { convertObjectStorageSecretData } from '~/concepts/connectionTypes/utils';
import { ObjectStorageFields, uriToObjectStorageFields } from '~/concepts/modelRegistry/utils';
import { ObjectStorageFields, uriToStorageFields } from '~/concepts/modelRegistry/utils';
import { LabeledConnection } from '~/pages/modelServing/screens/types';
import { AwsKeys } from '~/pages/projects/dataConnections/const';

Expand All @@ -19,7 +19,7 @@ const useLabeledConnections = (
storageFields: null,
};
}
const storageFields = uriToObjectStorageFields(modelArtifactUri);
const storageFields = uriToStorageFields(modelArtifactUri);
if (!storageFields) {
return {
connections: connections.map((connection) => ({ connection })),
Expand Down

This file was deleted.

This file was deleted.

Loading

0 comments on commit 754e35f

Please sign in to comment.