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

enable preparers to implicitly support async tests #3

Draft
wants to merge 123 commits into
base: kibrantn/servicebus/preparer-resource-caching-framework
Choose a base branch
from

Conversation

KieranBrantnerMagee
Copy link
Owner

Add a clause in the preparer to attempt to consume fn as an async coroutine, falling back to synchronous if not.

This allows use of preparers without an additional decorator to wrap the function, and obsoletes pytest.mark.asyncio for preparers.

weshaggard and others added 30 commits March 5, 2020 14:26
…#10117)

* add async test for retry policy and fix rewind issue for async

* add changelog

* remove unused code
* Update Version

* tracer

* update shared reqs

* trace_source

* some changes

* fix test

* readme

* changelog

* Delete opentelemetry_span

* typo

* minor change

* pin version

* fix rebase
* Update change log file name to search for change log by analyze CI
…int (Azure#10143)

* Add common filter option for management package with exclusion for pylint
* Checkpoint

* build config updates

* feedback

* add credential unit tests

* add API to top level __init__

* add IndexBatch unit tests

* add unit tests for query wrappers

* use standard service verbs

* initial client tests

* more tests

* remove assert_called_once

* moreclient unit tests

* add async client impl

* some docs work

* README edits

* add tracing decorators

* mypy/pylint

* add close, ctx manager methods

* add index search/query examples

* update version

* add snippets to docstrings

* add a live test

* add basic crud samples

* add initial recording

* add more live tests

* typos

* black formatting

* typo

* hide index subpackage

* re-record

* move conftests to tests dir

* don't use async list comp

* update tests and new swagger

* remove internal __all__

* lint/black

* IndexBatch -> IndexDocumentsBatch

* update version to 11

* formatting

* typo

* add odata function for escaping queries

* update README

* update README

* update some docs

* more docs tweaks

* service_name -> endpoint

* search_endpoint -> endpoint

* re-gen swagger
* README limks

* changelog date update
…zure#9934)

* uses core Odata exception

* update azure-core dependency

* update changelog

* update dep to azure-core 1.3.0

* fix tests
* Initial generation Synapse autorest v5

* Fix empty model generation

* Add Fake Data

Co-authored-by: Laurent Mazuel <laurent.mazuel@gmail.com>
Co-authored-by: Zhenyu Zhou <zhezhou@microsoft.com>
…10180)

* Add exception handling to handle when package is missing on PyPI
bryevdv and others added 29 commits March 17, 2020 14:55
* don't use asyncio.run in examples

* streamline with main func
* generate test for mysql

* fix test error in mysql, now coverage is 26/29.

* remove pytz

* fix dt.timezone is not exist in py2.

* remove print
* add test for mariadb, coverage: 22/30

* fix dt.timezone is not exist in py2.
* generate tests for compute

* disk_encrytion need a key in keyvault

* finish images operations

* update virtual_machine testcase

* add test for dedicated hosts

* add more tests for vm and vm_extension

* coverage comes to: 75%

* update recording
* add search and coverage to search results

* less coy documentation

* fix lint issues
* Initial commit of preparer resource caching functionality.  Demonstrates use on the servicebus queue tests.  This will allow tests that opt-in to utilize resources cached from previous equivalent resource creation steps, to improve test runtime.  Deletion is delayed until the end of all pending tests, via a session fixture.
* Inferred caching is currently disabled. (You have to explicitly declare a parent resource is cached if a child is cached, otherwise an exception will be thrown before test run)
* Aggregates cache key with parents, such that, for instance, a service bus underneath a EU RG won't be swapped for a service bus underneath an NA RG. 
* Switch cache usage in test classes to use decorators for ease, add helper to resource group preparer.
* Clean up preparer logging and documentation, tweaks to ensure pylint is happy.
* Add azure-devtools to servicebus dev-requirements (to allow local test runs to properly consume preparer logic)
* add random_name_enabled to resource_testcase cached helper wrapper so that this functionality is leveraged by default (solves a lot of engsys problems with resource collision)
* fix bug in how trimmed_kwargs are used such that we do not trim the kwargs that we pass to deletion, since we may remove elements needed for removal.
* Move resource cache cleanup into base conftest
* Default preparer logging to warn and above to ensure visibility of potential failures.
* Preparer logging is not on by default, but pushed more detail into creation failure exceptions to compensate, as the primary goal of the additional logging was to ensure users saw all possible details of what is typically a Critical Failure.
* Add longer timeout to tests.yml to support still-lengthy sb tests, make preparer exception catching more comprehensive
* Add unit tests for the caching preparer.  Reverse the deferred delete order to try and emulate as closely as possible the first-in-last-out deletion behavior from non-cached resources.
* release for iothub

