Skip to content

Commit

Permalink
Bring updates from pnp feature branch to preview (#2196)
Browse files Browse the repository at this point in the history
* feat(shared): Add common resources for convention-based operations

* feat(iot-device): Add support for convention-based telemetry operation

* feat(iot-device): Add support for convention-based command operations

* * feat(iot-device): Add support for convention-based properties operations

* feat(iot-device): Add support for convention-based properties operations

Co-authored-by: James Davis ⛺️🏔 <[email protected]>

* feat(e2e-tests): Add telemetry E2E tests

* feat(e2e-tests): Add command E2E tests

* fix(iot-device): Updating client property collection to handle no convention

* feat(samples): Add thermostat and temperature controller sample

* fix(doc, samples): Update API design doc and move SystemTextJson helper to samples

* fix(iot-device): Separate out root-level and component-level property addition operations

* feat(tests): Add unit tests for ClientPropertyCollection

feat(tests): Add unit tests for ClientPropertyCollection

Co-authored-by: Abhipsa Misra <[email protected]>

* feat(e2e-tests): Add properties E2E tests

Co-authored-by: Abhipsa Misra <[email protected]>

* feat(e2e-tests): Add fault injection tests for properties operations (#2001)

* fix(iot-device, shared, samples): Rename StatusCodes to CommonClientResponseCodes and add a comment to highlight ClientOptions behavior

* fix(iot-device): Fix enumerator implementation to return key-value pairs

* fix(iot-device): Make ClientOptions.PayloadConvention readonly

* fix(shared): Fix from merge conflict

* fix(samples): Update the pnp samples readme (#2025)

* Rename E2ETests.Configuration to TestConfiguration to avoid SDK type name conflict

* Revert "Rename E2ETests.Configuration to TestConfiguration to avoid SDK type name conflict"

This reverts commit 75034e5.

* Rename E2ETests.Configuration to TestConfiguration to avoid SDK type name conflict

* feat(service): add support for DeviceScope to import/export job

* fix(iot-device): Update IoT Hub CONNACK timeout to be 60 seconds

* feat(provisioning-device, prov-amqp, prov-mqtt, prov-https): Add support for timespan timeouts to provisioning device client (#2041)

As discussed in #2036, AMQP provisioning device clients have no way to configure the timeout given to the AMQP library for operations like opening links. This adds overloads to the existing provisioning device client's registerAsync methods that allow for users to configure this timespan timeout.

* fix(iot-device): Update doc comments for MqttTransportSettings

* Add documentation to repo about which platforms this SDK supports (#2046)

fixes #2032

* readme: Update readme to have LTS patch reference

* doc(readme): Updated readme with details on support for device streaming feature. (#2054)

* fix(iot-device): Update the amqp layer to inspect the inner exception for an amqp error code (#2053)

* refactor(samples): Move preview samples to samples repository (#2057)

* fix(e2e-tests): Fix file renaming Configutaion to TestConfiguration

* fix(iot-device): Update connection string validation param

* Update team codeowners

* fix(e2e-tests): Update resource generation script to generate resources
for samples

* initial changeS (#2060)

Co-authored-by: Sindhu Nagesh <[email protected]>

* Adding readme to explain authentication, retry and timeouts in DeviceClient (#2096)

* refactor(iot-device): Rename property add method

* Last of error codes documentation (#2110) (#2074)

refactor(iot-service): Add API example for DeviceAlreadyExists error (#2101)

fix(iot-service): Hide unreferenced error code (#2094)

a few misc errors (#2092)

* a few misc errors

* fixup

Document ArgumentNull (#2091)

Document InvalidOperation and ArgumentInvalid (#2089)

Updating exception details for IotHubThrottledException (#2088)

refactor(iot-service): Add comments for service returned error codes (#2083)

Fix build error (#2087)

Updating exception details for IotHubSuspendedException (#2086)

Updating exception details for IotHubCommunicationException (#2085)

Fix InvalidProtocolVersion documentation. (#2084)

More codes doc'd and code cleanup (#2082)

* More codes doc'd, code clean up

* Update license

* Random is static

* License header

* More codes doc'd, code clean up

More updates to exceptions thrown (#2081)

More error code doc comments

Remove ref to ExponentialBackoff

[Error Codes] Update ThrottleBacklogLimitExceeded error code (#2078)

[Error Codes] Update PreconditionFailed error description (#2077)

* [Error Codes] Update PreconditionFailed error description

* Remove space

[Error Codes] Updated MessageTooLarge (#2073)

* [Error Codes] Updated MessageTooLarge

* Removed en-us where seen

* Remove en-us

* REmove en-us

[Error Codes] Updating UnauthorizedException (#2072)

* [Error Codes] Updating UnauthorizedException

* Remove en-us

* Remove en-us

* Update UnauthorizedException.cs

* Update UnauthorizedException.cs

[Error Codes] Updated ServerErrorException (#2071)

* [Error Codes] Updated ServerErrorException

* Update ServerErrorException.cs

* Update ServerErrorException.cs

* Update ServerErrorException.cs

* Update ServerErrorException.cs

* Update ServerErrorException.cs

[Error Codes] Updated QuotaExceededException (#2070)

* Updated QuotaExceededException classes

* Update QuotaExceededException.cs

* Update QuotaExceededException.cs

Updated ServerBusyException (#2069)

[Error Codes] Update PartitionNotFound error code (#2075)

* [Error Codes] Update PartitionNotFound error code

* remove double lines

* remove double lines

Obsolete error codes that are not throw by the service (#2079)

Fix deprecation messages.

Notes for and deprecation of BlobContainerValidationError, BulkRegistryOperationFailure, and JobQuotaExceeded

Document errors and remove unreferenced file

* Rename readme per style and update reference (#2113)

* * fix(iot-device): TryGetValue methods should check for the component identifier when applicable and should not throw any exceptions (#2111)

* refactor(iot-device): Separate client reported properties into a separate accessor

* fix(iot-device): Add checks to verify that client property update response has version and requestId (#2115)

* refactor(iot-service) Make all clients mockable (#2117)

* refactor(job-client): Make job client easy to mock (#1875)

* refactor(service-client): Make service client easy to mock (#1878)

* refactor(registry-manager): Make registry manager mockable (#1881)

* refactor(digital-twin-client): Make the DigitalTwin client mockable. (#1892)

* refactor(iot-service): Move direct method request file out of JobClient folder into root

* refactor(prov-amqp, prov-mqtt, prov-http): Fix timeout tests failing occasionally (#2121)

* fix(tools): Fix readme for ConsoleEventListener usage (#2123)

* fix(tools): Fix readme for ConsoleEventListener usage

* doc(all): Add documentation for the upcoming service TLS changes for user awareness (#2112)

* fix(doc): Fix typo is readme

* Remove barustum from CODEOWNERS (#2126)

* refactor(ado): Update area paths for analyzers pipeline (#2136)

* refactor(tools-logs): Update log capture script to be configurable and use powershell (#2141)

* refactor(iot-device, prov-mqtt): Target new DotNetty version when not net451 (#2129)

* refactor(doc): Add additional comments to log capture readme

* Bump versions for 2021-08-12 release (#2143)

* fix(readme): Update the LTS support dates readme (#2147)

* fix(e2e): get values from create call to avoid timing issues

* refactor(iot-device): Update the internal method names as per functionality

* refactor(e2e): Remove unnecessary value in keyvault from setup file (#2153)

* fix(e2e): Fix e2e setup script to choose the correct dps endpoint based on region of the resource (#2134)

* fix(readme): Update readme to specify preview strategy

* Removing vinagesh from codebase owners list

* feat(iot-device): Add convenience method for acknowledging writable property update requests

* fix(iot-device): Fix params passed into ObjectDisposedException

* fix(githib): Update github issues template

* Add support for .NET 5 (#2169)

* feat(all): Add support for .NET 5.0

* refactor(all): Update APIs to follow .NET 5.0 patterns

* refactor(e2e-tests): Update E2E tests to follow .NET 5.0 patterns

* refactor(all): Simplify disposal of IDisposable X509Certificate

* fix(vsts): Update the location for log analytics workspace resource

* refactor(e2e-tests): Dispose IDisposable types

* fix(e2e-tests): Dispose IDisposable types created - hmac

* fix(iot-device): Update PayloadCollection to accept dictionary of values (#2171)

* Wrong reference to Device Streaming Sample (#2173)

* Fix link to Device Streaming Sample

* Update iothub/service/samples/readme.md

Co-authored-by: David R. Williamson <[email protected]>

* fix(dps-service): Remove client side validation of x509 CA references format (#2172)

* Add Andy to the repos (#2179)

* Default Branch update: Update master branch to main. (#2183)

* Update master branch to main.

* Update horton-e2e.yaml

* fix(iot-serv): Fix bug where device scope and parent scopes set to device weren't used in bulk add operations (#2189)

#2184

* fix(iot-svc): Cleanup and deprecation warning of code in CryptoKeyGenerator (#2187)

* fix(iot-svc): Add support for GeneratePassword to other targets

* Don't add net472 support, but keep code cleanup

* Add deprecated attribute

* Fix test references by making a local copy for tests

* Add XML docs for exceptions that can be thrown by ModuleClient.SendEventAsync and DeviceClient.SendEventAsync (#2178)

* Add XML docs for exceptions that can be thrown by ModuleClient.SendEventAsync and DeviceClient.SendEventAsync

* Add more XML docs for exceptions for ModuleClient.SendEventAsync and DeviceClient.SendEventAsync

* Update iothub/device/src/DeviceClient.cs

Co-authored-by: David R. Williamson <[email protected]>

* Add using for exceptions

Co-authored-by: David R. Williamson <[email protected]>

* refactor(iot-device): Merge flows for twin and client property operations (#2180)

* fix(e2e-tests): Update E2E tests to initialize and dispose resources correctly

* fix

Co-authored-by: James Davis ⛺️🏔 <[email protected]>
Co-authored-by: jamdavi <[email protected]>
Co-authored-by: David R. Williamson <[email protected]>
Co-authored-by: timtay-microsoft <[email protected]>
Co-authored-by: Sindhu Nagesh <[email protected]>
Co-authored-by: bikamani <[email protected]>
Co-authored-by: Bommas <[email protected]>
Co-authored-by: Basel Rustum <[email protected]>
Co-authored-by: Roman Marusyk <[email protected]>
Co-authored-by: Azad Abbasi <[email protected]>
  • Loading branch information
11 people authored Oct 8, 2021
1 parent f6def99 commit 97cb45f
Show file tree
Hide file tree
Showing 170 changed files with 3,555 additions and 1,591 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Track1 .NET Azure IoT Hub and DPS SDKs

* @drwill-ms @timtay-microsoft @abhipsaMisra @vinagesh @azabbasi @bikamani @barustum @jamdavi
* @drwill-ms @timtay-microsoft @abhipsaMisra @azabbasi @jamdavi @andykwong-ms
18 changes: 9 additions & 9 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,13 @@ That is definitely something we want to hear about. Please open an issue on gith

## Contribute documentation

For simple markdown files, we accept documentation pull requests submitted against the `master` branch, if it's about existing SDK features.
For simple markdown files, we accept documentation pull requests submitted against the `main` branch, if it's about existing SDK features.
If your PR is about future changes or has changes to the comments in the code itself, we'll treat is as a code change (see the next section).

## Contribute code
Our SDKs are open-source and we do accept pull-requests if you feel like taking a stab at fixing the bug and maybe adding your name to our commit history :) Please mention any relevant issue number in the pull request description, and follow the contributing guidelines [below](#contributing-guidelines).

Pull-requests for code are to be submitted against the `master` branch. We will review the request and once approved we will be running it in our gated build system. We try to maintain a high bar for code quality and maintainability, we insist on having tests associated with the code, and if necessary, additions/modifications to the requirement documents.
Pull-requests for code are to be submitted against the `main` branch. We will review the request and once approved we will be running it in our gated build system. We try to maintain a high bar for code quality and maintainability, we insist on having tests associated with the code, and if necessary, additions/modifications to the requirement documents.

Also, have you signed the [Contribution License Agreement](https://cla.microsoft.com/) ([CLA](https://cla.microsoft.com/))? A friendly bot will remind you about it when you submit your pull-request.

Expand All @@ -44,9 +44,9 @@ sure your plans and ours are in sync :) Just open an issue on github and tag it
1. If the change affects the public API, extract the updated public API surface and submit a PR for review. Make sure you get a signoff before you move to Step 2.
2. Post API surface approval, follow the below guidelines for contributing code:

a) Follow the steps [here](https://github.com/Azure/azure-iot-sdk-csharp/blob/master/doc/devbox_setup.md) for setting up your development environment.
a) Follow the steps [here](https://github.com/Azure/azure-iot-sdk-csharp/blob/main/doc/devbox_setup.md) for setting up your development environment.

b) Follow the [C# Coding Style](https://github.com/Azure/azure-iot-sdk-csharp/blob/master/doc/coding-style.md).
b) Follow the [C# Coding Style](https://github.com/Azure/azure-iot-sdk-csharp/blob/main/doc/coding-style.md).

c) Unit Tests:
We write unit tests for any new function or block of application code that impacts the existing behavior of the code.
Expand All @@ -73,9 +73,9 @@ sure your plans and ours are in sync :) Just open an issue on github and tag it
```
d) E2E Tests:
Any new feature or functionality added must have associated end-to-end tests.
1. Update/ Add the E2E tests [here](https://github.com/Azure/azure-iot-sdk-csharp/tree/master/e2e/test).
2. In case environmental setup required for the application is changed, update the pre-requisites [here](https://github.com/Azure/azure-iot-sdk-csharp/tree/master/e2e/test/prerequisites).
3. Run the E2E test suite and ensure that all the tests pass successfully. You can also test against the [CI script](https://github.com/Azure/azure-iot-sdk-csharp/blob/master/jenkins/windows_csharp.cmd) that is used in our gated build system.
1. Update/ Add the E2E tests [here](https://github.com/Azure/azure-iot-sdk-csharp/tree/main/e2e/test).
2. In case environmental setup required for the application is changed, update the pre-requisites [here](https://github.com/Azure/azure-iot-sdk-csharp/tree/main/e2e/test/prerequisites).
3. Run the E2E test suite and ensure that all the tests pass successfully. You can also test against the [CI script](https://github.com/Azure/azure-iot-sdk-csharp/blob/main/jenkins/windows_csharp.cmd) that is used in our gated build system.
e) Samples:
Add relevant samples to the [Azure IoT Samples for C# Repo](https://github.com/Azure-Samples/azure-iot-samples-csharp). Make sure to add a supporting readme file demonstrating the steps to run the sample.
Expand All @@ -100,7 +100,7 @@ sure your plans and ours are in sync :) Just open an issue on github and tag it
}
}
```
3. Post completion of all of the above steps, create a PR against `master`.
3. Post completion of all of the above steps, create a PR against `main`.
#### Commit Guidelines
We have very precise rules over how our git commit messages can be formatted. This leads to more readable messages that are easy to follow when looking through the project history.
Expand Down Expand Up @@ -130,7 +130,7 @@ If the commit reverts a previous commit, it should begin with `revert:`, followe

**Rebase and Squash**

* Its manadatory to squash all your commits per scope (i.e package). It is also important to rebase your commits on master.
* Its manadatory to squash all your commits per scope (i.e package). It is also important to rebase your commits on `main`.
* Optionally you can split your commits on the basis of the package you are providing code to.

**Type**
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,5 @@ Please use your Azure subscription if you need to share any information from you

## Console log of the issue:
<!-- Please share logs as possible, that will help debugging. -->
<!-- See https://github.com/Azure/azure-iot-sdk-csharp/tree/master/tools/CaptureLogs and
<!-- See https://github.com/Azure/azure-iot-sdk-csharp/tree/main/tools/CaptureLogs and
https://github.com/dotnet/corefx/blob/master/Documentation/debugging/windows-instructions.md#traces -->
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Please follow the instructions and template below to save us time requesting add
4. Include enough information for us to address the bug:
- A detailed description.
- A [Minimal Complete Reproducible Example](https://stackoverflow.com/help/mcve). This is code we can cut and paste into a readily available sample and run, or a link to a project you've written that we can compile to reproduce the bug.
- Console logs (https://github.com/Azure/azure-iot-sdk-csharp/tree/master/tools/CaptureLogs).
- Console logs (https://github.com/Azure/azure-iot-sdk-csharp/tree/main/tools/CaptureLogs).

5. Delete these instructions before submitting the bug.

Expand All @@ -51,5 +51,5 @@ Please be as detailed as possible: which feature has a problem, how often does i
Please remove any connection string information!

## Console log of the issue
Consider setting the DEBUG environment variable to '*'. This will produce a much more verbose output that will help debugging
Follow the instructions [here](https://github.com/Azure/azure-iot-sdk-csharp/tree/main/tools/CaptureLogs) to capture SDK logs.
Don't forget to remove any connection string information!
6 changes: 3 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ Need support?
-->

## Checklist
- [ ] I have read the [contribution guidelines](https://github.com/Azure/azure-iot-sdk-csharp/blob/master/.github/CONTRIBUTING.md).
- [ ] I have read the [contribution guidelines](https://github.com/Azure/azure-iot-sdk-csharp/blob/main/.github/CONTRIBUTING.md).
- [ ] 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.
<!-- If not against master, please add the reason. -->
- [ ] This pull-request is submitted against the `main` branch.
<!-- If not against main, please add the reason. -->

## Description of the changes
<!-- Itemized list of changes. -->
Expand Down
7 changes: 7 additions & 0 deletions azureiot.sln
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,17 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{719D18A7-E943-461B-B777-0AAEC43916F5}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
configure_tls_protocol_version_and_ciphers.md = configure_tls_protocol_version_and_ciphers.md
device_connection_and_reliability_readme.md = device_connection_and_reliability_readme.md
readme.md = readme.md
supported_platforms.md = supported_platforms.md
test.runsettings = test.runsettings
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Azure.Devices.Shared.Tests", "shared\tests\Microsoft.Azure.Devices.Shared.Tests.csproj", "{CEEE435F-32FC-4DE5-8735-90F6AC950A01}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{2368415A-9C09-4F47-9636-FDCA4B85C88C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -184,6 +190,7 @@ Global
{275DEE86-1EEA-47C4-A9C5-797DF20EC8A7} = {3AA089A9-A035-439E-BAF6-C3975A334379}
{8E25CDE3-992D-4942-8C38-51A0D8E8EB70} = {9C260BF0-1CCA-45A2-AAB8-6419291B8B88}
{CEEE435F-32FC-4DE5-8735-90F6AC950A01} = {3AA089A9-A035-439E-BAF6-C3975A334379}
{2368415A-9C09-4F47-9636-FDCA4B85C88C} = {A48437BA-3C5B-431E-9B2F-96C850E9E1A5}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AF61665D-340A-494B-9705-571456BDC752}
Expand Down
Loading

0 comments on commit 97cb45f

Please sign in to comment.