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

E2E tests for auth using TokenCredential #1800

Merged
merged 1 commit into from
Feb 19, 2021
Merged

Conversation

vinagesh
Copy link
Member

@vinagesh vinagesh commented Feb 19, 2021

Checklist

  • I have read the contribution guidelines.
  • I added or modified the existing tests to cover the change (we do not allow our test coverage to go down).
  • This pull-request is submitted against the master branch.

Description of the changes

These tests don't work yet. Once we have a test hub instance, it will be tested and updated if necessary.
AAD tokens are valid for a time period based on azure policy on a subscription. Hence the renewal aspect cannot be tested in E2E and we'll have to do a manual or long-haul test.

@vinagesh vinagesh force-pushed the vinagesh/aadtests branch 4 times, most recently from 16b2609 to 730435b Compare February 19, 2021 19:22
@vinagesh vinagesh marked this pull request as ready for review February 19, 2021 19:31
@vinagesh vinagesh changed the title [Do not review ]E2E tests for aad auth E2E tests for auth using TokenCredential Feb 19, 2021
@vinagesh
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vinagesh
Copy link
Member Author

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@vinagesh vinagesh merged commit 41254ab into previews/RBAC Feb 19, 2021
@vinagesh vinagesh deleted the vinagesh/aadtests branch February 19, 2021 23:18
vinagesh added a commit that referenced this pull request Mar 11, 2021
* fix: samples readme links were out-of-date (#1784)

* fix: samples arguments and remove 1 more dead link (#1785)

* fix(readme): Update the location of ConsoleEventListener in our readme

* doc(service-client) - Updating readme (#1799)

* fix(doc): Update amqp transport exception doc to have detailed description for quota exceeded error mapping

* feature(device-client): Make the DeviceClient and ModuleClient extensible (#1802)

* doc(service-client): Added extra comments to clarify true and false in dispose (#1805)

* feature,fix (device-client) Handle Twin failures using Amqp (#1796)

* fix(iot-service): Update xml comments for ServiceClient

* fix(iot-device): Update MqttTransportHandler to not use SemaphoreSlim.WaitAsync(TimeSpan, CancellationToken)

* fix(iot-device): Update dotnetty task calls to use ConfigureAwait(true)

* fix(iot-device): Fix MqttTransportHandler to not await on user supplied C2D callback

* IoTHub Exception for Get and Patch Twin failures (#1815)

* fix(edge): UnixDomainSocketEndPoint is available in .NET 2.1 and greater (#1816)

* UnixDomainSocketEndPoint has been standard since 2.1. Allowing later versions to use the correct class

The edge client HSM provider uses UnixDomainSockets (UDS) for communication. Before .NET 2.1 to implement a Unix Socket you had to create your own class to do so. Since 2.1 there has been a native UnixDomainSocketEndPoint class in the runtime.

In 2.1 and 3.1 there is no issue. However in 5.0 there are some changes to the way the Socket class handles the native UnixDomainSocketEndPoint class. I didn't dig down extremely deep, but I suspect it's due to the way the endpoint handles the SocketAddress and the string manipulation there seeing as how there is a specific implementation for Windows and for Unix.

* feat(e2e) - Enabling soft delete when creating keyvaults (#1820)

* fix(e2e) - Change event logging to opt in to specific events only. (#1824)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (#1781)

* (service-client): Refactor and add sas credential (#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (#1797)

* doc(service-client): Update readme about the differnt client and operations (#1798)

* tests(service-client): E2E tests for aad auth on all our clients (#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (#1806)

* feature(service-client): Adding chaching for aad tokens. (#1807)

* fix(service-client)- Add IoT hub token scope. (#1812)

Co-authored-by: David R. Williamson <[email protected]>
Co-authored-by: Abhipsa Misra <[email protected]>
Co-authored-by: bikamani <[email protected]>
Co-authored-by: jamdavi <[email protected]>
vinagesh added a commit that referenced this pull request Mar 22, 2021
* fix: samples readme links were out-of-date (#1784)

* fix: samples arguments and remove 1 more dead link (#1785)

* fix(readme): Update the location of ConsoleEventListener in our readme

* doc(service-client) - Updating readme (#1799)

* fix(doc): Update amqp transport exception doc to have detailed description for quota exceeded error mapping

* feature(device-client): Make the DeviceClient and ModuleClient extensible (#1802)

* doc(service-client): Added extra comments to clarify true and false in dispose (#1805)

* feature,fix (device-client) Handle Twin failures using Amqp (#1796)

* fix(iot-service): Update xml comments for ServiceClient

* fix(iot-device): Update MqttTransportHandler to not use SemaphoreSlim.WaitAsync(TimeSpan, CancellationToken)

* fix(iot-device): Update dotnetty task calls to use ConfigureAwait(true)

* fix(iot-device): Fix MqttTransportHandler to not await on user supplied C2D callback

* IoTHub Exception for Get and Patch Twin failures (#1815)

* fix(edge): UnixDomainSocketEndPoint is available in .NET 2.1 and greater (#1816)

* UnixDomainSocketEndPoint has been standard since 2.1. Allowing later versions to use the correct class

The edge client HSM provider uses UnixDomainSockets (UDS) for communication. Before .NET 2.1 to implement a Unix Socket you had to create your own class to do so. Since 2.1 there has been a native UnixDomainSocketEndPoint class in the runtime.

In 2.1 and 3.1 there is no issue. However in 5.0 there are some changes to the way the Socket class handles the native UnixDomainSocketEndPoint class. I didn't dig down extremely deep, but I suspect it's due to the way the endpoint handles the SocketAddress and the string manipulation there seeing as how there is a specific implementation for Windows and for Unix.

* feat(e2e) - Enabling soft delete when creating keyvaults (#1820)

* fix(e2e) - Change event logging to opt in to specific events only. (#1824)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (#1781)

* (service-client): Refactor and add sas credential (#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (#1797)

* doc(service-client): Update readme about the differnt client and operations (#1798)

* tests(service-client): E2E tests for aad auth on all our clients (#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (#1806)

* feature(service-client): Adding chaching for aad tokens. (#1807)

* fix(service-client)- Add IoT hub token scope. (#1812)

Co-authored-by: David R. Williamson <[email protected]>
Co-authored-by: Abhipsa Misra <[email protected]>
Co-authored-by: bikamani <[email protected]>
Co-authored-by: jamdavi <[email protected]>
vinagesh added a commit that referenced this pull request Mar 22, 2021
* fix: samples readme links were out-of-date (#1784)

* fix: samples arguments and remove 1 more dead link (#1785)

* fix(readme): Update the location of ConsoleEventListener in our readme

* doc(service-client) - Updating readme (#1799)

* fix(doc): Update amqp transport exception doc to have detailed description for quota exceeded error mapping

* feature(device-client): Make the DeviceClient and ModuleClient extensible (#1802)

* doc(service-client): Added extra comments to clarify true and false in dispose (#1805)

* feature,fix (device-client) Handle Twin failures using Amqp (#1796)

* fix(iot-service): Update xml comments for ServiceClient

* fix(iot-device): Update MqttTransportHandler to not use SemaphoreSlim.WaitAsync(TimeSpan, CancellationToken)

* fix(iot-device): Update dotnetty task calls to use ConfigureAwait(true)

* fix(iot-device): Fix MqttTransportHandler to not await on user supplied C2D callback

* IoTHub Exception for Get and Patch Twin failures (#1815)

* fix(edge): UnixDomainSocketEndPoint is available in .NET 2.1 and greater (#1816)

* UnixDomainSocketEndPoint has been standard since 2.1. Allowing later versions to use the correct class

The edge client HSM provider uses UnixDomainSockets (UDS) for communication. Before .NET 2.1 to implement a Unix Socket you had to create your own class to do so. Since 2.1 there has been a native UnixDomainSocketEndPoint class in the runtime.

In 2.1 and 3.1 there is no issue. However in 5.0 there are some changes to the way the Socket class handles the native UnixDomainSocketEndPoint class. I didn't dig down extremely deep, but I suspect it's due to the way the endpoint handles the SocketAddress and the string manipulation there seeing as how there is a specific implementation for Windows and for Unix.

* feat(e2e) - Enabling soft delete when creating keyvaults (#1820)

* fix(e2e) - Change event logging to opt in to specific events only. (#1824)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (#1781)

* (service-client): Refactor and add sas credential (#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (#1797)

* doc(service-client): Update readme about the differnt client and operations (#1798)

* tests(service-client): E2E tests for aad auth on all our clients (#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (#1806)

* feature(service-client): Adding chaching for aad tokens. (#1807)

* fix(service-client)- Add IoT hub token scope. (#1812)

Co-authored-by: David R. Williamson <[email protected]>
Co-authored-by: Abhipsa Misra <[email protected]>
Co-authored-by: bikamani <[email protected]>
Co-authored-by: jamdavi <[email protected]>
vinagesh added a commit that referenced this pull request Mar 22, 2021
* fix: samples readme links were out-of-date (#1784)

* fix: samples arguments and remove 1 more dead link (#1785)

* fix(readme): Update the location of ConsoleEventListener in our readme

* doc(service-client) - Updating readme (#1799)

* fix(doc): Update amqp transport exception doc to have detailed description for quota exceeded error mapping

* feature(device-client): Make the DeviceClient and ModuleClient extensible (#1802)

* doc(service-client): Added extra comments to clarify true and false in dispose (#1805)

* feature,fix (device-client) Handle Twin failures using Amqp (#1796)

* fix(iot-service): Update xml comments for ServiceClient

* fix(iot-device): Update MqttTransportHandler to not use SemaphoreSlim.WaitAsync(TimeSpan, CancellationToken)

* fix(iot-device): Update dotnetty task calls to use ConfigureAwait(true)

* fix(iot-device): Fix MqttTransportHandler to not await on user supplied C2D callback

* IoTHub Exception for Get and Patch Twin failures (#1815)

* fix(edge): UnixDomainSocketEndPoint is available in .NET 2.1 and greater (#1816)

* UnixDomainSocketEndPoint has been standard since 2.1. Allowing later versions to use the correct class

The edge client HSM provider uses UnixDomainSockets (UDS) for communication. Before .NET 2.1 to implement a Unix Socket you had to create your own class to do so. Since 2.1 there has been a native UnixDomainSocketEndPoint class in the runtime.

In 2.1 and 3.1 there is no issue. However in 5.0 there are some changes to the way the Socket class handles the native UnixDomainSocketEndPoint class. I didn't dig down extremely deep, but I suspect it's due to the way the endpoint handles the SocketAddress and the string manipulation there seeing as how there is a specific implementation for Windows and for Unix.

* feat(e2e) - Enabling soft delete when creating keyvaults (#1820)

* fix(e2e) - Change event logging to opt in to specific events only. (#1824)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (#1781)

* (service-client): Refactor and add sas credential (#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (#1797)

* doc(service-client): Update readme about the differnt client and operations (#1798)

* tests(service-client): E2E tests for aad auth on all our clients (#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (#1806)

* feature(service-client): Adding chaching for aad tokens. (#1807)

* fix(service-client)- Add IoT hub token scope. (#1812)

Co-authored-by: David R. Williamson <[email protected]>
Co-authored-by: Abhipsa Misra <[email protected]>
Co-authored-by: bikamani <[email protected]>
Co-authored-by: jamdavi <[email protected]>
vinagesh added a commit that referenced this pull request Mar 23, 2021
* fix: samples readme links were out-of-date (#1784)

* fix: samples arguments and remove 1 more dead link (#1785)

* fix(readme): Update the location of ConsoleEventListener in our readme

* doc(service-client) - Updating readme (#1799)

* fix(doc): Update amqp transport exception doc to have detailed description for quota exceeded error mapping

* feature(device-client): Make the DeviceClient and ModuleClient extensible (#1802)

* doc(service-client): Added extra comments to clarify true and false in dispose (#1805)

* feature,fix (device-client) Handle Twin failures using Amqp (#1796)

* fix(iot-service): Update xml comments for ServiceClient

* fix(iot-device): Update MqttTransportHandler to not use SemaphoreSlim.WaitAsync(TimeSpan, CancellationToken)

* fix(iot-device): Update dotnetty task calls to use ConfigureAwait(true)

* fix(iot-device): Fix MqttTransportHandler to not await on user supplied C2D callback

* IoTHub Exception for Get and Patch Twin failures (#1815)

* fix(edge): UnixDomainSocketEndPoint is available in .NET 2.1 and greater (#1816)

* UnixDomainSocketEndPoint has been standard since 2.1. Allowing later versions to use the correct class

The edge client HSM provider uses UnixDomainSockets (UDS) for communication. Before .NET 2.1 to implement a Unix Socket you had to create your own class to do so. Since 2.1 there has been a native UnixDomainSocketEndPoint class in the runtime.

In 2.1 and 3.1 there is no issue. However in 5.0 there are some changes to the way the Socket class handles the native UnixDomainSocketEndPoint class. I didn't dig down extremely deep, but I suspect it's due to the way the endpoint handles the SocketAddress and the string manipulation there seeing as how there is a specific implementation for Windows and for Unix.

* feat(e2e) - Enabling soft delete when creating keyvaults (#1820)

* fix(e2e) - Change event logging to opt in to specific events only. (#1824)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (#1781)

* (service-client): Refactor and add sas credential (#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (#1797)

* doc(service-client): Update readme about the differnt client and operations (#1798)

* tests(service-client): E2E tests for aad auth on all our clients (#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (#1806)

* feature(service-client): Adding chaching for aad tokens. (#1807)

* fix(service-client)- Add IoT hub token scope. (#1812)

Co-authored-by: David R. Williamson <[email protected]>
Co-authored-by: Abhipsa Misra <[email protected]>
Co-authored-by: bikamani <[email protected]>
Co-authored-by: jamdavi <[email protected]>
vinagesh added a commit that referenced this pull request Mar 23, 2021
* fix: samples readme links were out-of-date (#1784)

* fix: samples arguments and remove 1 more dead link (#1785)

* fix(readme): Update the location of ConsoleEventListener in our readme

* doc(service-client) - Updating readme (#1799)

* fix(doc): Update amqp transport exception doc to have detailed description for quota exceeded error mapping

* feature(device-client): Make the DeviceClient and ModuleClient extensible (#1802)

* doc(service-client): Added extra comments to clarify true and false in dispose (#1805)

* feature,fix (device-client) Handle Twin failures using Amqp (#1796)

* fix(iot-service): Update xml comments for ServiceClient

* fix(iot-device): Update MqttTransportHandler to not use SemaphoreSlim.WaitAsync(TimeSpan, CancellationToken)

* fix(iot-device): Update dotnetty task calls to use ConfigureAwait(true)

* fix(iot-device): Fix MqttTransportHandler to not await on user supplied C2D callback

* IoTHub Exception for Get and Patch Twin failures (#1815)

* fix(edge): UnixDomainSocketEndPoint is available in .NET 2.1 and greater (#1816)

* UnixDomainSocketEndPoint has been standard since 2.1. Allowing later versions to use the correct class

The edge client HSM provider uses UnixDomainSockets (UDS) for communication. Before .NET 2.1 to implement a Unix Socket you had to create your own class to do so. Since 2.1 there has been a native UnixDomainSocketEndPoint class in the runtime.

In 2.1 and 3.1 there is no issue. However in 5.0 there are some changes to the way the Socket class handles the native UnixDomainSocketEndPoint class. I didn't dig down extremely deep, but I suspect it's due to the way the endpoint handles the SocketAddress and the string manipulation there seeing as how there is a specific implementation for Windows and for Unix.

* feat(e2e) - Enabling soft delete when creating keyvaults (#1820)

* fix(e2e) - Change event logging to opt in to specific events only. (#1824)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (#1781)

* (service-client): Refactor and add sas credential (#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (#1797)

* doc(service-client): Update readme about the differnt client and operations (#1798)

* tests(service-client): E2E tests for aad auth on all our clients (#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (#1806)

* feature(service-client): Adding chaching for aad tokens. (#1807)

* fix(service-client)- Add IoT hub token scope. (#1812)

Co-authored-by: David R. Williamson <[email protected]>
Co-authored-by: Abhipsa Misra <[email protected]>
Co-authored-by: bikamani <[email protected]>
Co-authored-by: jamdavi <[email protected]>
vinagesh added a commit that referenced this pull request May 4, 2021
…#1922)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (#1781)

* (service-client): Refactor and add sas credential (#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (#1797)

* doc(service-client): Update readme about the differnt client and operations (#1798)

* tests(service-client): E2E tests for aad auth on all our clients (#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (#1806)

* feature(service-client): Adding chaching for aad tokens. (#1807)

* fix(service-client)- Add IoT hub token scope. (#1812)

* feat(e2e) - Adding azure core and identity event sources. (#1826)

* fix(service-client): Fixing the required format for sending aad tokens to the service (#1834)

* refactor(service-client): Pass the correct amqp audience based on auth type (#1835)

* feat(e2e): Enable tests for IotHub AAD auth (#1861)

* feat(e2e): Enable jobs test on pipeline for aad auth (#1867)

* fix(service-client): Add default value for transpor type. (#1870)

* feat(e2e): Enable aad auth pnp tests now that the service supports it. (#1888)

* feat(e2e-setup): Update script to setup required assets for AAD auth tests (#1920)

* Fix merge error

* Made changes based on PR comments
timstewartm pushed a commit to timstewartm/azure-iot-sdk-csharp that referenced this pull request May 30, 2024
…Azure#1922)

* (service-client): Design for IoT hub AAD authentication

* (service-client: Refactor and add implementation for token credential input) (Azure#1781)

* (service-client): Refactor and add sas credential (Azure#1786)

* (service-client): Add constructors in service client to accept aad and sas tokens. (Azure#1787)

* (service-client): Add constructors in registry manager to accept aad and sas tokens. (Azure#1788)

* (service-client): Add constructors in job client to accept aad and sas tokens. (Azure#1789)

* (service-client): Add constructors to accept aad and sas tokens for digital twins client. (Azure#1790)

* fix(service-client): Support for AzureSasCredential for a better user experience (Azure#1797)

* doc(service-client): Update readme about the differnt client and operations (Azure#1798)

* tests(service-client): E2E tests for aad auth on all our clients (Azure#1800)

* test(service-client): Adding e2e tests for sas credential auth for IoT hub. (Azure#1806)

* feature(service-client): Adding chaching for aad tokens. (Azure#1807)

* fix(service-client)- Add IoT hub token scope. (Azure#1812)

* feat(e2e) - Adding azure core and identity event sources. (Azure#1826)

* fix(service-client): Fixing the required format for sending aad tokens to the service (Azure#1834)

* refactor(service-client): Pass the correct amqp audience based on auth type (Azure#1835)

* feat(e2e): Enable tests for IotHub AAD auth (Azure#1861)

* feat(e2e): Enable jobs test on pipeline for aad auth (Azure#1867)

* fix(service-client): Add default value for transpor type. (Azure#1870)

* feat(e2e): Enable aad auth pnp tests now that the service supports it. (Azure#1888)

* feat(e2e-setup): Update script to setup required assets for AAD auth tests (Azure#1920)

* Fix merge error

* Made changes based on PR comments
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.

3 participants