Commit Graph

16 Commits

Author SHA1 Message Date
Daniel Jurek
20ee0acdf5
learn.microsoft.com docs onboarding engsys (#6818)
* Add metadata fetching

* Update docindex.yml to use new params and variables

* Add onboarding logic and update .gitignore to allow eng/scripts/docs edits

* Test: point to different branch

* Skip onboarding legacy moniker

* Add docs to release process

* REVERT: Test eng/common changes to Update-DocsMsPackages.ps1

* Remove nightly branch work, those require hosted docs

* Make CHANGELOG.md comply with rules

* Fix relevant spelling issues

* TEST: Add GitHub token

* Branch

* push branch

* Set DefinitionId

* Test branch

* Token

* Remove unnecessary condition

* Commitish

* Specify monikers

* Revert test-related changes
2025-12-02 13:26:51 -08:00
Larry Osterman
e04e96cf87
Merged Rust AMQP stack with main. (#6442)
* Initial attempt at a Rust AMQP stack, merged against feature/rust_amqp for now. (#5942)

* Enabled building AMQP *without* uAMQP

* Start integrating Rust AMQP Value to C++ AMQP Value

* AMQP Value tests now pass

* Moved AmqpValueType ostream inserter to its original location

* Added Rust AMQP Message implementation

* Added start of message source tests

* Enabled building AMQP *without* uAMQP

* Start integrating Rust AMQP Value to C++ AMQP Value

* Moved AmqpValueType ostream inserter to its original location

* Message target support

* Message source and target support

* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features  (#5986)

* Checkpoint of connection logic

* Started implementing Rust based Connection by pulling out uAMQP artifacts

* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.

* Don't leak runtime context on calls

* Refactor AMQP logic to better isolate rust AMQP code from uAMQP code. (#6008)

* refactor uAMQP and Rust AMQP into separate implementations for ease of use

* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features  (#5986)

* Checkpoint of connection logic

* Started implementing Rust based Connection by pulling out uAMQP artifacts

* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.

* Don't leak runtime context on calls

* export UUID from AMQP

* Cleaned up some more elements; reduced scope of doxygen significantly

* runtime context needs to be process global not thread global; all tests pass or fail at this point

* Merged main into branch

* Implement AMQP Session APIs in Rust. (#6033)

* Checkpoint of rust session support

* Session begin/end now works

* Session tests pass

* Removed accidental regression

* Added rust per-call context (#6043)

* Reworked runtime context to be call context

* Added context parameter to blocking AMQP calls

* Added comments around the lifetime of the RustRuntimeContext captured in the CallContext object

* uAMQP changes corresponding to Rust changes

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* sync rust SDK fixes to C++

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Enable Rust ClaimsBasedSecurity interoperability; Converted EventHubs producer client to work with Rust AMQP changes. (#6059)

* canonicalized return values; initial CBS support

* Implementation of CBS for C++

* Amqp Authentication works; Integrate Rust AMQP into Eventhubs Producer client

* Implemented Rust AMQP message sender. (#6083)

* Initial sender implementation

* PR feedback

* Management APIs work (#6096)


* Management APIs work

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Converted builders to be compliant with Rust guidelines. (#6102)

* Converted builders to be compliant with Rust guidelines.

* Bring rust changes back to C++ repo

* Improved builder developer experience

* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP bug in message sender tests (#6208)

* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP related bug in message sender tests

* Pr feedback

* Implement receiving messages; Changes to eventhubs so that all eventhubs tests pass (#6254)


* Eventhubs tests pass

* Noise reduction; explain the task which spawns a task

* Update sdk/eventhubs/azure-messaging-eventhubs/src/producer_client.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* PR feedback

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Integrate Rust 2 step message receive code to C++ (#6349)

* Integrate Rust 2 step message receive code to C++

* If receiving a delivery failed, transmit the error to the message channel if at all possible

* Enable Rust based AMQP by default (#6362)

* AMQP tests now pass; Integrate TestAmqpBroker with CI pipeline

* Updated changelogs to reflect API changes made during AMQP updates

* Replace uAMQP with Rust AMQP as the default AMQP transport; Updated build configurationj to reflect that

* Test fixes

* PR feedback; test fixes

* Fixed uninitialized variable tanking some tests (#6381)

* Fixed uninitialized variable tanking some tests

* Fixed Rust AMQP tests

* Removed connection string support from Eventhubs and EH tests. (#6391)

* Removed the ability to use connection strings from EventHubs

* Enable Rust AMQP by default!!!

* Update CMakePresets.json

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2025-03-11 22:30:13 +00:00
Larry Osterman
72e8b78617
Ignore sln files and csproj files in the vendor directory (#5663) 2024-05-24 20:53:29 +00:00
George Arama
20d9364a3d
Storage tables implementation (#5137)
* 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>
2024-01-12 11:04:43 -08:00
Ahson Khan
81d95c951f
Change the default value for the authority host option to be read from the environment variable first. (#4980)
* 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.
2023-10-05 11:14:22 -07:00
Larry Osterman
165eace629
AMQP Stack polls for operations in a background thread. (#4914)
There are two significant parts to this fix. The first is that the Connection object now has a method EnableAsyncOperation which registers the connection with a background thread which polls the connection. The EnableAsyncOperation needs to be callable from outside the connection because in normal client operation, the calls to open the connection are all internal to uAMQP. That means that the message sender and receiver need to call it when they're opened (and closed).

The other major part of this change is that the AsyncOperationQueue now has a WaitForRequest API which does not normally poll (there is a test hook which enables polling but that is not normally used in most scenarios).

The other part of this change fixes some concurrency issues associated with the Log::Stream functionality.

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/core/azure-core/src/logger.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/core/azure-core/test/ut/CMakeLists.txt

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Update sdk/core/azure-core/test/ut/logging_test.cpp

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

* Added ASAN as an option, converted transports to be bases to ensure consistancy

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2023-09-13 11:12:46 -07:00
Theodore Tsirpanis
b7afe2faf1
[identity] Remove OpenSSL dependency on Windows. (#4747)
* Add dependency to WIL in azure-identity-cpp when on WIndows.

* Use Win32 APIs to get the thumbprint and private key of a certificate.

* Don't use `out_param_ptr` in `GetPrivateKey`.

`NCRYPT_KEY_HANDLE` is not a pointer but a uintptr and using `out_param_ptr` with it causes compiler errors.

* Use Win32 APIs to sign messages with a private key.

* Remove the OpenSSL dependency from azure-identity-cpp on Windows.

We can't remove it from the root vcpkg.json that gets used for development, because an attestation example uses OpenSSL for certificate code.

* Update the changelog.

* Fix compile errors.

We can't use WIL in the public headers; we will use instead the same approach with the OpenSSL handles.

* Fix more compile errors.

* Use `AZ_PLATFORM_WINDOWS`.

* clang-format

* Update cspell.json

* Update CHANGELOG.md

* Update cspell.json

* Update cspell.json

* Attempt to make spell checker happy with minimum changes

* Ignore `CMakeUserPresets.json`.

* Move to the BCrypt APIs in anticipation of the rewrite.

* Use Windows APIs to read the certificate and the private key in PEM format.

* Move decoding the PEM string to its own function.

* Remove redundant error messages from some checks.

WIL does not recommend them if they do not provide additional information, and it already captures the source location.

* Support opening raw RSA and ECC private keys.

* Stop using pseudo-handles.

They are not supported in Windows Server 2012 R2, which is still supported.

* Fix CI.

* Refactor the ClientCertificateCredential tests and test more certificates.

Thanks to googletest's parameterized tests, duplicate code was eliminated and we test twelve cases with only two test methods.

* Improve code sharing across OpenSSL and CNG.

* Fix error checks when signing.

* Remove ECC certificate support.

Turns out Microsoft identity platform itself does not support them.

* Replace `#ifdef` with `#if defined`.

* Move some CryptoAPI-related terms to a `cspell.json` file local to `azure-identity`.

* Exclude the root `cspell.json` file from gitignore.

* Clean-up `cspell.json`.

* Fix linked libraries of `azure-identity`.
We don't use ncrypt anymore.

* Move `platform.hpp` to `client_certificate_credential.cpp`.

* Clean-up `UniquePrivateKey` and reduce mentions of `pkey`.

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2023-08-28 10:55:49 -07:00
Larry Osterman
9fbc3856ad
Create EventHubs stress and performance test basics. (#4818)
* Scaffolding for eventhubs perf test

* Added eventhubs 'stress' test, which is really a totally broken perf test'

* Added stress test skeleton

* EventHubs Stress test is an actual eventhubs test now

* EventHubs throws exceptions on producer client failure. Rationalized error reporting from AMQP - message sender and receiver generate the same errors.

* Rationalize AMQP error results; throw exceptions on eventhubs errors

* Fixed amqp management test; added HTTP status code for management triggered exceptions

* Event Data binary no longer takes an AMQP binary; Preliminary readme.md for eventhubs (still many go constructs in the readme)

* Created the first eventhubs samples - they don't do much but they work

Co-authored-by: Ahson Khan <ahkha@microsoft.com>

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

* API Review feedback

* Added isTransient flag to eventhubs exception based on Java implementation

* Updated AMQP changelog to reflect recent changes

---------

Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
2023-08-04 11:40:30 -07:00
Larry Osterman
5d6b6f72c1
Added deprecated constructors for attestation service (#4313)
* Added deprecated constructors for attestation service

* Disable deprecation warnings for clang; improved documentation to reflect deprecated functions

* Use doxygen @deprecated on deprecated functions

*
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>

---------

Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
2023-02-01 13:05:20 -08:00
James Suplizio
fa09034d5c
Add default .assets directory to .gitignore (#4008) 2022-10-10 11:36:46 -07:00
George Arama
e0706ba1fb
Stress test (#3820)
* mem leak fix

* PR comments fix

* PR comments

* seems to work?

* clang

* curl again

* add first stress test

* also update gitignore

* missing line

* only linux

* clang typo format

* typo 2

* PR comments

* cspell

* remove terminator
2022-07-13 13:11:50 -07:00
George Arama
9d1ede92ec
Prototype build from source (#3180)
* prepPR

* gitignore updates

* cspell.json

* spell

* cspell typo

* deisable option

* need to look out for this

* reenable tests

* set unset location properly

* building in docker

* format file

* final changes

* PR comments

* update git ignore

* test cmake build

* test 2

* ren steps

* test new step

* try again

* again

* oops

* try again

* put back

* test2

* test5_46

* progress

* more again

* test6_35

* test 6_55

* test_again

* move up

* test

* output params

* try try again

* one more test

* put back curl

* os

* run only on one

* try again

* typo

* switch variable

* set things back

* set things back

* prep for next step

* test source deps new

* try again

* try try again

* typo

* test rewire

* params

* typo

* fix

* get rid of vcpkg

* linux

* mac

* try brew

* try exports

* try again

* typo

* set env

* include dir

* root

* try again

* typo

* dfsfsda

* try agan

* try again

* oops

* sdfsd

* typo

* dsdsad

* hghhg

* update env

* ghhgj

* sAdsad

* try again

* fdfd

* rewrew

* dsadas

* sdasda

* ggggg

* envs2

* envs3

* typo

* order

* try again

* make sure we don't blow up other pipelines

* typo

* typo

* fsdfs

* check null

* put back
2022-01-14 13:06:00 -08:00
George Arama
70c3e72763
Add Unit Tests for EnvironmentLogLevelListener (#2454)
* first UT

* formatting

* unused error

* putenv

* some refactoring

* formatting

* casting

* again

* Update sdk/core/azure-core/test/ut/environmentLogLevelListener_test.cpp

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

* some refactoring

* more tests

* format

* no env test

* put back missing empty line

* Update sdk/core/azure-core/test/ut/environmentLogLevelListener_test.cpp

Co-authored-by: Rick Winter <rick.winter@microsoft.com>

* PR comments

* fix signed/unsigned mismatch that causes ci build to fail

Co-authored-by: Rick Winter <rick.winter@microsoft.com>
2021-06-22 21:51:41 +00:00
Victor Vazquez
9f1493af27
Adding http request (#41)
* adding gtest framework

* http request
2020-03-26 11:38:07 -07:00
Rick Winter
eab3352932
Add Core scaffolding 2020-02-20 12:10:01 -08:00
Rick Winter
a35b603fcd
Initial commit 2020-01-10 15:29:10 -08:00