* Packaging update of azure-mgmt-iothub

* Update CHANGELOG.md

* Update CHANGELOG.md

Co-authored-by: Azure SDK Bot <aspysdk2@microsoft.com>
Co-authored-by: Zim Kalinowski <zikalino@microsoft.com>
* Generated from 1ca8e44d75fdac4c67d22acd979469c6c8115512

fixing path in readme.go.md

* release support sdk

* Packaging update of azure-mgmt-support

* Update CHANGELOG.md

* Update version.py

* Update CHANGELOG.md

* Update version.py

Co-authored-by: SDK Automation <sdkautomation@microsoft.com>
Co-authored-by: Azure SDK Bot <aspysdk2@microsoft.com>
Co-authored-by: Zim Kalinowski <zikalino@microsoft.com>
* sdk release for monitor

* add change log

* revise

* Packaging update of azure-mgmt-monitor

Co-authored-by: Azure SDK Bot <aspysdk2@microsoft.com>
* Generated from 0e4be423b5ab0b7acdb97506b831164792774c34

Merge branch 'resourcegraph' of https://github.com/Azure/azure-rest-api-specs into resourcegraph

* relase sdk  for resourcegraph

* Packaging update of azure-mgmt-resourcegraph

* Update CHANGELOG.md

Co-authored-by: SDK Automation <sdkautomation@microsoft.com>
Co-authored-by: Azure SDK Bot <aspysdk2@microsoft.com>
Co-authored-by: Zim Kalinowski <zikalino@microsoft.com>
* Generated from 8fc2475331cc567917a55ac372c0a29828963df6

Merge branch 'dev-advisor-Microsoft.Advisor-2020-01-01' of https://github.com/mudit794/azure-rest-api-specs into dev-advisor-Microsoft.Advisor-2020-01-01

* add parameter for RP advisor

* Packaging update of azure-mgmt-advisor

* Update CHANGELOG.md

* Update version.py

* just triggering ci

* Update CHANGELOG.md

Co-authored-by: SDK Automation <sdkautomation@microsoft.com>
Co-authored-by: Azure SDK Bot <aspysdk2@microsoft.com>
Co-authored-by: Zim Kalinowski <zikalino@microsoft.com>
* Generated from 99ff0d7b0e6a074c3d06bb6eddb1f7e805859e06

fix merge conflict

* change log for eventgrid

* Packaging update of azure-mgmt-eventgrid

* Update CHANGELOG.md

* revise version

* Update CHANGELOG.md

Co-authored-by: SDK Automation <sdkautomation@microsoft.com>
Co-authored-by: root <root@cjf.1nfgrxx31qve3h2ogd1kz2gjvd.cx.internal.cloudapp.net>
Co-authored-by: Azure SDK Bot <aspysdk2@microsoft.com>
Co-authored-by: Zim Kalinowski <zikalino@microsoft.com>
* Add change log file for template package
…10365)

* Versioning tool should handle both _version.py and version.py
* trim kwargs for async preparer

* also update codeowners
* add generated API

* move _credential.py up one level

* add SearchServiceClient

* minor edits to existing tests

* rename test_live -> test_index_live

* add live tests

* restore accidentally removed snippet

* use correct odata.metadata=minimal

* re-record service live tests

* update unit test too
Add an additional exception check to the async fallback, for certain deployments of 2.7 where this is the response when trying to import asyncio that has been pip installed.
YijunXieMS pushed a commit that referenced this pull request Jun 4, 2020
[ServiceBus] list and delete queue test cases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.