-
Notifications
You must be signed in to change notification settings - Fork 45
feat: add manual layer for v1 endpoint #16
Conversation
* adds a per-endpoint system session in nox
* migrate the manual client/reader work for v1
* TableReferences went away as a first class message, now just a
formatted string
* changes to read rows
* estimated_row_count removed due to differences in reported status
* you no longer have to deal with a StreamPosition message, instead
there's just a stream name and an offset as top-level request fields
* session creation changes
* you now provide a prototypical ReadSession message when requesting
a new read session, and most options (like selected fields, table
modifiers, and data format) have moved inside it.
* requested_streams -> max_stream_count
There's additional changes to the surface, but there wasn't much manual
help in front of it.
|
failure related to coverage. will poke at that next. |
tswast
left a comment
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 once that docstring is updated.
noxfile.py
Outdated
| """Run the system test suite.""" | ||
| system_test_path = os.path.join("tests", "system.py") | ||
| system_test_folder_path = os.path.join("tests", "system") | ||
| def system_v1beta1(session): |
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.
Is there a specific reason for splitting up the system tests into two sessions?
If this needs to be made permanent noxfile.py should be added to the list of excludes in synth.py.
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.
I mostly did it to speed up the testing cycle, as it takes a couple minutes to get through system tests for a single endpoint. I can drop it now that I'm done, but is this common enough we should consider parameterizing or plumbing some form of nox flag?
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.
Ah I see. Would you mind opening an issue on https://github.com/googleapis/synthtool/issues to discuss additional parametrizing in the noxfile?
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.
Filed googleapis/synthtool#427
|
|
||
| @pytest.fixture(scope="session") | ||
| def local_shakespeare_table_reference(project_id): | ||
| return _TABLE_FORMAT.format(project_id, "public_samples_copy", "shakespeare") |
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.
@shollyman I'm curious why the local copy of bigquery-public-data.samples.shakespeare? I'm adding a script to create this table in #74
adds a per-endpoint system session in noxformatted string
there's just a stream name and an offset as top-level request fields
a new read session, and most options (like selected fields, table
modifiers, and data format) have moved inside it.
There's additional changes to the surface, but there wasn't much manual
help in front of it.