* Remove the use of ifdef for TESTING_BUILD in KeyVault clients, where they are not needed.
* Rename the TESTING_BUILD macro to be _azure_TESTING_BUILD to highlight this is internal only and reduce chances of collision.
* Update remaining macro names and add comments.
* Revert rename change which was using BUILD_TESTING cmake flag in source.
* Revert "Move the connection back to the connection pool when HTTP error 404 was received (#5308)"
This reverts commit 79cc06d004.
* Changelog
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Added blocking Open for message sender
* Blocking message sender open; added AZURE_NODISCARD to help ensure APIs that are likely to fail have their returns checked
* Update eventhubs stress test to use DefaultAzureCredential instead of ClientSecretCredential; Fixed stress test to correctly request client parameters; Removed hard coded resource name from producer client test
* Pull request feedback with link events; renamed AZURE_NODISCARD to _azure_NODISCARD
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* All eng/ folder changes necessary to enable 1es-templates for the azure-sdk-for-cpp
* Includes updates to all ci.yml files to reflect new syntax requirements from 1es-template changes to archetype-sdk-client
* Fixing links in Event Hubs README.md
Came across these links pointing to material for the Go libraries and updated them to the C++ materials.
* Updating links for event hubs checkpoint library
* Revert "Remove the use of ifdef for TESTING_BUILD in KeyVault clients, where (#5406)"
This reverts commit 2d8c940f55.
* Revert "Rename the TESTING_BUILD macro to be _azure_TESTING_BUILD to highlight (#5390)"
This reverts commit 256c2df8b5.
* Revert "Use new macros in existing surface area, so that classes marked as final don't have virtual methods. (#5389)"
This reverts commit 3d7eaddb9d.
* Revert "For new surface area, classes marked as final should not have virtual methods. (#5331)"
This reverts commit ddd0f4bd07.
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Use new macros in existing surface area, so that classes marked as final don't have virtual methods.
* Update doc comments.
* Use DOXYGEN_PREDEFINED to expand only the macros we want expanded.
* Add the compile definition for more projects.
* Address PR feedback.
* Make TestableTokenCache a friend class of TokenCache.
* Fix use of namespace qualifiers that have not been explicitly introduced.
* Format (sort usings alphabetically)
* Update CHANGELOG.md
* Update cspell.json
---------
Co-authored-by: Morten Ofstad <morten.ofstad@bluware.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Updated tests to support -UserAuth test resources switch to enable non-corpnet access.
* Try setting sample environment variables in sample script pipeline
* AMQP: do not use scope.MinimumExpiration when getting SAS Token
* Remove unused parameters
* Match style
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
# Significant rewrite of Eventhubs stress test.
## Cleaned up implementation of EventHubs stress/reliability test
* Reworked stress test layout to isolate stress test implementation from stress deployment elements.
* Added ability of stress test scenarios to be independently configured.
* Rewrote stress test app to be closer to the Go equivalent app.
* added apparg.hpp for command line parsing
* added scope_guard to test for scope_guard implementation.
## Added close methods to Consumer client and Producer client.
They don't do much currently, but will eventually.
## AI Generated summary of pull request
This pull request primarily focuses on the `azure-core-amqp` and `azure-messaging-eventhubs` packages, introducing changes to improve code efficiency and maintainability. The most significant changes include the removal of unnecessary `#include` directives in various files in the `azure-core-amqp` package, the addition of `Close` methods in `consumer_client.hpp` and `producer_client.hpp` in the `azure-messaging-eventhubs` package, and modifications to the `cgmanifest.json` files in the `azure-messaging-eventhubs-checkpointstore-blob` and `azure-messaging-eventhubs` directories.
Removal of unnecessary `#include` directives:
* [`sdk/core/azure-core-amqp/src/amqp/claim_based_security.cpp`](diffhunk://#diff-5acd7049cef5955540cc4253f264207e5a7d2701612e148c736ca5781e69d224L12-L14): Removed unnecessary `#include` directives for `iostream` and `sstream`.
* [`sdk/core/azure-core-amqp/src/amqp/connection.cpp`](diffhunk://#diff-fc3a6e5b11f1254c4fd344bcd1846c83ad4ca8e2a8a23b7db0657c2846f43937L18): Removed unnecessary `#include` directive for `azure/core/url.hpp`.
* [`sdk/core/azure-core-amqp/src/amqp/connection_string_credential.cpp`](diffhunk://#diff-14cf130dc5f0b51f698cca57724b733591d48fad0e5beb4745fc1cd78cbdaa72L7-L20): Removed unnecessary `#include` directives for `azure/core/amqp/internal/models/amqp_protocol.hpp`, `azure_c_shared_utility/azure_base64.h`, `azure_c_shared_utility/buffer_.h`, and `iostream`.
* [`sdk/core/azure-core-amqp/src/amqp/link.cpp`](diffhunk://#diff-249643f29ca2c0b1226e9d22ce90be83c77105f55221a1092fb605a5c7ead356L10-L21): Removed unnecessary `#include` directives for `azure/core/amqp/internal/message_receiver.hpp`, `azure/core/amqp/internal/message_sender.hpp`, `azure/core/amqp/internal/models/messaging_values.hpp`, and `azure_uamqp_c/amqp_definitions_sequence_no.h`.
* [`sdk/core/azure-core-amqp/src/amqp/management.cpp`](diffhunk://#diff-b03544340ff264961e045648c2c274dde9fa7ceb33b07b0c41a708128e28d40fL6-L16): Removed unnecessary `#include` directives for `azure/core/amqp/internal/connection.hpp`, `azure/core/amqp/internal/session.hpp`, and `azure_uamqp_c/amqp_management.h`.
Addition of `Close` methods:
* [`sdk/eventhubs/azure-messaging-eventhubs/inc/azure/messaging/eventhubs/consumer_client.hpp`](diffhunk://#diff-fad00d7bec0f12ef5e7d36387e866ab5291c6f5f57568845dfabe3f23320c899R152-R159): Added a `Close` method to the `ConsumerClient` class.
* [`sdk/eventhubs/azure-messaging-eventhubs/inc/azure/messaging/eventhubs/producer_client.hpp`](diffhunk://#diff-cba1fbd1d786b763c27123a2284476e1cc8093753abe6e3a6af9ca78aae4d594R96-R113): Added a `Close` method to the `ProducerClient` class.
Modification of `cgmanifest.json` files:
* [`sdk/eventhubs/azure-messaging-eventhubs-checkpointstore-blob/cgmanifest.json`](diffhunk://#diff-465b096c14ed240a8f14180f16e0924e3df69bd1c95934dca435c0b3c97468a0R1-R37): Added a new `cgmanifest.json` file specifying development dependencies.
* [`sdk/eventhubs/azure-messaging-eventhubs/cgmanifest.json`](diffhunk://#diff-f3e86a1f7be148625ac80b2151504461f3faff4d0564db588c6df9d0d9eb0986R1-R48): Added a new `cgmanifest.json` file specifying development dependencies.
*
---------
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Classes marked as final should not have virtual methods.
(cherry picked from commit 7413384c111b73be448f78527a08a544fd1f6ec6)
* Update changelog.
* Address PR feedback and use named-macro.
* Only use the macro for testing_build final classes.
* Add a new compile definition _azure_TESTING_BUILD.
* Add test as a friend class and put the test in a Identity specific test
namespace.
* Remove the macro for final expansion since doxygen struggles with it.
* Address PR feedback, add ifdef guard around _azure_VIRTUAL_FOR_TESTS.
* Enabled multithreaded calls to eventhubs management APIs
* Added partition client properties tests, removed unused variables in consumer client tests
* Restructured properties APIs in eventhubs to simplify producer client and consumer client implementations
* Fixed test crash in LinkAttachDetach AMQP test
* Added test cases for management authn failures
* Don't emit body contents in AmqpMessage insertion operator
* Don't take numeric value parameters by value to ostream insertion operators
* Updated eventhubs dependency to match reality
* Added value based tests for enumeration stream inserters
* Implemented connection handle table to fix half closed session problem
* Correctly handle session begin after connection is open
* Split out amqp settle mode to separate header; added test coverage for AMQP Transfer and Detach performatives
* Use absolute path for settle mode header
* Increment package version after release of azure-security-keyvault-keys
* Increment package version after release of azure-security-keyvault-certificates
* Increment package version after release of azure-security-keyvault-secrets
* Increment package version after release of azure-security-keyvault-administration
* dss
* first pass at a client and tests
* constructors work
* working request, need to fix the response parsing
* basic tests working for service client
* refactored the constructors
* testproxy and tests
* format file
* got client and one API working
* list working
* all apis recorded
* new assets.json
* assets.json regen
* format json
* adding word to cspell
* fix build issues
* fix one more break
* typo
* clangs
* one more issue
* more fixezez
* regen recordings
* try again
* clangs
* clangs again
* new assets
* new test proxy
* regen tests based on new merge
* hmmm
* restore
* add debug env for test proxy
* resync cmake presets from main
* gor get and set working
* get stats
* table client and create
* delete
* get/set acls
* list tables
* some cleanup
* Create /update/merge/delete
* upsert
* query entities
* generated tests
* clangs
* some fixes
* some more errors
* cspells
* got transaction API working
* transactions working , need to parse response
* get data out of the response
* clangs
* batch1
* regen tests
* part 2
* batch3
* batch4
* clangs
* regen tests
* regen tests
* try again
* live only
* added some more tests for the transaction body
* small refactor for tests
* oops
* some oter update
* darn includes
* sddfsd
* erorr fix
* key clients
* sas
* small cleanup
* All tests passing
* test recordings
* clangs
* missing ENV for test
* attempt1
* retry
* couple recordings
* regen some tests
* clangs
* again
* again
* comments
* comments
* headers and footers
* some cleanjup
* Move folders step1
* revert assets and test resources in storage
* revert to main
* cspell
* readme
* comments
* revert ci.yml
* liveonly test
* clangs
* camke
* ci2
* try again
* fdssfs
* fdsfsd
* some cleanup
* dasda
* dsdsds
* asda
* assets
* comments
* a few more bits and pieces
* some other updates for cspell
* typo
* more docs
* spell
* another doc error
* clangs docs
* docs
* test cov
* dasdas
* hg
* stress test
* cspell
* Update sdk/storage/azure-storage-common/test/ut/CMakeLists.txt
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/storage/azure-storage-common/test/ut/shared_key_policy_lite_test.cpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/CHANGELOG.md
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/CMakeLists.txt
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/test/stress/scenarios-matrix.yaml
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/test/stress/Dockerfile
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* PR comments
* respurces cleanup
* cleanup 2
* respurce fix
* revddrt
* weqq
* oops
* try again
* Update sdk/tables/azure-data-tables/vcpkg/vcpkg.json
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* try
* test fix
* samples
* readmes
* readmes
* readmes
* api view settings
* qualify friends
* try
* moving usings
* refactor for API View tool
* some more
* clangs
* Update sdk/tables/README.md
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/core/azure-core/inc/azure/core/http/http.hpp
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Update sdk/core/azure-core/src/http/transport_policy.cpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/inc/azure/data/tables/rest_client.hpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/CHANGELOG.md
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/test/ut/CMakeLists.txt
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Update sdk/tables/azure-data-tables/src/rest_client.cpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* some comments
* comments
* comments part N
* clang
* try now
* clang
* comments
* update file names
* update test to check for the final signature
* ccc
* rename shared key policy lite
* cleanup some includes
* add a couple more tests
* small update
* clang
* increase test limits
* xml transition
* service_version_policy
* shared creds and key policy lite
* switch to secondary policy
* code done
* remove last storage vestiges
* put back some code
* readme/changelog
* Update sdk/tables/azure-data-tables/src/serializers.cpp
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Add the shared key policy for Larry
* Larry comments
* curlybracify the initializers
* Update sdk/core/azure-core-xml/inc/azure/core/xml/dll_import_export.hpp
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Update sdk/core/azure-core-xml/vcpkg.json
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Update sdk/tables/azure-data-tables/inc/azure/data/tables.hpp
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Rick's comments one more namespace change for serializers
* whiteline
* typo
* oops
* includes and clangs
* cleanup
* jhfjdhjfd
* hjkjdhf
* daas
* Anton's comments
* clang
* revert some changes
* fdss
* Update sdk/core/azure-core-xml/CHANGELOG.md
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* everything works
* clangs and vcpkg test
* test remove azure-core-xml
* vcpkg json
* remove the code
* merge main
* saa
* wqw
* last comments
* clang
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Make the CAPath option available on all OSes and change to throw on
runtime on non-linux.
* Address PR feedback, update test, and let curl fail on unsupported
platforms.
* AzureCliCredential to treat datetime without TZ info as local time.
* Fix spelling
* CLang-format
* Parse as local by appending TimeZoneOffsetAsString()
* Fix bad merge
* PR Feedback
* Merge
* Merge
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Fix spelling errors
* Exclusion list
* More updates for the exclusion list
* Even more updates for the exclusion list
* And even more updates for the exclusion list
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Disable default features in libxml2.
We don't seem to make use of any of them in `xml_wrapper.cpp`.
* Update changelog.
* Added "Acknowledgments" section to the Storage Changelog.
* "Identity" => "Storage" (my bad)
* Apply suggestions from code review
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* First cut at snippet generation - markdown files only for now.
* Removed trailing blank lines in updated file
* Use snippet generator for keyvault snippets
* Move Azure::Core::_internal::UniqueHandleHelper to _detail
* Linux build fix
* More Linux fixes and clang-format
* Get back the @cond
* Revert one more @cond removal
* Linux fix: include necessary header
* Undo unnecessary clang-format
* Clang-format, again
* Trigger CI
* Trigger CI
* amqps, amqpvalue
* Update cspell.json
* Update curl.cpp
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* `BearerTokenAuthenticationPolicy` to use shared_lock in case no refresh is needed
* Copy constructor
* Update bearer_token_authentication_policy.cpp
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Remove some usages of internal APIs in samples
* std::cerr => std::cout
* Two errors would actually go to stderr
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* URL: avoid double slash at the start of the path
* Remove unnecessary change
* More test coverage
* Changelog
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Make vcpkg.json comment multiline
* Update core-opentelemetry tests to be able to compile with opentelemetry-cpp version 1.12.0
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Return pointer to message rather than message; cleaned up API surface to remove uAMQP details
* ASAN configuration via CMAKE preset, not environment variable
* clang-tidy fixes
* Azure Identity November Release
* Re-order and move fix to new feature.
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Incapsulate all the defaults for options values such as authority host
in a helper class and add authority host url validation.
* Address PR feedback.
* Re-use the selected credential that works for each subsequent request in
DefaultAzureCredential by caching the chosen credential per instance.
* Update test to include per-instance caching validation.
* Addresss PR feedback and fix clang error on atomic assignment.
* Fix typo in CL and drop ifdef testing_build to investigate clang build
issue.
* Add double-colon in front of friend class.
* Add link pollable; Fixed several memory leaks
* Rule of 5 fixes for AMQP and EventHubs types; moved message handle type to _detail namespace.
* Update sdk/core/azure-core-amqp/CHANGELOG.md
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Move MHSM to region with more availability
Resolves#4613
* Trigger CI re-run
* Undo the trigger
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Increment package version after release of azure-storage-common
* Increment package version after release of azure-storage-blobs
* Increment package version after release of azure-storage-files-datalake
* Increment package version after release of azure-storage-files-shares
* Increment package version after release of azure-storage-queues
* Add a note to vcpkg manifest files that all changes made in the vcpkg repo alone might be lost.
* may => will
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Create separate lists of characters that are allowed within a tenant id vs scopes in AzureCliCredential.
* Update test to catch the particular exception we expect to be thrown for
tenant id but not for scopes.
* Address PR feedback.
* Fix vcpkg install for the vendored uamqp
* Make changes mergeable to upstream
* Update CMakeLists.txt
* Update CMakeLists.txt
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Moved internal AMQP types to internal header directory
* Updated consumers of AMQP headers to match moved headers
* Updated changelog to reflect breaking change in AMQP
* Made includes explicit in event_data.hpp
* Reference non-package headers with angle braces not quotes
* Small cleanup around AMQP dependencies
* Update cfgmanifest.json to remove uamqp, and add umock, csharedutil, and macro-utils-c
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Split out curl an winhttp testing on WS2022 to work around CURL bias in test proxy tests
* Minor change to storage to trigger CI pipeline
* On testing builds, send a 0 length Content-Length header on Patch verbs if the caller has not provided a Content-Length header.
* Update sdk/core/azure-core/inc/azure/core/http/http.hpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Prefix interal macros with _azure_ to 'remove' them from the public area
* PR feedback
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Try to see what happens without coverage exclusions
* Reset coverage limits
* Mark ThrowParseError as [[noreturn]] to ensure compiler knows that code after it is dead code
* Added tests for the Azure assert macro
---------
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* clang-13 version of cstdlib doesn't define integer types in global namespace
* Added clang-13 and clang-15 variants to mix
* Pull request feedback
* Update sdk/core/azure-core/inc/azure/core/uuid.hpp
* Update sdk/core/azure-core/inc/azure/core/base64.hpp
---------
Co-authored-by: Larry Osterman <larryo@LOTHAIR-HOME.ntdev.corp.microsoft.com>
* Increment package version after release of azure-storage-common
* Increment package version after release of azure-storage-blobs
* Increment package version after release of azure-storage-files-datalake
* Increment package version after release of azure-storage-files-shares
* Increment package version after release of azure-storage-queues
* Increment package version after release of azure-messaging-eventhubs
* Increment package version after release of azure-messaging-eventhubs-checkpointstore-blob
* Remove OPENSSL_VERSION_NUMBER version check for the CAPath option in
libcurl.
* Revert unit test change that caused an intentional error.
* Remove the openssl header.
* Change the default option for authority host to be read from the environment first.
* Update changelog.
* Update doc comment and refer to the env var correctly.
* Update doc comments and add unit tests.
* Acknowledge community contribution in the changelog
* Update cspell.json
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Added eventhubs test collateral to create and destroy eventhubs namespaces and eventhubs; Added peek message functionality to AMQP
* Use HTTP to talk to management APIs instead of az cli