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

Refactor systests into separate modules, using pytest fixtures / idioms #472

Closed
3 tasks done
tseaver opened this issue Jul 29, 2021 · 0 comments · Fixed by #474
Closed
3 tasks done

Refactor systests into separate modules, using pytest fixtures / idioms #472

tseaver opened this issue Jul 29, 2021 · 0 comments · Fixed by #474
Assignees
Labels
api: spanner Issues related to the googleapis/python-spanner API. type: process A process-related concern. May include testing, release, or the like.

Comments

@tseaver
Copy link
Contributor

tseaver commented Jul 29, 2021

See #438, #439, ..., #469, #470.

The current setup / teardown code in tests/system/ is ancient, creaky, and not hardened well against quota restrictions / throttling.

  • Split the tests/system/test_system.py monolith up into more focused modules.
  • Re-do its setup / teardown using pytest fixtures, taking care to harden against 429 / 503 errors.
  • Likewise for tests/system/tests_system_dbapi.py.
@tseaver tseaver added the type: process A process-related concern. May include testing, release, or the like. label Jul 29, 2021
@tseaver tseaver self-assigned this Jul 29, 2021
@product-auto-label product-auto-label bot added the api: spanner Issues related to the googleapis/python-spanner API. label Jul 29, 2021
tseaver added a commit that referenced this issue Jul 30, 2021
Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.
tseaver added a commit that referenced this issue Jul 30, 2021
Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.
tseaver added a commit that referenced this issue Jul 30, 2021
Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.
tseaver added a commit that referenced this issue Jul 30, 2021
Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.
tseaver added a commit that referenced this issue Jul 30, 2021
Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.
tseaver added a commit that referenced this issue Jul 30, 2021
Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup/ teardown.

Toward #472.
tseaver added a commit that referenced this issue Jul 30, 2021
Refactor to use pytest fixtures / idioms, rather than old 'Confog'
setup / teardown.

Toward #472.
tseaver added a commit that referenced this issue Jul 30, 2021
larkee pushed a commit that referenced this issue Aug 11, 2021
* tests: move instance API systests to own module

Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.

* tests: move database API systests to own module

Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.

* tests: move table API systests to own module

Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.

* tests: move backup API systests to own module [WIP]

Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.

* tests: move streaming/chunnking systests to own module

Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup / teardown.

Toward #472.

* tests: move session API systests to own module

Refactor to use pytest fixtures / idioms, rather than old 'Config'
setup/ teardown.

Toward #472.

* tests: move dbapi systests to owwn module

Refactor to use pytest fixtures / idioms, rather than old 'Confog'
setup / teardown.

Toward #472.

* tests: remove legacy systest setup / teardown code

Closes #472.

* tests: don't pre-create datbase before restore attempt

* tests: fix instance config fixtures under emulator

* tests: clean up alt instnce at module scope

Avoids clash with 'test_list_instances' expectatons.

* tests: work around MethodNotImplemented

Raised from 'ListBackups' API on the CI emulator, but not locally.

* chore: drop use of pytz in systests

See #479 for rationale.

* chore: fix fossil in comment

* chore: move '_check_batch_status' to only calling module

Likewise the 'FauxCall' helper class it uses.

* chore: improve testcase name

* tests: replicate dbapi systest changes from #412 into new module
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: spanner Issues related to the googleapis/python-spanner API. type: process A process-related concern. May include testing, release, or the like.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant