-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add console e2e test into vdp #148
Conversation
2614722
to
55a61db
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The integration-test will be blocked by Serving HTML report at http://localhost:9323. Press Ctrl+C to quit.
Does playwright provide some sort of flag to bypass this?
Running 141 tests using 1 worker
1) [chromium] › pipeline.spec.ts:216:3 › Async pipeline with new source, destination and local model › should create async pipeline
Test timeout of 60000ms exceeded.
locator.fill: Target closed
=========================== logs ===========================
waiting for selector "input#id"
============================================================
291 |
292 | // Should input destination id
> 293 | await destinationIdField.fill(destinationId);
| ^
294 |
295 | // Should select destination type - Scylla
296 | const keyspaceField = page.locator("input#keyspace");
at /Users/Pinglin/Workspace/instill/vdp/dev/console/integration-test/pipeline.spec.ts:293:30
at /Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/workerRunner.js:426:9
at TestInfoImpl._runFn (/Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/testInfo.js:166:7)
at /Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/workerRunner.js:376:26
at TimeoutManager.runWithTimeout (/Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/timeoutManager.js:73:7)
at TestInfoImpl._runWithTimeout (/Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/testInfo.js:154:26)
at WorkerRunner._runTest (/Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/workerRunner.js:356:5)
at WorkerRunner.runTestGroup (/Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/workerRunner.js:218:11)
at process.<anonymous> (/Users/Pinglin/Workspace/instill/vdp/dev/console/node_modules/@playwright/test/lib/worker.js:88:5)
Pending operations:
- locator.fill at integration-test/pipeline.spec.ts:293:30
Slow test file: [chromium] › pipeline.spec.ts (1m)
Slow test file: [chromium] › model.spec.ts (56s)
Slow test file: [webkit] › model.spec.ts (49s)
Slow test file: [firefox] › model.spec.ts (46s)
Slow test file: [firefox] › pipeline.spec.ts (22s)
Consider splitting slow test files to speed up parallel execution
1 flaky
[chromium] › pipeline.spec.ts:216:3 › Async pipeline with new source, destination and local model › should create async pipeline
140 passed (6m)
Serving HTML report at http://localhost:9323. Press Ctrl+C to quit.
Makefile
Outdated
@@ -90,7 +90,9 @@ doc: ## Run Redoc for OpenAPI spec at http://localhost:3001 | |||
.PHONY: integration-test | |||
integration-test: ## Run integration test for all dev repositories | |||
@make build PROFILE=all | |||
@make dev PROFILE=all | |||
sed 's/CFG_SERVER_PORT: 8083/CFG_SERVER_PORT: 8083\n CFG_SERVER_ITMODE: "true"/g' docker-compose-dev.yml > /tmp/docker-compose-integration-test.yml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sed 's/CFG_SERVER_PORT: 8083/CFG_SERVER_PORT: 8083\n CFG_SERVER_ITMODE: "true"/g' docker-compose-dev.yml > /tmp/docker-compose-integration-test.yml | |
@sed 's/CFG_SERVER_PORT: 8083/CFG_SERVER_PORT: 8083\n CFG_SERVER_ITMODE: "true"/g' docker-compose-dev.yml > /tmp/docker-compose-integration-test.yml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please put @rm /tmp/docker-compose-integration-test.yml
after @make down
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Playwright will output very simple result now~
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks the console integration test doesn't clean up the created connectors before leaving. This will cause pipeline-backend integration test to fail.
█ setup
█ Connector Backend API: Create a http source connector
✗ POST /v1alpha/source-connectors response status for creating HTTP source connector 201
↳ 0% — ✓ 0 / ✗ 1
█ Connector Backend API: Create a http destination connector
✗ POST /v1alpha/destination-connectors response status for creating HTTP destination connector 201
↳ 0% — ✓ 0 / ✗ 1
I would consider using slowMo mode too for the destination test. The reason behind this is when creating an Async destination there are too many fields that will only show up after you select some option and it all takes time to render. But playwright is too quick to operate this action. The error tells us Playwright found out the element is actionable but it's actually still in a loading state. Even if it scrolls through it into the view the button is still not clickable or it didn't even successfully get scrolled. |
This PR further stabilize the integration-test and clean up connectors after each test. |
connector-backend errors
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
🤖 I have created a release *beep* *boop* --- ## Product Updates ### Announcement 📣 * VDP is officially renamed to `Versatile Data Pipeline`. We realise that as a general ETL infrastructure, VDP is capable of processing all kinds of unstructured data, and we should not limit its usage to only visual data. That's why we replace the word Visual with Versatile. Besides, the term Data Preparation is a bit misleading, users often think it has something to do with data labelling or cleaning. The term Data Pipeline is definitely more precise to capture the core concept of VDP. ### Features ✨ * support new task Instance segmentation. Check out the [Streamlit example](https://github.com/instill-ai/vdp/tree/main/examples/streamlit/instance_segmentation) ## VDP ([0.3.0-alpha](v0.2.6-alpha...v0.3.0-alpha)) ### Features * support Instance segmentation task [0476f59](0476f59) * add console e2e test into vdp ([#148](#148)) ([a779a11](a779a11)) * add instance segmentation example ([#167](#167)) ### Bug Fixes * fix wrong triton environment when deploying HuggingFace models ([#150](#150)) ([b2fda36](b2fda36)) * use COCO RLE format for instance segmentation ([4d10e46](4d10e46)) * update model output protocol ([e6ea88d](e6ea88d)) ## Pipeline-backend ([0.9.3-alpha](https://github.com/instill-ai/pipeline-backend/releases/tag/v0.9.3-alpha)) ### Bug Fixes * fix pipeline trigger model hanging (instill-ai/pipeline-backend#80) ([7ba58e5](instill-ai/pipeline-backend@7ba58e5)) ## Connector-backend ([0.7.2-alpha](https://github.com/instill-ai/connector-backend/releases/tag/v0.7.2-alpha)) ### Bug Fixes * fix connector empty description update ([0bc3086](instill-ai/connector-backend@0bc3086)) ## Model-backend ([0.10.0-alpha](https://github.com/instill-ai/model-backend/releases/tag/v0.10.0-alpha)) ### Features * support instance segmentation task (instill-ai/model-backend#183) ([d28cfdc](instill-ai/model-backend@d28cfdc)) * support async deploy and undeploy model instance (instill-ai/model-backend#192) ([ed36dc7](instill-ai/model-backend@ed36dc7)) * support semantic segmentation (instill-ai/model-backend#203) ([f22262c](instill-ai/model-backend@f22262c)) ### Bug Fixes * allow updating emtpy description for a model (instill-ai/model-backend#177) ([100ec84](instill-ai/model-backend@100ec84)) * HuggingFace batching bug in preprocess model ([b1582e8](instill-ai/model-backend@b1582e8)) * model instance state update to unspecified state (instill-ai/model-backend#206) ([14c87d5](instill-ai/model-backend@14c87d5)) * panic error with nil object (instill-ai/model-backend#208) ([a342113](instill-ai/model-backend@a342113)) ## Console ### Features * extend the time span of our user cookie (instill-ai/console#289) ([76a6f99](instill-ai/console@76a6f99)) * finish integration test and make it stable (instill-ai/console#281) ([3fd8d21](instill-ai/console@3fd8d21)) * replace prism.js with code-hike (instill-ai/console#292) ([cb61708](instill-ai/console@cb61708)) * unify the gap between elements in every table (instill-ai/console#291) ([e743820](instill-ai/console@e743820)) * update console request URL according to new protobuf (instill-ai/console#287) ([fa7ecc3](instill-ai/console@fa7ecc3)) * add hg model id field at model_instance page (instill-ai/console#300) ([31a6eab](instill-ai/console@31a6eab)) * cleanup connector after test (instill-ai/console#295) ([f9c8e4c](instill-ai/console@f9c8e4c)) * disable html report (instill-ai/console#297) ([689f50d](instill-ai/console@689f50d)) * enhance the warning of the resource id field (instill-ai/console#303) ([6c4aa4f](instill-ai/console@6c4aa4f)) * make playwright output dot on CI (instill-ai/console#293) ([e5c2958](instill-ai/console@e5c2958)) * support model-backend async long run operation (instill-ai/console#309) ([f795ce8](instill-ai/console@f795ce8)) * update e2e test (instill-ai/console#313) ([88bf0cd](instill-ai/console@88bf0cd)) update how we test model detail page (instill-ai/console#310) ([04c83a1](instill-ai/console@04c83a1)) * wipe out all data after test (instill-ai/console#296) ([e4085dd](instill-ai/console@e4085dd)) ### Bug Fixes * fix pipeline e2e not stable (instill-ai/console#285) ([a26e599](instill-ai/console@a26e599)) * fix set-cookie api route issue due to wrong domain name (instill-ai/console#284) ([c3efcdd](instill-ai/console@c3efcdd)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
Because
This commit
co-author: @Phelan164