Skip to content
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

chore: End-to-End Tabular System Test #610

Merged
merged 20 commits into from
Aug 25, 2021
Merged

chore: End-to-End Tabular System Test #610

merged 20 commits into from
Aug 25, 2021

Conversation

vinnysenthil
Copy link
Contributor

Summary of Changes

  • Add a end-to-end test that covers Custom Training and AutoML Tabular CUJ, including:
    • Dataset creation and import
    • Creating and running CustomTrainingJob with inner script and AutoMLTabularTrainingJob
    • Creating and deploying models to two Endpoints
    • Online prediction to both models and checking rough accuracy
  • The addition of another presubmit config to execute nox session system-3.8 for pull requests like this one (editing of system tests)

Fixes b/172263198 🦕

@vinnysenthil vinnysenthil requested a review from a team as a code owner August 12, 2021 15:23
@product-auto-label product-auto-label bot added the api: aiplatform Issues related to the AI Platform API. label Aug 12, 2021
@google-cla google-cla bot added the cla: yes This human has signed the Contributor License Agreement. label Aug 12, 2021
.kokoro/presubmit/system.cfg Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
yield shared_state

@pytest.fixture()
def prepare_staging_bucket(self, shared_state):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like it would be more reusable to create a base class that includes all these fixtures, if pytest support this. It would make creating new tests avoid this boilerplate.

Separating the creation of the bucket and uploading of the test dataset would make it easier to reuse.

tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
storage_client = storage.Client(project=_PROJECT)
shared_state["storage_client"] = storage_client

bucket = storage_client.create_bucket(new_staging_bucket, location=_LOCATION)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are the advantages of creating a new bucket for each integration test vs using a common bucket and creating a new directory?

@vinnysenthil
Copy link
Contributor Author

@sasha-gitg I split out re-usable logic to a base TestEndToEnd class, lmk if you think we should structure it differently. We can have further discussion offline on the shared_state pattern.

One last TODO before merging is to have Presubmit - System Tests CI to trigger on this PR

@vinnysenthil vinnysenthil requested review from a team as code owners August 19, 2021 13:35
Copy link
Member

@sasha-gitg sasha-gitg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Vinny, this looks great! Left a few minor comments.

tests/system/aiplatform/e2e_base.py Show resolved Hide resolved
tests/system/aiplatform/e2e_base.py Show resolved Hide resolved
tests/system/aiplatform/e2e_base.py Outdated Show resolved Hide resolved
tests/system/aiplatform/e2e_base.py Outdated Show resolved Hide resolved
tests/system/aiplatform/e2e_base.py Outdated Show resolved Hide resolved
tests/system/aiplatform/e2e_base.py Outdated Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
tests/system/aiplatform/test_e2e_tabular.py Outdated Show resolved Hide resolved
@vinnysenthil vinnysenthil merged commit d97da41 into master Aug 25, 2021
@vinnysenthil vinnysenthil deleted the e2e-tests branch August 25, 2021 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: aiplatform Issues related to the AI Platform API. cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants