Skip to content

Commit

Permalink
Add deployment to global view and fix status
Browse files Browse the repository at this point in the history
  • Loading branch information
lucferbux committed Nov 10, 2023
1 parent 4ccc506 commit 406cca4
Show file tree
Hide file tree
Showing 20 changed files with 626 additions and 371 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,20 @@ test('Empty State No Serving Runtime', async ({ page }) => {
await expect(page.getByRole('button', { name: 'Go to the Projects page' })).toBeTruthy();
});

// test('Empty State No Inference Service', async ({ page }) => {
// await page.goto(
// navigateToStory('pages-modelserving-modelservingglobal', 'empty-state-no-inference-service'),
// );
test('Empty State No Inference Service', async ({ page }) => {
await page.goto(
navigateToStory('pages-modelserving-modelservingglobal', 'empty-state-no-inference-services'),
);

// // wait for page to load
// await page.waitForSelector('text=No deployed models');
// wait for page to load
await page.waitForSelector('text=No deployed models');

// // Test that the button is enabled
// await page.getByRole('button', { name: 'Deploy model' }).click();
// Test that the button is enabled
await page.getByRole('button', { name: 'Deploy model' }).click();

// // test that you can not submit on empty
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeDisabled();
// });
// test that you can not submit on empty
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeDisabled();
});

test('Delete model', async ({ page }) => {
await page.goto(navigateToStory('pages-modelserving-modelservingglobal', 'delete-model'));
Expand Down Expand Up @@ -80,85 +80,85 @@ test('Edit model', async ({ page }) => {
await expect(page.getByRole('button', { name: 'Deploy', exact: true })).toBeEnabled();
});

// test('Create model', async ({ page }) => {
// await page.goto(navigateToStory('pages-modelserving-modelservingglobal', 'deploy-model'));

// // wait for page to load
// await page.waitForSelector('text=Deployed models');

// // test that you can not submit on empty
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeDisabled();

// // test filling in minimum required fields
// await page.locator('#existing-project-selection').click();
// await page.getByRole('option', { name: 'Test Project' }).click();
// await page.getByLabel('Model Name *').fill('Test Name');
// await page.locator('#inference-service-model-selection').click();
// await page.getByRole('option', { name: 'ovms' }).click();
// await expect(page.getByText('Model framework (name - version)')).toBeTruthy();
// await page.locator('#inference-service-framework-selection').click();
// await page.getByRole('option', { name: 'onnx - 1' }).click();
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeDisabled();
// await page
// .getByRole('group', { name: 'Model location' })
// .getByRole('button', { name: 'Options menu' })
// .click();
// await page.getByRole('option', { name: 'Test Secret' }).click();
// await page.getByLabel('Path').fill('test-model/');
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeEnabled();
// await page.getByText('New data connection').click();
// await page.getByLabel('Path').fill('');
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeDisabled();
// await page.getByLabel('Path').fill('/');
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeDisabled();
// await page.getByRole('textbox', { name: 'Field list Name' }).fill('Test Name');
// await page.getByRole('textbox', { name: 'Field list AWS_ACCESS_KEY_ID' }).fill('test-key');
// await page
// .getByRole('textbox', { name: 'Field list AWS_SECRET_ACCESS_KEY' })
// .fill('test-secret-key');
// await page.getByRole('textbox', { name: 'Field list AWS_S3_ENDPOINT' }).fill('test-endpoint');
// await page.getByRole('textbox', { name: 'Field list AWS_S3_BUCKET' }).fill('test-bucket');
// await page.getByLabel('Path').fill('test-model/');
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeEnabled();
// });

// test('Create model error', async ({ page }) => {
// await page.goto(navigateToStory('pages-modelserving-modelservingglobal', 'deploy-model'));

// // wait for page to load
// await page.waitForSelector('text=Deployed models');

// // test that you can not submit on empty
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeDisabled();

// // test filling in minimum required fields
// await page.locator('#existing-project-selection').click();
// await page.getByRole('option', { name: 'Test Project' }).click();
// await page.getByLabel('Model Name *').fill('trigger-error');
// await page.locator('#inference-service-model-selection').click();
// await page.getByRole('option', { name: 'ovms' }).click();
// await expect(page.getByText('Model framework (name - version)')).toBeTruthy();
// await page.locator('#inference-service-framework-selection').click();
// await page.getByRole('option', { name: 'onnx - 1' }).click();
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeDisabled();
// await page
// .getByRole('group', { name: 'Model location' })
// .getByRole('button', { name: 'Options menu' })
// .click();
// await page.getByRole('option', { name: 'Test Secret' }).click();
// await page.getByLabel('Path').fill('test-model/');
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeEnabled();
// await page.getByLabel('Path').fill('test-model/');
// await expect(await page.getByRole('button', { name: 'Deploy' })).toBeEnabled();

// // Submit and check the invalid error message
// await page.getByRole('button', { name: 'Deploy' }).click();
// await page.waitForSelector('text=Error creating model server');

// // Close the modal
// await page.getByRole('button', { name: 'Cancel' }).click();

// // Check that the error message is gone
// await page.getByRole('button', { name: 'Deploy model' }).click();
// expect(await page.isVisible('text=Error creating model server')).toBeFalsy();
// });
test('Create model', async ({ page }) => {
await page.goto(
navigateToStory('pages-modelserving-modelservingglobal', 'deploy-model-model-mesh'),
);

// wait for page to load
await page.waitForSelector('text=Deploy model');

// test that you can not submit on empty
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeDisabled();

// test filling in minimum required fields
await page.getByLabel('Model Name *').fill('Test Name');
await page.locator('#inference-service-model-selection').click();
await page.getByRole('option', { name: 'ovms' }).click();
await expect(page.getByText('Model framework (name - version)')).toBeTruthy();
await page.locator('#inference-service-framework-selection').click();
await page.getByRole('option', { name: 'onnx - 1' }).click();
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeDisabled();
await page
.getByRole('group', { name: 'Model location' })
.getByRole('button', { name: 'Options menu' })
.click();
await page.getByRole('option', { name: 'Test Secret' }).click();
await page.getByLabel('Path').fill('test-model/');
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeEnabled();
await page.getByText('New data connection').click();
await page.getByLabel('Path').fill('');
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeDisabled();
await page.getByLabel('Path').fill('/');
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeDisabled();
await page.getByRole('textbox', { name: 'Field list Name' }).fill('Test Name');
await page.getByRole('textbox', { name: 'Field list AWS_ACCESS_KEY_ID' }).fill('test-key');
await page
.getByRole('textbox', { name: 'Field list AWS_SECRET_ACCESS_KEY' })
.fill('test-secret-key');
await page.getByRole('textbox', { name: 'Field list AWS_S3_ENDPOINT' }).fill('test-endpoint');
await page.getByRole('textbox', { name: 'Field list AWS_S3_BUCKET' }).fill('test-bucket');
await page.getByLabel('Path').fill('test-model/');
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeEnabled();
});

test('Create model error', async ({ page }) => {
await page.goto(
navigateToStory('pages-modelserving-modelservingglobal', 'deploy-model-model-mesh'),
);

// wait for page to load
await page.waitForSelector('text=Deploy model');

// test that you can not submit on empty
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeDisabled();

// test filling in minimum required fields
await page.getByLabel('Model Name *').fill('trigger-error');
await page.locator('#inference-service-model-selection').click();
await page.getByRole('option', { name: 'ovms' }).click();
await expect(page.getByText('Model framework (name - version)')).toBeTruthy();
await page.locator('#inference-service-framework-selection').click();
await page.getByRole('option', { name: 'onnx - 1' }).click();
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeDisabled();
await page
.getByRole('group', { name: 'Model location' })
.getByRole('button', { name: 'Options menu' })
.click();
await page.getByRole('option', { name: 'Test Secret' }).click();
await page.getByLabel('Path').fill('test-model/');
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeEnabled();
await page.getByLabel('Path').fill('test-model/');
await expect(await page.getByRole('button', { name: 'Deploy', exact: true })).toBeEnabled();

// Submit and check the invalid error message
await page.getByRole('button', { name: 'Deploy', exact: true }).click();
await page.waitForSelector('text=Error creating model server');

// Close the modal
await page.getByRole('button', { name: 'Cancel', exact: true }).click();

// Check that the error message is gone
await page.getByRole('button', { name: 'Deploy model', exact: true }).click();
expect(await page.isVisible('text=Error creating model server')).toBeFalsy();
});
Loading

0 comments on commit 406cca4

Please sign in to comment.