From c05e51c4134ff80898917ec0bb51e8975ccbab22 Mon Sep 17 00:00:00 2001 From: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Date: Sun, 2 Feb 2025 18:34:09 -0600 Subject: [PATCH 1/6] Misc improvement for the C# generator - Call `.ConfigureAwait(false)` on Tasks - Use Enumerable.Empty instead of creating a new empty list - Add PolySharp to test project and use C# 12 - Improve C# syntax - Remove redundant `#nullable enable` directives --- .../src/asIs/CollectionItemSerializer.cs | 2 +- .../src/asIs/GrpcRequestOptions.Template.cs | 10 +- .../codegen/src/asIs/RawClient.Template.cs | 123 ++++---- .../src/asIs/RawGrpcClient.Template.cs | 8 +- .../asIs/test/EnumSerializerTests.Template.cs | 36 +-- .../src/asIs/test/RawClientTests.Template.cs | 186 +++++------ .../StringEnumSerializerTests.Template.cs | 9 +- .../src/asIs/test/Template.Test.csproj | 7 +- generators/csharp/codegen/src/ast/Class.ts | 16 + .../codegen/src/ast/MethodInvocation.ts | 13 +- .../csharp/codegen/src/ast/core/Writer.ts | 2 - .../codegen/src/context/CsharpTypeMapper.ts | 2 +- .../src/proto/CsharpProtobufTypeMapper.ts | 17 +- .../codegen/src/proto/ProtobufResolver.ts | 2 +- .../ObjectSerializationTestGenerator.ts | 4 +- .../model/src/snippets/ExampleGenerator.ts | 1 + .../src/endpoint/AbstractEndpointGenerator.ts | 3 +- .../endpoint/http/HttpEndpointGenerator.ts | 3 +- .../MultiUrlEnvironmentGenerator.ts | 5 +- .../SingleUrlEnvironmentGenerator.ts | 2 +- .../src/root-client/RootClientGenerator.ts | 10 +- .../SubPackageClientGenerator.ts | 1 - .../BaseMockServerTestGenerator.ts | 4 +- .../WrappedRequestGenerator.ts | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedAliasExtends.Test.csproj | 7 +- .../src/SeedAliasExtends/Child.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedAliasExtends/Parent.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedAlias.Test/SeedAlias.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- seed/csharp-model/alias/src/SeedAlias/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedAnyAuth.Test/SeedAnyAuth.Test.csproj | 7 +- .../src/SeedAnyAuth/Auth/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../any-auth/src/SeedAnyAuth/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedApiWideBasePath.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedAudiences.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../SeedAudiences/FolderA/Service/Response.cs | 2 - .../src/SeedAudiences/FolderB/Common/Foo.cs | 2 - .../FolderC/Common/FolderCFoo.cs | 2 - .../SeedAudiences/FolderD/Service/Response.cs | 2 - .../src/SeedAudiences/Foo/FilteredType.cs | 2 - .../src/SeedAudiences/Foo/ImportingType.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedAuthEnvironmentVariables.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- ...dBasicAuthEnvironmentVariables.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Errors/UnauthorizedRequestErrorBody.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedBasicAuth.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Errors/UnauthorizedRequestErrorBody.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- ...BearerTokenEnvironmentVariable.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedBytes.Test/SeedBytes.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi/A/A.cs | 2 - .../src/SeedApi/Ast/ObjectFieldValue.cs | 2 - .../src/SeedApi/Ast/ObjectValue.cs | 2 - .../src/SeedApi/Ast/PrimitiveValue.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/ImportingA.cs | 2 - .../src/SeedApi/RootType.cs | 2 - .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../circular-references/src/SeedApi/A/A.cs | 2 - .../src/SeedApi/Ast/ObjectValue.cs | 2 - .../src/SeedApi/Ast/PrimitiveValue.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/ImportingA.cs | 2 - .../src/SeedApi/RootType.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedCrossPackageTypeNames.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../FolderA/Service/Response.cs | 2 - .../FolderB/Common/Foo.cs | 2 - .../FolderC/Common/Foo.cs | 2 - .../FolderD/Service/Response.cs | 2 - .../Foo/ImportingType.cs | 2 - .../.mock/.definition/__package__.yml | 132 ++++++++ .../.mock/.definition/api.yml | 7 + .../.mock/.definition/dataservice.yml | 233 ++++++++++++++ .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi/Column.cs | 5 +- .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/DeleteResponse.cs | 2 - .../src/SeedApi/DescribeResponse.cs | 2 - .../src/SeedApi/FetchResponse.cs | 2 - .../src/SeedApi/IndexedData.cs | 7 +- .../src/SeedApi/ListElement.cs | 2 - .../src/SeedApi/ListResponse.cs | 2 - .../src/SeedApi/Metadata.cs | 2 - .../src/SeedApi/MetadataValue.cs | 2 - .../src/SeedApi/NamespaceSummary.cs | 2 - .../src/SeedApi/Pagination.cs | 2 - .../src/SeedApi/QueryColumn.cs | 5 +- .../src/SeedApi/QueryResponse.cs | 2 - .../src/SeedApi/QueryResult.cs | 2 - .../src/SeedApi/ScoredColumn.cs | 2 - .../src/SeedApi/UpdateResponse.cs | 2 - .../src/SeedApi/UploadResponse.cs | 2 - .../src/SeedApi/Usage.cs | 2 - .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/CreateResponse.cs | 2 - .../csharp-grpc-proto/src/SeedApi/Metadata.cs | 2 - .../src/SeedApi/MetadataValue.cs | 2 - .../src/SeedApi/UserModel.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedCsharpNamespaceConflict.Test.csproj | 7 +- .../src/SeedCsharpNamespaceConflict/A/Aa/A.cs | 2 - .../src/SeedCsharpNamespaceConflict/A/Aa/B.cs | 2 - .../A/Aa/SubTestType.cs | 2 - .../SeedCsharpNamespaceConflict/B/TestType.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Tasktest/Task.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedCustomAuth.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Errors/UnauthorizedRequestErrorBody.cs | 2 - .../Core/StringEnumSerializerTests.cs | 202 ++++++------ .../src/SeedEnum.Test/SeedEnum.Test.csproj | 7 +- .../src/SeedEnum/Color.cs | 2 - .../SeedEnum/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedEnum/Operand.cs | 2 - .../SeedEnum.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedEnum.Test/SeedEnum.Test.csproj | 7 +- .../enum/plain-enums/src/SeedEnum/Color.cs | 2 - .../SeedEnum/Core/CollectionItemSerializer.cs | 2 +- .../enum/plain-enums/src/SeedEnum/Operand.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedErrorProperty.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Errors/PropertyBasedErrorTestBody.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedExamples.Test.csproj | 7 +- .../examples/src/SeedExamples/BasicType.cs | 2 - .../SeedExamples/Commons/Types/Metadata.cs | 2 - .../examples/src/SeedExamples/ComplexType.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../examples/src/SeedExamples/Identifier.cs | 2 - .../examples/src/SeedExamples/Types/Actor.cs | 2 - .../src/SeedExamples/Types/Actress.cs | 2 - .../src/SeedExamples/Types/BigEntity.cs | 2 - .../src/SeedExamples/Types/Directory.cs | 2 - .../examples/src/SeedExamples/Types/Entity.cs | 2 - .../src/SeedExamples/Types/ExceptionInfo.cs | 2 - .../src/SeedExamples/Types/ExtendedMovie.cs | 2 - .../examples/src/SeedExamples/Types/File.cs | 2 - .../src/SeedExamples/Types/Migration.cs | 2 - .../src/SeedExamples/Types/MigrationStatus.cs | 2 - .../examples/src/SeedExamples/Types/Moment.cs | 2 - .../examples/src/SeedExamples/Types/Movie.cs | 2 - .../examples/src/SeedExamples/Types/Node.cs | 2 - .../src/SeedExamples/Types/Request.cs | 2 - .../src/SeedExamples/Types/Response.cs | 2 - .../src/SeedExamples/Types/ResponseType.cs | 2 - .../src/SeedExamples/Types/StuntDouble.cs | 2 - .../examples/src/SeedExamples/Types/Tree.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedExhaustive.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../GeneralErrors/BadObjectRequestInfo.cs | 2 - .../Types/Enum/WeatherReport.cs | 2 - .../Types/Object/DoubleOptional.cs | 2 - .../Object/NestedObjectWithOptionalField.cs | 2 - .../Object/NestedObjectWithRequiredField.cs | 2 - .../Types/Object/ObjectWithMapOfMap.cs | 2 - .../Types/Object/ObjectWithOptionalField.cs | 2 - .../Types/Object/ObjectWithRequiredField.cs | 2 - .../src/SeedExhaustive/Types/Union/Cat.cs | 2 - .../src/SeedExhaustive/Types/Union/Dog.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedExtends.Test/SeedExtends.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../extends/src/SeedExtends/Docs.cs | 2 - .../extends/src/SeedExtends/ExampleType.cs | 2 - .../extends/src/SeedExtends/Json.cs | 2 - .../extends/src/SeedExtends/NestedType.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedExtraProperties.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedExtraProperties/Failure.cs | 2 - .../src/SeedExtraProperties/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedFileDownload.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedFileUpload.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedFileUpload/Service/MyObject.cs | 2 - .../src/SeedFileUpload/Service/ObjectType.cs | 2 - .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedIdempotencyHeaders.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Payment/Currency.cs | 2 - .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../imdb/src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Imdb/CreateMovieRequest.cs | 2 - .../imdb/src/SeedApi/Imdb/Movie.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedLicense.Test/SeedLicense.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../license/src/SeedLicense/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedLiteral.Test/SeedLiteral.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedLiteral/Inlined/ANestedLiteral.cs | 2 - .../SeedLiteral/Inlined/ATopLevelLiteral.cs | 2 - .../SeedLiteral/Reference/ContainerObject.cs | 2 - .../Reference/NestedObjectWithLiterals.cs | 2 - .../src/SeedLiteral/Reference/SendRequest.cs | 2 - .../literal/src/SeedLiteral/SendResponse.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedMixedCase.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedMixedCase/Service/NestedUser.cs | 2 - .../src/SeedMixedCase/Service/Organization.cs | 2 - .../SeedMixedCase/Service/ResourceStatus.cs | 2 - .../src/SeedMixedCase/Service/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedMixedFileDirectory.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Organization/CreateOrganizationRequest.cs | 2 - .../Organization/Organization.cs | 2 - .../User/Events/Event.cs | 2 - .../User/Events/Metadata/Metadata.cs | 2 - .../src/SeedMixedFileDirectory/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedMultiLineDocs.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedMultiLineDocs/Operand.cs | 2 - .../src/SeedMultiLineDocs/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- ...edMultiUrlEnvironmentNoDefault.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedMultiUrlEnvironment.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedNoEnvironment.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedNullable.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedNullable/Nullable/Metadata.cs | 2 - .../src/SeedNullable/Nullable/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedOauthClientCredentials.Test.csproj | 7 +- .../Auth/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- ...dOauthClientCredentialsDefault.Test.csproj | 7 +- .../Auth/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- ...redentialsEnvironmentVariables.Test.csproj | 7 +- .../Auth/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedOauthClientCredentials.Test.csproj | 7 +- .../Auth/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedOauthClientCredentials.Test.csproj | 7 +- .../Auth/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedObject.Test/SeedObject.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../object/src/SeedObject/Name.cs | 2 - .../object/src/SeedObject/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedObjectsWithImports.Test.csproj | 7 +- .../Commons/Metadata/Metadata.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../File/Directory/Directory.cs | 2 - .../src/SeedObjectsWithImports/File/File.cs | 2 - .../SeedObjectsWithImports/File/FileInfo.cs | 2 - .../src/SeedObjectsWithImports/Node.cs | 2 - .../src/SeedObjectsWithImports/Tree.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedObjectsWithImports.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedPackageYml.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedPackageYml/EchoRequest.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedPagination.Test.csproj | 7 +- .../SeedPagination/Complex/Conversation.cs | 2 - .../src/SeedPagination/Complex/CursorPages.cs | 2 - .../Complex/MultipleFilterSearchRequest.cs | 2 - .../MultipleFilterSearchRequestOperator.cs | 2 - .../Complex/PaginatedConversationResponse.cs | 2 - .../SeedPagination/Complex/SearchRequest.cs | 2 - .../Complex/SingleFilterSearchRequest.cs | 2 - .../SingleFilterSearchRequestOperator.cs | 2 - .../Complex/StartingAfterPaging.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedPagination/UsernameCursor.cs | 2 - .../src/SeedPagination/UsernamePage.cs | 2 - .../ListUsersExtendedOptionalListResponse.cs | 2 - .../Users/ListUsersExtendedResponse.cs | 2 - .../ListUsersMixedTypePaginationResponse.cs | 2 - .../Users/ListUsersPaginationResponse.cs | 2 - .../src/SeedPagination/Users/NextPage.cs | 2 - .../src/SeedPagination/Users/Order.cs | 2 - .../src/SeedPagination/Users/Page.cs | 2 - .../src/SeedPagination/Users/User.cs | 2 - .../SeedPagination/Users/UserListContainer.cs | 2 - .../Users/UserOptionalListContainer.cs | 2 - .../Users/UserOptionalListPage.cs | 2 - .../src/SeedPagination/Users/UserPage.cs | 2 - .../SeedPagination/Users/UsernameContainer.cs | 2 - .../src/SeedPagination/Users/WithCursor.cs | 2 - .../src/SeedPagination/Users/WithPage.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedPathParameters.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Organizations/Organization.cs | 2 - .../src/SeedPathParameters/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedPlainText.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedQueryParameters.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../SeedQueryParameters/User/NestedUser.cs | 2 - .../src/SeedQueryParameters/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedNurseryApi.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedNurseryApi/Package/Package.cs | 2 - .../src/SeedNurseryApi/Package/Record.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedResponseProperty.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedResponseProperty/Service/Movie.cs | 2 - .../SeedResponseProperty/Service/Response.cs | 2 - .../SeedResponseProperty/Service/WithDocs.cs | 2 - .../SeedResponseProperty/StringResponse.cs | 2 - .../src/SeedResponseProperty/WithMetadata.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedServerSentEvents.Test.csproj | 7 +- .../Completions/StreamedCompletion.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedServerSentEvents.Test.csproj | 7 +- .../Completions/StreamedCompletion.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../simple-fhir/src/SeedApi/Account.cs | 2 - .../simple-fhir/src/SeedApi/BaseResource.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../simple-fhir/src/SeedApi/Memo.cs | 2 - .../simple-fhir/src/SeedApi/Patient.cs | 2 - .../simple-fhir/src/SeedApi/Practitioner.cs | 2 - .../simple-fhir/src/SeedApi/Script.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- ...eedSingleUrlEnvironmentDefault.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- ...dSingleUrlEnvironmentNoDefault.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedStreaming.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../SeedStreaming/Dummy/RegularResponse.cs | 2 - .../src/SeedStreaming/Dummy/StreamResponse.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedStreaming.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedStreaming/Dummy/StreamResponse.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedTrace.Test/SeedTrace.Test.csproj | 7 +- .../Commons/BinaryTreeNodeAndTreeValue.cs | 2 - .../SeedTrace/Commons/BinaryTreeNodeValue.cs | 2 - .../src/SeedTrace/Commons/BinaryTreeValue.cs | 2 - .../SeedTrace/Commons/DebugKeyValuePairs.cs | 2 - .../src/SeedTrace/Commons/DebugMapValue.cs | 2 - .../DoublyLinkedListNodeAndListValue.cs | 2 - .../Commons/DoublyLinkedListNodeValue.cs | 2 - .../Commons/DoublyLinkedListValue.cs | 2 - .../trace/src/SeedTrace/Commons/FileInfo.cs | 2 - .../src/SeedTrace/Commons/GenericValue.cs | 2 - .../src/SeedTrace/Commons/KeyValuePair.cs | 2 - .../trace/src/SeedTrace/Commons/Language.cs | 2 - .../trace/src/SeedTrace/Commons/ListType.cs | 2 - .../trace/src/SeedTrace/Commons/MapType.cs | 2 - .../trace/src/SeedTrace/Commons/MapValue.cs | 2 - .../SinglyLinkedListNodeAndListValue.cs | 2 - .../Commons/SinglyLinkedListNodeValue.cs | 2 - .../Commons/SinglyLinkedListValue.cs | 2 - .../trace/src/SeedTrace/Commons/TestCase.cs | 2 - .../Commons/TestCaseWithExpectedResult.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedTrace/LangServer/LangServerRequest.cs | 2 - .../LangServer/LangServerResponse.cs | 2 - .../src/SeedTrace/Migration/Migration.cs | 2 - .../SeedTrace/Migration/MigrationStatus.cs | 2 - .../trace/src/SeedTrace/Playlist/Playlist.cs | 2 - .../Playlist/PlaylistCreateRequest.cs | 2 - .../SeedTrace/Playlist/ReservedKeywordEnum.cs | 2 - .../Playlist/UpdatePlaylistRequest.cs | 2 - .../SeedTrace/Problem/CreateProblemRequest.cs | 2 - .../Problem/GenericCreateProblemError.cs | 2 - .../Problem/GetDefaultStarterFilesResponse.cs | 2 - .../SeedTrace/Problem/ProblemDescription.cs | 2 - .../src/SeedTrace/Problem/ProblemFiles.cs | 2 - .../src/SeedTrace/Problem/ProblemInfo.cs | 2 - .../Problem/UpdateProblemResponse.cs | 2 - .../SeedTrace/Problem/VariableTypeAndName.cs | 2 - .../Submission/BuildingExecutorResponse.cs | 2 - .../src/SeedTrace/Submission/CompileError.cs | 2 - .../Submission/CustomTestCasesUnsupported.cs | 2 - .../SeedTrace/Submission/ErroredResponse.cs | 2 - .../src/SeedTrace/Submission/ExceptionInfo.cs | 2 - .../Submission/ExecutionSessionResponse.cs | 2 - .../Submission/ExecutionSessionState.cs | 2 - .../Submission/ExecutionSessionStatus.cs | 2 - .../Submission/ExistingSubmissionExecuting.cs | 2 - .../Submission/ExpressionLocation.cs | 2 - .../SeedTrace/Submission/FinishedResponse.cs | 2 - .../GetExecutionSessionStateResponse.cs | 2 - .../Submission/GetSubmissionStateResponse.cs | 2 - .../GetTraceResponsesPageRequest.cs | 2 - .../SeedTrace/Submission/GradedResponse.cs | 2 - .../SeedTrace/Submission/GradedResponseV2.cs | 2 - .../Submission/GradedTestCaseUpdate.cs | 2 - .../Submission/InitializeProblemRequest.cs | 2 - .../src/SeedTrace/Submission/InternalError.cs | 2 - .../Submission/InvalidRequestResponse.cs | 2 - .../LightweightStackframeInformation.cs | 2 - .../RecordedResponseNotification.cs | 2 - .../Submission/RecordedTestCaseUpdate.cs | 2 - .../RecordingResponseNotification.cs | 2 - .../SeedTrace/Submission/RunningResponse.cs | 2 - .../Submission/RunningSubmissionState.cs | 2 - .../src/SeedTrace/Submission/RuntimeError.cs | 2 - .../trace/src/SeedTrace/Submission/Scope.cs | 2 - .../src/SeedTrace/Submission/StackFrame.cs | 2 - .../SeedTrace/Submission/StackInformation.cs | 2 - .../SeedTrace/Submission/StderrResponse.cs | 2 - .../SeedTrace/Submission/StdoutResponse.cs | 2 - .../src/SeedTrace/Submission/StopRequest.cs | 2 - .../SeedTrace/Submission/StoppedResponse.cs | 2 - .../Submission/SubmissionFileInfo.cs | 2 - .../Submission/SubmissionIdNotFound.cs | 2 - .../Submission/SubmissionTypeEnum.cs | 2 - .../SeedTrace/Submission/SubmitRequestV2.cs | 2 - .../Submission/TerminatedResponse.cs | 2 - .../Submission/TestCaseHiddenGrade.cs | 2 - .../Submission/TestCaseNonHiddenGrade.cs | 2 - .../SeedTrace/Submission/TestCaseResult.cs | 2 - .../Submission/TestCaseResultWithStdout.cs | 2 - .../Submission/TestSubmissionState.cs | 2 - .../Submission/TestSubmissionStatusV2.cs | 2 - .../Submission/TestSubmissionUpdate.cs | 2 - .../src/SeedTrace/Submission/TraceResponse.cs | 2 - .../SeedTrace/Submission/TraceResponseV2.cs | 2 - .../Submission/TraceResponsesPage.cs | 2 - .../Submission/TraceResponsesPageV2.cs | 2 - .../src/SeedTrace/Submission/TracedFile.cs | 2 - .../SeedTrace/Submission/TracedTestCase.cs | 2 - .../Submission/UnexpectedLanguageError.cs | 2 - .../SeedTrace/Submission/WorkspaceFiles.cs | 2 - .../Submission/WorkspaceRanResponse.cs | 2 - .../Submission/WorkspaceRunDetails.cs | 2 - .../WorkspaceStarterFilesResponse.cs | 2 - .../WorkspaceStarterFilesResponseV2.cs | 2 - .../Submission/WorkspaceSubmissionState.cs | 2 - .../Submission/WorkspaceSubmissionStatusV2.cs | 2 - .../Submission/WorkspaceSubmissionUpdate.cs | 2 - .../Submission/WorkspaceSubmitRequest.cs | 2 - .../Submission/WorkspaceTracedUpdate.cs | 2 - .../SeedTrace/V2/Problem/BasicCustomFiles.cs | 2 - .../V2/Problem/BasicTestCaseTemplate.cs | 2 - .../V2/Problem/CreateProblemRequestV2.cs | 2 - .../Problem/DeepEqualityCorrectnessCheck.cs | 2 - .../V2/Problem/DefaultProvidedFile.cs | 2 - .../src/SeedTrace/V2/Problem/FileInfoV2.cs | 2 - .../trace/src/SeedTrace/V2/Problem/Files.cs | 2 - .../V2/Problem/FunctionImplementation.cs | 2 - ...ctionImplementationForMultipleLanguages.cs | 2 - .../SeedTrace/V2/Problem/GeneratedFiles.cs | 2 - .../V2/Problem/GetBasicSolutionFileRequest.cs | 2 - .../Problem/GetBasicSolutionFileResponse.cs | 2 - .../V2/Problem/GetFunctionSignatureRequest.cs | 2 - .../Problem/GetFunctionSignatureResponse.cs | 2 - .../GetGeneratedTestCaseFileRequest.cs | 2 - ...GetGeneratedTestCaseTemplateFileRequest.cs | 2 - .../V2/Problem/LightweightProblemInfoV2.cs | 2 - .../V2/Problem/NonVoidFunctionDefinition.cs | 2 - .../V2/Problem/NonVoidFunctionSignature.cs | 2 - .../src/SeedTrace/V2/Problem/Parameter.cs | 2 - .../src/SeedTrace/V2/Problem/ProblemInfoV2.cs | 2 - .../SeedTrace/V2/Problem/TestCaseExpects.cs | 2 - .../V2/Problem/TestCaseImplementation.cs | 2 - .../TestCaseImplementationDescription.cs | 2 - .../SeedTrace/V2/Problem/TestCaseMetadata.cs | 2 - .../SeedTrace/V2/Problem/TestCaseTemplate.cs | 2 - .../src/SeedTrace/V2/Problem/TestCaseV2.cs | 2 - .../TestCaseWithActualResultImplementation.cs | 2 - .../V2/Problem/VoidFunctionDefinition.cs | 2 - ...FunctionDefinitionThatTakesActualResult.cs | 2 - .../V2/Problem/VoidFunctionSignature.cs | 2 - ...dFunctionSignatureThatTakesActualResult.cs | 2 - .../V2/V3/Problem/BasicCustomFiles.cs | 2 - .../V2/V3/Problem/BasicTestCaseTemplate.cs | 2 - .../V2/V3/Problem/CreateProblemRequestV2.cs | 2 - .../Problem/DeepEqualityCorrectnessCheck.cs | 2 - .../V2/V3/Problem/DefaultProvidedFile.cs | 2 - .../src/SeedTrace/V2/V3/Problem/FileInfoV2.cs | 2 - .../src/SeedTrace/V2/V3/Problem/Files.cs | 2 - .../V2/V3/Problem/FunctionImplementation.cs | 2 - ...ctionImplementationForMultipleLanguages.cs | 2 - .../SeedTrace/V2/V3/Problem/GeneratedFiles.cs | 2 - .../V3/Problem/GetBasicSolutionFileRequest.cs | 2 - .../Problem/GetBasicSolutionFileResponse.cs | 2 - .../V3/Problem/GetFunctionSignatureRequest.cs | 2 - .../Problem/GetFunctionSignatureResponse.cs | 2 - .../GetGeneratedTestCaseFileRequest.cs | 2 - ...GetGeneratedTestCaseTemplateFileRequest.cs | 2 - .../V2/V3/Problem/LightweightProblemInfoV2.cs | 2 - .../V3/Problem/NonVoidFunctionDefinition.cs | 2 - .../V2/V3/Problem/NonVoidFunctionSignature.cs | 2 - .../src/SeedTrace/V2/V3/Problem/Parameter.cs | 2 - .../SeedTrace/V2/V3/Problem/ProblemInfoV2.cs | 2 - .../V2/V3/Problem/TestCaseExpects.cs | 2 - .../V2/V3/Problem/TestCaseImplementation.cs | 2 - .../TestCaseImplementationDescription.cs | 2 - .../V2/V3/Problem/TestCaseMetadata.cs | 2 - .../V2/V3/Problem/TestCaseTemplate.cs | 2 - .../src/SeedTrace/V2/V3/Problem/TestCaseV2.cs | 2 - .../TestCaseWithActualResultImplementation.cs | 2 - .../V2/V3/Problem/VoidFunctionDefinition.cs | 2 - ...FunctionDefinitionThatTakesActualResult.cs | 2 - .../V2/V3/Problem/VoidFunctionSignature.cs | 2 - ...dFunctionSignatureThatTakesActualResult.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedUndiscriminatedUnions.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Union/KeyType.cs | 2 - .../Union/TypeWithOptionalUnion.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedUnions.Test/SeedUnions.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../unions/src/SeedUnions/Types/Bar.cs | 2 - .../unions/src/SeedUnions/Types/Foo.cs | 2 - .../unions/src/SeedUnions/Union/Circle.cs | 2 - .../src/SeedUnions/Union/GetShapeRequest.cs | 2 - .../unions/src/SeedUnions/Union/Square.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedUnknownAsAny.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedUnknownAsAny/Unknown/MyObject.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedValidation.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../validation/src/SeedValidation/Shape.cs | 2 - .../validation/src/SeedValidation/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedVariables.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedVersion.Test/SeedVersion.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedVersion/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedVersion.Test/SeedVersion.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../version/src/SeedVersion/User/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedWebsocket.Test.csproj | 7 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedAliasExtends.Test.csproj | 7 +- .../src/SeedAliasExtends.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../ExtendedInlineRequestBodyTest.cs | 2 - .../Unit/Serialization/ChildTest.cs | 2 - .../Unit/Serialization/ParentTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedAliasExtends/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedAliasExtendsException.cs | 4 +- .../src/SeedAliasExtends/Core/RawClient.cs | 14 +- .../Requests/InlinedChildRequest.cs | 2 - .../SeedAliasExtendsClient.cs | 28 +- .../src/SeedAliasExtends/Types/Child.cs | 2 - .../src/SeedAliasExtends/Types/Parent.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedAlias.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedAlias.Test/SeedAlias.Test.csproj | 7 +- .../alias/src/SeedAlias.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../SeedAlias.Test/Unit/MockServer/GetTest.cs | 2 - .../Unit/Serialization/TypeTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedAlias/Core/IRequestOptions.cs | 2 - .../SeedAlias/Core/Public/ClientOptions.cs | 2 - .../SeedAlias/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedAliasException.cs | 4 +- .../alias/src/SeedAlias/Core/RawClient.cs | 14 +- .../alias/src/SeedAlias/SeedAliasClient.cs | 26 +- .../alias/src/SeedAlias/Types/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedAnyAuth.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedAnyAuth.Test/SeedAnyAuth.Test.csproj | 7 +- .../src/SeedAnyAuth.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetTest.cs | 2 - .../Unit/MockServer/GetTokenTest.cs | 2 - .../src/SeedAnyAuth/Auth/AuthClient.cs | 26 +- .../Auth/Requests/GetTokenRequest.cs | 2 - .../SeedAnyAuth/Auth/Types/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedAnyAuth/Core/IRequestOptions.cs | 2 - .../SeedAnyAuth/Core/Public/ClientOptions.cs | 2 - .../SeedAnyAuth/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedAnyAuthException.cs | 4 +- .../src/SeedAnyAuth/Core/RawClient.cs | 14 +- .../src/SeedAnyAuth/SeedAnyAuthClient.cs | 4 +- .../src/SeedAnyAuth/User/Types/User.cs | 2 - .../src/SeedAnyAuth/User/UserClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedApiWideBasePath.Test.csproj | 7 +- .../SeedApiWideBasePath.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/PostTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedApiWideBasePathException.cs | 4 +- .../src/SeedApiWideBasePath/Core/RawClient.cs | 14 +- .../SeedApiWideBasePathClient.cs | 4 +- .../Service/ServiceClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedAudiences.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedAudiences.Test.csproj | 7 +- .../src/SeedAudiences.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/FindTest.cs | 2 - .../Unit/MockServer/GetDirectThreadTest.cs | 2 - .../SeedAudiences/Commons/CommonsClient.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedAudiences/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedAudiencesEnvironment.cs | 4 +- .../Core/Public/SeedAudiencesException.cs | 4 +- .../src/SeedAudiences/Core/RawClient.cs | 14 +- .../SeedAudiences/FolderA/FolderAClient.cs | 2 - .../FolderA/Service/ServiceClient.cs | 24 +- .../FolderA/Service/Types/Response.cs | 2 - .../FolderB/Common/CommonClient.cs | 2 - .../SeedAudiences/FolderB/Common/Types/Foo.cs | 2 - .../SeedAudiences/FolderB/FolderBClient.cs | 2 - .../FolderC/Common/CommonClient.cs | 2 - .../FolderC/Common/Types/FolderCFoo.cs | 2 - .../SeedAudiences/FolderC/FolderCClient.cs | 2 - .../SeedAudiences/FolderD/FolderDClient.cs | 2 - .../FolderD/Service/ServiceClient.cs | 24 +- .../FolderD/Service/Types/Response.cs | 2 - .../src/SeedAudiences/Foo/FooClient.cs | 28 +- .../SeedAudiences/Foo/Requests/FindRequest.cs | 2 - .../SeedAudiences/Foo/Types/FilteredType.cs | 2 - .../SeedAudiences/Foo/Types/ImportingType.cs | 2 - .../src/SeedAudiences/SeedAudiencesClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedAuthEnvironmentVariables.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetWithApiKeyTest.cs | 2 - .../Unit/MockServer/GetWithHeaderTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedAuthEnvironmentVariablesException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../SeedAuthEnvironmentVariablesClient.cs | 4 +- .../Service/Requests/HeaderAuthRequest.cs | 2 - .../Service/ServiceClient.cs | 48 +-- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ ...dBasicAuthEnvironmentVariables.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetWithBasicAuthTest.cs | 2 - .../Unit/MockServer/PostWithBasicAuthTest.cs | 2 - .../BasicAuth/BasicAuthClient.cs | 48 +-- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - ...dBasicAuthEnvironmentVariablesException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../Errors/ErrorsClient.cs | 2 - .../Errors/Exceptions/BadRequest.cs | 2 +- .../Types/UnauthorizedRequestErrorBody.cs | 2 - ...SeedBasicAuthEnvironmentVariablesClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedBasicAuth.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedBasicAuth.Test.csproj | 7 +- .../src/SeedBasicAuth.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetWithBasicAuthTest.cs | 2 - .../Unit/MockServer/PostWithBasicAuthTest.cs | 2 - .../BasicAuth/BasicAuthClient.cs | 48 +-- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedBasicAuth/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedBasicAuthException.cs | 4 +- .../src/SeedBasicAuth/Core/RawClient.cs | 14 +- .../src/SeedBasicAuth/Errors/ErrorsClient.cs | 2 - .../Errors/Exceptions/BadRequest.cs | 2 +- .../Types/UnauthorizedRequestErrorBody.cs | 2 - .../src/SeedBasicAuth/SeedBasicAuthClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ ...BearerTokenEnvironmentVariable.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetWithBearerTokenTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - ...BearerTokenEnvironmentVariableException.cs | 4 +- .../Core/RawClient.cs | 14 +- ...eedBearerTokenEnvironmentVariableClient.cs | 4 +- .../Service/ServiceClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedBytes.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedBytes.Test/SeedBytes.Test.csproj | 7 +- .../bytes/src/SeedBytes.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedBytes/Core/IRequestOptions.cs | 2 - .../SeedBytes/Core/Public/ClientOptions.cs | 2 - .../SeedBytes/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedBytesException.cs | 4 +- .../bytes/src/SeedBytes/Core/RawClient.cs | 14 +- .../bytes/src/SeedBytes/SeedBytesClient.cs | 4 +- .../src/SeedBytes/Service/ServiceClient.cs | 28 +- .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../src/SeedApi/A/AClient.cs | 2 - .../src/SeedApi/A/Types/A.cs | 2 - .../src/SeedApi/Ast/AstClient.cs | 2 - .../src/SeedApi/Ast/Types/ObjectFieldValue.cs | 2 - .../src/SeedApi/Ast/Types/ObjectValue.cs | 2 - .../src/SeedApi/Ast/Types/PrimitiveValue.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/SeedApiClient.cs | 4 +- .../src/SeedApi/Types/ImportingA.cs | 2 - .../src/SeedApi/Types/RootType.cs | 2 - .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../src/SeedApi/A/AClient.cs | 2 - .../src/SeedApi/A/Types/A.cs | 2 - .../src/SeedApi/Ast/AstClient.cs | 2 - .../src/SeedApi/Ast/Types/ObjectValue.cs | 2 - .../src/SeedApi/Ast/Types/PrimitiveValue.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/SeedApiClient.cs | 4 +- .../src/SeedApi/Types/ImportingA.cs | 2 - .../src/SeedApi/Types/RootType.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedCrossPackageTypeNames.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/FindTest.cs | 2 - .../Unit/MockServer/GetDirectThreadTest.cs | 2 - .../Commons/CommonsClient.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedCrossPackageTypeNamesException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../FolderA/FolderAClient.cs | 2 - .../FolderA/Service/ServiceClient.cs | 24 +- .../FolderA/Service/Types/Response.cs | 2 - .../FolderB/Common/CommonClient.cs | 2 - .../FolderB/Common/Types/Foo.cs | 2 - .../FolderB/FolderBClient.cs | 2 - .../FolderC/Common/CommonClient.cs | 2 - .../FolderC/Common/Types/Foo.cs | 2 - .../FolderC/FolderCClient.cs | 2 - .../FolderD/FolderDClient.cs | 2 - .../FolderD/Service/ServiceClient.cs | 24 +- .../FolderD/Service/Types/Response.cs | 2 - .../Foo/FooClient.cs | 28 +- .../Foo/Requests/FindRequest.cs | 2 - .../Foo/Types/ImportingType.cs | 2 - .../SeedCrossPackageTypeNamesClient.cs | 4 +- .../.mock/.definition/__package__.yml | 132 ++++++++ .../.mock/.definition/api.yml | 7 + .../.mock/.definition/dataservice.yml | 233 ++++++++++++++ .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../SeedApi/Core/Public/GrpcRequestOptions.cs | 4 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiEnvironment.cs | 2 +- .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/Core/RawGrpcClient.cs | 3 +- .../SeedApi/Dataservice/DataserviceClient.cs | 24 +- .../Dataservice/Requests/DeleteRequest.cs | 2 - .../Dataservice/Requests/DescribeRequest.cs | 2 - .../Dataservice/Requests/FetchRequest.cs | 2 - .../Dataservice/Requests/ListRequest.cs | 2 - .../Dataservice/Requests/QueryRequest.cs | 2 - .../Dataservice/Requests/UpdateRequest.cs | 2 - .../Dataservice/Requests/UploadRequest.cs | 2 - .../src/SeedApi/SeedApiClient.cs | 4 +- .../src/SeedApi/Types/Column.cs | 5 +- .../src/SeedApi/Types/DeleteResponse.cs | 2 - .../src/SeedApi/Types/DescribeResponse.cs | 2 - .../src/SeedApi/Types/FetchResponse.cs | 2 - .../src/SeedApi/Types/IndexedData.cs | 7 +- .../src/SeedApi/Types/ListElement.cs | 2 - .../src/SeedApi/Types/ListResponse.cs | 2 - .../src/SeedApi/Types/Metadata.cs | 2 - .../src/SeedApi/Types/MetadataValue.cs | 2 - .../src/SeedApi/Types/NamespaceSummary.cs | 2 - .../src/SeedApi/Types/Pagination.cs | 2 - .../src/SeedApi/Types/QueryColumn.cs | 5 +- .../src/SeedApi/Types/QueryResponse.cs | 2 - .../src/SeedApi/Types/QueryResult.cs | 2 - .../src/SeedApi/Types/ScoredColumn.cs | 2 - .../src/SeedApi/Types/UpdateResponse.cs | 2 - .../src/SeedApi/Types/UploadResponse.cs | 2 - .../src/SeedApi/Types/Usage.cs | 2 - .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../SeedApi/Core/Public/GrpcRequestOptions.cs | 4 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/Core/RawGrpcClient.cs | 3 +- .../src/SeedApi/SeedApiClient.cs | 4 +- .../src/SeedApi/Types/CreateResponse.cs | 2 - .../src/SeedApi/Types/Metadata.cs | 2 - .../src/SeedApi/Types/MetadataValue.cs | 2 - .../src/SeedApi/Types/UserModel.cs | 2 - .../Userservice/Requests/CreateRequest.cs | 2 - .../SeedApi/Userservice/UserserviceClient.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedCsharpNamespaceConflict.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/HelloTest.cs | 2 - .../SeedCsharpNamespaceConflict/A/AClient.cs | 2 - .../A/Aa/AaClient.cs | 2 - .../A/Aa/Types/A.cs | 2 - .../A/Aa/Types/B.cs | 2 - .../A/Aa/Types/SubTestType.cs | 2 - .../SeedCsharpNamespaceConflict/B/BClient.cs | 2 - .../B/Types/TestType.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedCsharpNamespaceConflictException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../SeedCsharpNamespaceConflictClient.cs | 4 +- .../Tasktest/TasktestClient.cs | 24 +- .../Tasktest/Types/Task.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedCustomAuth.Test.csproj | 7 +- .../src/SeedCustomAuth.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetWithCustomAuthTest.cs | 2 - .../Unit/MockServer/PostWithCustomAuthTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedCustomAuth/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedCustomAuthException.cs | 4 +- .../src/SeedCustomAuth/Core/RawClient.cs | 14 +- .../CustomAuth/CustomAuthClient.cs | 48 +-- .../src/SeedCustomAuth/Errors/ErrorsClient.cs | 2 - .../Errors/Exceptions/BadRequest.cs | 2 +- .../Types/UnauthorizedRequestErrorBody.cs | 2 - .../SeedCustomAuth/SeedCustomAuthClient.cs | 4 +- .../src/SeedEnum.Test/Core/RawClientTests.cs | 193 ++++++------ .../Core/StringEnumSerializerTests.cs | 202 ++++++------ .../src/SeedEnum.Test/SeedEnum.Test.csproj | 7 +- .../src/SeedEnum.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/SendListTest.cs | 2 - .../SeedEnum.Test/Unit/MockServer/SendTest.cs | 2 - .../SeedEnum/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedEnum/Core/IRequestOptions.cs | 2 - .../src/SeedEnum/Core/Public/ClientOptions.cs | 2 - .../SeedEnum/Core/Public/RequestOptions.cs | 2 - .../SeedEnum/Core/Public/SeedEnumException.cs | 4 +- .../src/SeedEnum/Core/RawClient.cs | 14 +- .../InlinedRequest/InlinedRequestClient.cs | 26 +- .../Requests/SendEnumInlinedRequest.cs | 2 - .../src/SeedEnum/PathParam/PathParamClient.cs | 24 +- .../SeedEnum/QueryParam/QueryParamClient.cs | 50 +-- .../Requests/SendEnumAsQueryParamRequest.cs | 2 - .../SendEnumListAsQueryParamRequest.cs | 2 - .../src/SeedEnum/SeedEnumClient.cs | 4 +- .../src/SeedEnum/Types/Color.cs | 2 - .../src/SeedEnum/Types/Operand.cs | 2 - .../SeedEnum.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedEnum.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedEnum.Test/SeedEnum.Test.csproj | 7 +- .../src/SeedEnum.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/SendListTest.cs | 2 - .../SeedEnum.Test/Unit/MockServer/SendTest.cs | 2 - .../SeedEnum/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedEnum/Core/IRequestOptions.cs | 2 - .../src/SeedEnum/Core/Public/ClientOptions.cs | 2 - .../SeedEnum/Core/Public/RequestOptions.cs | 2 - .../SeedEnum/Core/Public/SeedEnumException.cs | 4 +- .../src/SeedEnum/Core/RawClient.cs | 14 +- .../InlinedRequest/InlinedRequestClient.cs | 26 +- .../Requests/SendEnumInlinedRequest.cs | 2 - .../src/SeedEnum/PathParam/PathParamClient.cs | 24 +- .../SeedEnum/QueryParam/QueryParamClient.cs | 50 +-- .../Requests/SendEnumAsQueryParamRequest.cs | 2 - .../SendEnumListAsQueryParamRequest.cs | 2 - .../src/SeedEnum/SeedEnumClient.cs | 4 +- .../plain-enums/src/SeedEnum/Types/Color.cs | 2 - .../plain-enums/src/SeedEnum/Types/Operand.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedErrorProperty.Test.csproj | 7 +- .../src/SeedErrorProperty.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/ThrowErrorTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedErrorProperty/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedErrorPropertyException.cs | 4 +- .../src/SeedErrorProperty/Core/RawClient.cs | 14 +- .../SeedErrorProperty/Errors/ErrorsClient.cs | 2 - .../Types/PropertyBasedErrorTestBody.cs | 2 - .../PropertyBasedErrorClient.cs | 24 +- .../SeedErrorPropertyClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedExamples.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedExamples.Test.csproj | 7 +- .../src/SeedExamples.Test/TestClient.cs | 4 +- .../Unit/Serialization/ActressTest.cs | 2 - .../Unit/Serialization/DirectoryTest.cs | 2 - .../Unit/Serialization/EntityTest.cs | 2 - .../Unit/Serialization/ExceptionInfoTest.cs | 2 - .../Unit/Serialization/ExtendedMovieTest.cs | 2 - .../Unit/Serialization/FileTest.cs | 2 - .../Unit/Serialization/MetadataTest.cs | 2 - .../Unit/Serialization/MigrationTest.cs | 2 - .../Unit/Serialization/MomentTest.cs | 2 - .../Unit/Serialization/MovieTest.cs | 2 - .../Unit/Serialization/NodeTest.cs | 2 - .../Unit/Serialization/RequestTest.cs | 2 - .../Unit/Serialization/ResponseTest.cs | 2 - .../Unit/Serialization/TreeTest.cs | 2 - .../src/SeedExamples/Commons/CommonsClient.cs | 2 - .../Commons/Types/Types/Metadata.cs | 2 - .../SeedExamples/Commons/Types/TypesClient.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedExamples/Core/IRequestOptions.cs | 2 - .../SeedExamples/Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedExamplesEnvironment.cs | 4 +- .../Core/Public/SeedExamplesException.cs | 2 +- .../src/SeedExamples/Core/RawClient.cs | 14 +- .../src/SeedExamples/File/FileClient.cs | 2 - .../File/Notification/NotificationClient.cs | 2 - .../Notification/Service/ServiceClient.cs | 24 +- .../File/Service/Requests/GetFileRequest.cs | 2 - .../File/Service/ServiceClient.cs | 26 +- .../src/SeedExamples/Health/HealthClient.cs | 2 - .../Health/Service/ServiceClient.cs | 46 +-- .../src/SeedExamples/SeedExamplesClient.cs | 52 ++-- .../Service/Requests/GetMetadataRequest.cs | 2 - .../src/SeedExamples/Service/ServiceClient.cs | 98 +++--- .../src/SeedExamples/Types/BasicType.cs | 2 - .../src/SeedExamples/Types/ComplexType.cs | 2 - .../src/SeedExamples/Types/Identifier.cs | 2 - .../src/SeedExamples/Types/Types/Actor.cs | 2 - .../src/SeedExamples/Types/Types/Actress.cs | 2 - .../src/SeedExamples/Types/Types/BigEntity.cs | 2 - .../src/SeedExamples/Types/Types/Directory.cs | 2 - .../src/SeedExamples/Types/Types/Entity.cs | 2 - .../SeedExamples/Types/Types/ExceptionInfo.cs | 2 - .../SeedExamples/Types/Types/ExtendedMovie.cs | 2 - .../src/SeedExamples/Types/Types/File.cs | 2 - .../src/SeedExamples/Types/Types/Migration.cs | 2 - .../Types/Types/MigrationStatus.cs | 2 - .../src/SeedExamples/Types/Types/Moment.cs | 2 - .../src/SeedExamples/Types/Types/Movie.cs | 2 - .../src/SeedExamples/Types/Types/Node.cs | 2 - .../src/SeedExamples/Types/Types/Request.cs | 2 - .../src/SeedExamples/Types/Types/Response.cs | 2 - .../SeedExamples/Types/Types/ResponseType.cs | 2 - .../SeedExamples/Types/Types/StuntDouble.cs | 2 - .../src/SeedExamples/Types/Types/Tree.cs | 2 - .../src/SeedExamples/Types/TypesClient.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedExamples.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedExamples.Test.csproj | 7 +- .../src/SeedExamples.Test/TestClient.cs | 4 +- .../Unit/Serialization/ActressTest.cs | 2 - .../Unit/Serialization/DirectoryTest.cs | 2 - .../Unit/Serialization/EntityTest.cs | 2 - .../Unit/Serialization/ExceptionInfoTest.cs | 2 - .../Unit/Serialization/ExtendedMovieTest.cs | 2 - .../Unit/Serialization/FileTest.cs | 2 - .../Unit/Serialization/MetadataTest.cs | 2 - .../Unit/Serialization/MigrationTest.cs | 2 - .../Unit/Serialization/MomentTest.cs | 2 - .../Unit/Serialization/MovieTest.cs | 2 - .../Unit/Serialization/NodeTest.cs | 2 - .../Unit/Serialization/RequestTest.cs | 2 - .../Unit/Serialization/ResponseTest.cs | 2 - .../Unit/Serialization/TreeTest.cs | 2 - .../src/SeedExamples/Commons/CommonsClient.cs | 2 - .../Commons/Types/Types/Metadata.cs | 2 - .../SeedExamples/Commons/Types/TypesClient.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedExamples/Core/IRequestOptions.cs | 2 - .../SeedExamples/Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedExamplesEnvironment.cs | 4 +- .../Core/Public/SeedExamplesException.cs | 2 +- .../src/SeedExamples/Core/RawClient.cs | 14 +- .../src/SeedExamples/File/FileClient.cs | 2 - .../File/Notification/NotificationClient.cs | 2 - .../Notification/Service/ServiceClient.cs | 24 +- .../File/Service/Requests/GetFileRequest.cs | 2 - .../File/Service/ServiceClient.cs | 26 +- .../src/SeedExamples/Health/HealthClient.cs | 2 - .../Health/Service/ServiceClient.cs | 46 +-- .../src/SeedExamples/SeedExamplesClient.cs | 52 ++-- .../Service/Requests/GetMetadataRequest.cs | 2 - .../src/SeedExamples/Service/ServiceClient.cs | 98 +++--- .../src/SeedExamples/Types/BasicType.cs | 2 - .../src/SeedExamples/Types/ComplexType.cs | 2 - .../src/SeedExamples/Types/Identifier.cs | 2 - .../src/SeedExamples/Types/Types/Actor.cs | 2 - .../src/SeedExamples/Types/Types/Actress.cs | 2 - .../src/SeedExamples/Types/Types/BigEntity.cs | 2 - .../src/SeedExamples/Types/Types/Directory.cs | 2 - .../src/SeedExamples/Types/Types/Entity.cs | 2 - .../SeedExamples/Types/Types/ExceptionInfo.cs | 2 - .../SeedExamples/Types/Types/ExtendedMovie.cs | 2 - .../src/SeedExamples/Types/Types/File.cs | 2 - .../src/SeedExamples/Types/Types/Migration.cs | 2 - .../Types/Types/MigrationStatus.cs | 2 - .../src/SeedExamples/Types/Types/Moment.cs | 2 - .../src/SeedExamples/Types/Types/Movie.cs | 2 - .../src/SeedExamples/Types/Types/Node.cs | 2 - .../src/SeedExamples/Types/Types/Request.cs | 2 - .../src/SeedExamples/Types/Types/Response.cs | 2 - .../SeedExamples/Types/Types/ResponseType.cs | 2 - .../SeedExamples/Types/Types/StuntDouble.cs | 2 - .../src/SeedExamples/Types/Types/Tree.cs | 2 - .../src/SeedExamples/Types/TypesClient.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedExhaustive.Test.csproj | 7 +- .../src/SeedExhaustive.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetAndReturnBase64Test.cs | 2 - .../Unit/MockServer/GetAndReturnBoolTest.cs | 2 - .../Unit/MockServer/GetAndReturnDateTest.cs | 2 - .../MockServer/GetAndReturnDatetimeTest.cs | 2 - .../Unit/MockServer/GetAndReturnDoubleTest.cs | 2 - .../Unit/MockServer/GetAndReturnEnumTest.cs | 2 - .../Unit/MockServer/GetAndReturnIntTest.cs | 2 - .../GetAndReturnListOfObjectsTest.cs | 2 - .../GetAndReturnListOfPrimitivesTest.cs | 2 - .../Unit/MockServer/GetAndReturnLongTest.cs | 2 - .../GetAndReturnMapOfPrimToObjectTest.cs | 2 - .../GetAndReturnMapPrimToPrimTest.cs | 2 - ...GetAndReturnNestedWithOptionalFieldTest.cs | 2 - ...ReturnNestedWithRequiredFieldAsListTest.cs | 2 - ...GetAndReturnNestedWithRequiredFieldTest.cs | 2 - .../MockServer/GetAndReturnOptionalTest.cs | 2 - .../GetAndReturnSetOfObjectsTest.cs | 2 - .../GetAndReturnSetOfPrimitivesTest.cs | 2 - .../Unit/MockServer/GetAndReturnStringTest.cs | 2 - .../Unit/MockServer/GetAndReturnUnionTest.cs | 2 - .../Unit/MockServer/GetAndReturnUuidTest.cs | 2 - .../GetAndReturnWithMapOfMapTest.cs | 2 - .../GetAndReturnWithOptionalFieldTest.cs | 2 - .../GetAndReturnWithRequiredFieldTest.cs | 2 - .../GetWithAllowMultipleQueryTest.cs | 2 - .../MockServer/GetWithCustomHeaderTest.cs | 2 - .../GetWithInlinePathAndQueryTest.cs | 2 - .../Unit/MockServer/GetWithInlinePathTest.cs | 2 - .../MockServer/GetWithNoRequestBodyTest.cs | 2 - .../MockServer/GetWithPathAndQueryTest.cs | 2 - .../Unit/MockServer/GetWithPathTest.cs | 2 - .../Unit/MockServer/GetWithQueryTest.cs | 2 - .../MockServer/ModifyWithInlinePathTest.cs | 2 - .../Unit/MockServer/ModifyWithPathTest.cs | 2 - .../PostJsonPatchContentTypeTest.cs | 2 - ...PostJsonPatchContentWithCharsetTypeTest.cs | 2 - .../Unit/MockServer/PostWithNoAuthTest.cs | 2 - .../MockServer/PostWithNoRequestBodyTest.cs | 2 - .../PostWithObjectBodyandResponseTest.cs | 2 - .../Unit/MockServer/TestDeleteTest.cs | 2 - .../Unit/MockServer/TestGetTest.cs | 2 - .../Unit/MockServer/TestPatchTest.cs | 2 - .../Unit/MockServer/TestPostTest.cs | 2 - .../Unit/MockServer/TestPutTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedExhaustive/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedExhaustiveException.cs | 4 +- .../src/SeedExhaustive/Core/RawClient.cs | 14 +- .../Endpoints/Container/ContainerClient.cs | 170 +++++----- .../ContentType/ContentTypeClient.cs | 54 ++-- .../Endpoints/EndpointsClient.cs | 2 - .../Endpoints/Enum/EnumClient.cs | 26 +- .../HttpMethods/HttpMethodsClient.cs | 118 +++---- .../Endpoints/Object/ObjectClient.cs | 146 +++++---- .../Endpoints/Params/ParamsClient.cs | 190 ++++++------ .../Params/Requests/GetWithInlinePath.cs | 2 - .../Requests/GetWithInlinePathAndQuery.cs | 2 - .../Params/Requests/GetWithMultipleQuery.cs | 2 - .../Params/Requests/GetWithPathAndQuery.cs | 2 - .../Endpoints/Params/Requests/GetWithQuery.cs | 2 - .../Requests/ModifyResourceAtInlinedPath.cs | 2 - .../Endpoints/Primitive/PrimitiveClient.cs | 218 +++++++------ .../Endpoints/Union/UnionClient.cs | 26 +- .../Exceptions/BadRequestBody.cs | 2 - .../GeneralErrors/GeneralErrorsClient.cs | 2 - .../Types/BadObjectRequestInfo.cs | 2 - .../InlinedRequests/InlinedRequestsClient.cs | 26 +- .../Requests/PostWithObjectBody.cs | 2 - .../src/SeedExhaustive/NoAuth/NoAuthClient.cs | 26 +- .../NoReqBody/NoReqBodyClient.cs | 46 +-- .../ReqWithHeaders/ReqWithHeadersClient.cs | 28 +- .../ReqWithHeaders/Requests/ReqWithHeaders.cs | 2 - .../SeedExhaustive/SeedExhaustiveClient.cs | 4 +- .../SeedExhaustive/Types/Enum/EnumClient.cs | 2 - .../Enum/Exceptions/ErrorWithEnumBody.cs | 2 - .../Types/Enum/Types/WeatherReport.cs | 2 - .../NestedObjectWithOptionalFieldError.cs | 2 - .../NestedObjectWithRequiredFieldError.cs | 2 - .../ObjectWithOptionalFieldError.cs | 2 - .../ObjectWithRequiredFieldError.cs | 2 - .../Types/Object/ObjectClient.cs | 2 - .../Types/Object/Types/DoubleOptional.cs | 2 - .../Types/NestedObjectWithOptionalField.cs | 2 - .../Types/NestedObjectWithRequiredField.cs | 2 - .../Types/Object/Types/ObjectWithMapOfMap.cs | 2 - .../Object/Types/ObjectWithOptionalField.cs | 2 - .../Object/Types/ObjectWithRequiredField.cs | 2 - .../src/SeedExhaustive/Types/TypesClient.cs | 2 - .../Union/Exceptions/ErrorWithUnionBody.cs | 2 - .../SeedExhaustive/Types/Union/Types/Cat.cs | 2 - .../SeedExhaustive/Types/Union/Types/Dog.cs | 2 - .../SeedExhaustive/Types/Union/UnionClient.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedExhaustive.Test.csproj | 7 +- .../src/SeedExhaustive.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetAndReturnBase64Test.cs | 2 - .../Unit/MockServer/GetAndReturnBoolTest.cs | 2 - .../Unit/MockServer/GetAndReturnDateTest.cs | 2 - .../MockServer/GetAndReturnDatetimeTest.cs | 2 - .../Unit/MockServer/GetAndReturnDoubleTest.cs | 2 - .../Unit/MockServer/GetAndReturnEnumTest.cs | 2 - .../Unit/MockServer/GetAndReturnIntTest.cs | 2 - .../GetAndReturnListOfObjectsTest.cs | 2 - .../GetAndReturnListOfPrimitivesTest.cs | 2 - .../Unit/MockServer/GetAndReturnLongTest.cs | 2 - .../GetAndReturnMapOfPrimToObjectTest.cs | 2 - .../GetAndReturnMapPrimToPrimTest.cs | 2 - ...GetAndReturnNestedWithOptionalFieldTest.cs | 2 - ...ReturnNestedWithRequiredFieldAsListTest.cs | 2 - ...GetAndReturnNestedWithRequiredFieldTest.cs | 2 - .../MockServer/GetAndReturnOptionalTest.cs | 2 - .../GetAndReturnSetOfObjectsTest.cs | 2 - .../GetAndReturnSetOfPrimitivesTest.cs | 2 - .../Unit/MockServer/GetAndReturnStringTest.cs | 2 - .../Unit/MockServer/GetAndReturnUnionTest.cs | 2 - .../Unit/MockServer/GetAndReturnUuidTest.cs | 2 - .../GetAndReturnWithMapOfMapTest.cs | 2 - .../GetAndReturnWithOptionalFieldTest.cs | 2 - .../GetAndReturnWithRequiredFieldTest.cs | 2 - .../GetWithAllowMultipleQueryTest.cs | 2 - .../MockServer/GetWithCustomHeaderTest.cs | 2 - .../GetWithInlinePathAndQueryTest.cs | 2 - .../Unit/MockServer/GetWithInlinePathTest.cs | 2 - .../MockServer/GetWithNoRequestBodyTest.cs | 2 - .../MockServer/GetWithPathAndQueryTest.cs | 2 - .../Unit/MockServer/GetWithPathTest.cs | 2 - .../Unit/MockServer/GetWithQueryTest.cs | 2 - .../MockServer/ModifyWithInlinePathTest.cs | 2 - .../Unit/MockServer/ModifyWithPathTest.cs | 2 - .../PostJsonPatchContentTypeTest.cs | 2 - ...PostJsonPatchContentWithCharsetTypeTest.cs | 2 - .../Unit/MockServer/PostWithNoAuthTest.cs | 2 - .../MockServer/PostWithNoRequestBodyTest.cs | 2 - .../PostWithObjectBodyandResponseTest.cs | 2 - .../Unit/MockServer/TestDeleteTest.cs | 2 - .../Unit/MockServer/TestGetTest.cs | 2 - .../Unit/MockServer/TestPatchTest.cs | 2 - .../Unit/MockServer/TestPostTest.cs | 2 - .../Unit/MockServer/TestPutTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedExhaustive/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedExhaustiveException.cs | 4 +- .../src/SeedExhaustive/Core/RawClient.cs | 14 +- .../Endpoints/Container/ContainerClient.cs | 170 +++++----- .../ContentType/ContentTypeClient.cs | 54 ++-- .../Endpoints/EndpointsClient.cs | 2 - .../Endpoints/Enum/EnumClient.cs | 26 +- .../HttpMethods/HttpMethodsClient.cs | 118 +++---- .../Endpoints/Object/ObjectClient.cs | 146 +++++---- .../Endpoints/Params/ParamsClient.cs | 190 ++++++------ .../Params/Requests/GetWithInlinePath.cs | 2 - .../Requests/GetWithInlinePathAndQuery.cs | 2 - .../Params/Requests/GetWithMultipleQuery.cs | 2 - .../Params/Requests/GetWithPathAndQuery.cs | 2 - .../Endpoints/Params/Requests/GetWithQuery.cs | 2 - .../Requests/ModifyResourceAtInlinedPath.cs | 2 - .../Endpoints/Primitive/PrimitiveClient.cs | 218 +++++++------ .../Endpoints/Union/UnionClient.cs | 26 +- .../GeneralErrors/GeneralErrorsClient.cs | 2 - .../Types/BadObjectRequestInfo.cs | 2 - .../InlinedRequests/InlinedRequestsClient.cs | 26 +- .../Requests/PostWithObjectBody.cs | 2 - .../src/SeedExhaustive/NoAuth/NoAuthClient.cs | 26 +- .../NoReqBody/NoReqBodyClient.cs | 46 +-- .../ReqWithHeaders/ReqWithHeadersClient.cs | 28 +- .../ReqWithHeaders/Requests/ReqWithHeaders.cs | 2 - .../SeedExhaustive/SeedExhaustiveClient.cs | 4 +- .../SeedExhaustive/Types/Enum/EnumClient.cs | 2 - .../Types/Enum/Types/WeatherReport.cs | 2 - .../Types/Object/ObjectClient.cs | 2 - .../Types/Object/Types/DoubleOptional.cs | 2 - .../Types/NestedObjectWithOptionalField.cs | 2 - .../Types/NestedObjectWithRequiredField.cs | 2 - .../Types/Object/Types/ObjectWithMapOfMap.cs | 2 - .../Object/Types/ObjectWithOptionalField.cs | 2 - .../Object/Types/ObjectWithRequiredField.cs | 2 - .../src/SeedExhaustive/Types/TypesClient.cs | 2 - .../SeedExhaustive/Types/Union/Types/Cat.cs | 2 - .../SeedExhaustive/Types/Union/Types/Dog.cs | 2 - .../SeedExhaustive/Types/Union/UnionClient.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedExhaustive.Test.csproj | 7 +- .../src/SeedExhaustive.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetAndReturnBase64Test.cs | 2 - .../Unit/MockServer/GetAndReturnBoolTest.cs | 2 - .../Unit/MockServer/GetAndReturnDateTest.cs | 2 - .../MockServer/GetAndReturnDatetimeTest.cs | 2 - .../Unit/MockServer/GetAndReturnDoubleTest.cs | 2 - .../Unit/MockServer/GetAndReturnEnumTest.cs | 2 - .../Unit/MockServer/GetAndReturnIntTest.cs | 2 - .../GetAndReturnListOfObjectsTest.cs | 2 - .../GetAndReturnListOfPrimitivesTest.cs | 2 - .../Unit/MockServer/GetAndReturnLongTest.cs | 2 - .../GetAndReturnMapOfPrimToObjectTest.cs | 2 - .../GetAndReturnMapPrimToPrimTest.cs | 2 - ...GetAndReturnNestedWithOptionalFieldTest.cs | 2 - ...ReturnNestedWithRequiredFieldAsListTest.cs | 2 - ...GetAndReturnNestedWithRequiredFieldTest.cs | 2 - .../MockServer/GetAndReturnOptionalTest.cs | 2 - .../GetAndReturnSetOfObjectsTest.cs | 2 - .../GetAndReturnSetOfPrimitivesTest.cs | 2 - .../Unit/MockServer/GetAndReturnStringTest.cs | 2 - .../Unit/MockServer/GetAndReturnUnionTest.cs | 2 - .../Unit/MockServer/GetAndReturnUuidTest.cs | 2 - .../GetAndReturnWithMapOfMapTest.cs | 2 - .../GetAndReturnWithOptionalFieldTest.cs | 2 - .../GetAndReturnWithRequiredFieldTest.cs | 2 - .../GetWithAllowMultipleQueryTest.cs | 2 - .../MockServer/GetWithCustomHeaderTest.cs | 2 - .../GetWithInlinePathAndQueryTest.cs | 2 - .../Unit/MockServer/GetWithInlinePathTest.cs | 2 - .../MockServer/GetWithNoRequestBodyTest.cs | 2 - .../MockServer/GetWithPathAndQueryTest.cs | 2 - .../Unit/MockServer/GetWithPathTest.cs | 2 - .../Unit/MockServer/GetWithQueryTest.cs | 2 - .../MockServer/ModifyWithInlinePathTest.cs | 2 - .../Unit/MockServer/ModifyWithPathTest.cs | 2 - .../PostJsonPatchContentTypeTest.cs | 2 - ...PostJsonPatchContentWithCharsetTypeTest.cs | 2 - .../Unit/MockServer/PostWithNoAuthTest.cs | 2 - .../MockServer/PostWithNoRequestBodyTest.cs | 2 - .../PostWithObjectBodyandResponseTest.cs | 2 - .../Unit/MockServer/TestDeleteTest.cs | 2 - .../Unit/MockServer/TestGetTest.cs | 2 - .../Unit/MockServer/TestPatchTest.cs | 2 - .../Unit/MockServer/TestPostTest.cs | 2 - .../Unit/MockServer/TestPutTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedExhaustive/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedExhaustiveException.cs | 4 +- .../src/SeedExhaustive/Core/RawClient.cs | 14 +- .../Endpoints/Container/ContainerClient.cs | 170 +++++----- .../ContentType/ContentTypeClient.cs | 54 ++-- .../Endpoints/EndpointsClient.cs | 2 - .../Endpoints/Enum/EnumClient.cs | 26 +- .../HttpMethods/HttpMethodsClient.cs | 118 +++---- .../Endpoints/Object/ObjectClient.cs | 146 +++++---- .../Endpoints/Params/ParamsClient.cs | 190 ++++++------ .../Params/Requests/GetWithInlinePath.cs | 2 - .../Requests/GetWithInlinePathAndQuery.cs | 2 - .../Params/Requests/GetWithMultipleQuery.cs | 2 - .../Params/Requests/GetWithPathAndQuery.cs | 2 - .../Endpoints/Params/Requests/GetWithQuery.cs | 2 - .../Requests/ModifyResourceAtInlinedPath.cs | 2 - .../Endpoints/Primitive/PrimitiveClient.cs | 218 +++++++------ .../Endpoints/Union/UnionClient.cs | 26 +- .../Exceptions/BadRequestBody.cs | 2 - .../GeneralErrors/GeneralErrorsClient.cs | 2 - .../Types/BadObjectRequestInfo.cs | 2 - .../InlinedRequests/InlinedRequestsClient.cs | 26 +- .../Requests/PostWithObjectBody.cs | 2 - .../src/SeedExhaustive/NoAuth/NoAuthClient.cs | 26 +- .../NoReqBody/NoReqBodyClient.cs | 46 +-- .../ReqWithHeaders/ReqWithHeadersClient.cs | 28 +- .../ReqWithHeaders/Requests/ReqWithHeaders.cs | 2 - .../SeedExhaustive/SeedExhaustiveClient.cs | 4 +- .../SeedExhaustive/Types/Enum/EnumClient.cs | 2 - .../Enum/Exceptions/ErrorWithEnumBody.cs | 2 - .../Types/Enum/Types/WeatherReport.cs | 2 - .../NestedObjectWithOptionalFieldError.cs | 2 - .../NestedObjectWithRequiredFieldError.cs | 2 - .../ObjectWithOptionalFieldError.cs | 2 - .../ObjectWithRequiredFieldError.cs | 2 - .../Types/Object/ObjectClient.cs | 2 - .../Types/Object/Types/DoubleOptional.cs | 2 - .../Types/NestedObjectWithOptionalField.cs | 2 - .../Types/NestedObjectWithRequiredField.cs | 2 - .../Types/Object/Types/ObjectWithMapOfMap.cs | 2 - .../Object/Types/ObjectWithOptionalField.cs | 2 - .../Object/Types/ObjectWithRequiredField.cs | 2 - .../src/SeedExhaustive/Types/TypesClient.cs | 2 - .../Union/Exceptions/ErrorWithUnionBody.cs | 2 - .../SeedExhaustive/Types/Union/Types/Cat.cs | 2 - .../SeedExhaustive/Types/Union/Types/Dog.cs | 2 - .../SeedExhaustive/Types/Union/UnionClient.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedExtends.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedExtends.Test/SeedExtends.Test.csproj | 7 +- .../src/SeedExtends.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../ExtendedInlineRequestBodyTest.cs | 2 - .../Unit/Serialization/DocsTest.cs | 2 - .../Unit/Serialization/ExampleTypeTest.cs | 2 - .../Unit/Serialization/JsonTest.cs | 2 - .../Unit/Serialization/NestedTypeTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedExtends/Core/IRequestOptions.cs | 2 - .../SeedExtends/Core/Public/ClientOptions.cs | 2 - .../SeedExtends/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedExtendsException.cs | 4 +- .../extends/src/SeedExtends/Core/RawClient.cs | 14 +- .../src/SeedExtends/Requests/Inlined.cs | 2 - .../src/SeedExtends/SeedExtendsClient.cs | 28 +- .../extends/src/SeedExtends/Types/Docs.cs | 2 - .../src/SeedExtends/Types/ExampleType.cs | 2 - .../extends/src/SeedExtends/Types/Json.cs | 2 - .../src/SeedExtends/Types/NestedType.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedExtraProperties.Test.csproj | 7 +- .../SeedExtraProperties.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateUserTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedExtraPropertiesException.cs | 4 +- .../src/SeedExtraProperties/Core/RawClient.cs | 14 +- .../SeedExtraPropertiesClient.cs | 4 +- .../src/SeedExtraProperties/Types/Failure.cs | 2 - .../User/Requests/CreateUserRequest.cs | 2 - .../SeedExtraProperties/User/Types/User.cs | 2 - .../SeedExtraProperties/User/UserClient.cs | 26 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedFileDownload.Test.csproj | 7 +- .../src/SeedFileDownload.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../SeedFileDownload/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedFileDownloadException.cs | 4 +- .../src/SeedFileDownload/Core/RawClient.cs | 14 +- .../SeedFileDownloadClient.cs | 4 +- .../SeedFileDownload/Service/ServiceClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedFileUpload.Test.csproj | 7 +- .../src/SeedFileUpload.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../SeedFileUpload/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedFileUploadException.cs | 4 +- .../src/SeedFileUpload/Core/RawClient.cs | 14 +- .../SeedFileUpload/SeedFileUploadClient.cs | 4 +- .../Service/Requests/JustFileRequest.cs | 2 - .../JustFileWithQueryParamsRequest.cs | 2 - .../Service/Requests/MyRequest.cs | 2 - .../Requests/WithContentTypeRequest.cs | 2 - .../SeedFileUpload/Service/ServiceClient.cs | 92 +++--- .../SeedFileUpload/Service/Types/MyObject.cs | 2 - .../Service/Types/ObjectType.cs | 2 - .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../folders/src/SeedApi.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/EndpointTest.cs | 2 - .../SeedApi.Test/Unit/MockServer/FooTest.cs | 2 - .../Unit/MockServer/UnknownRequestTest.cs | 2 - .../folders/src/SeedApi/A/AClient.cs | 2 - .../folders/src/SeedApi/A/B/BClient.cs | 24 +- .../folders/src/SeedApi/A/C/CClient.cs | 24 +- .../folders/src/SeedApi/A/D/DClient.cs | 2 - .../src/SeedApi/A/D/Types/TypesClient.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../folders/src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/Folder/FolderClient.cs | 24 +- .../Service/Exceptions/NotFoundError.cs | 2 - .../SeedApi/Folder/Service/ServiceClient.cs | 48 +-- .../folders/src/SeedApi/SeedApiClient.cs | 26 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedIdempotencyHeaders.Test.csproj | 7 +- .../SeedIdempotencyHeaders.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateTest.cs | 2 - .../Unit/MockServer/DeleteTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/IdempotentRequestOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedIdempotencyHeadersException.cs | 4 +- .../SeedIdempotencyHeaders/Core/RawClient.cs | 14 +- .../Payment/PaymentClient.cs | 48 +-- .../Payment/Requests/CreatePaymentRequest.cs | 2 - .../Payment/Types/Currency.cs | 2 - .../SeedIdempotencyHeadersClient.cs | 4 +- .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateMovieTest.cs | 2 - .../Unit/MockServer/GetMovieTest.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../SeedApi/Core/Public/CustomException.cs | 4 +- .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/Imdb/ImdbClient.cs | 48 +-- .../SeedApi/Imdb/Types/CreateMovieRequest.cs | 2 - .../src/SeedApi/Imdb/Types/Movie.cs | 2 - .../src/SeedApi/SeedApiClient.cs | 4 +- .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateMovieTest.cs | 2 - .../Unit/MockServer/GetMovieTest.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/Imdb/ImdbClient.cs | 48 +-- .../SeedApi/Imdb/Types/CreateMovieRequest.cs | 2 - .../src/SeedApi/Imdb/Types/Movie.cs | 2 - .../src/SeedApi/SeedApiClient.cs | 4 +- .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateMovieTest.cs | 2 - .../Unit/MockServer/GetMovieTest.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../src/SeedApi/Core/RawClient.cs | 14 +- .../src/SeedApi/Imdb/ImdbClient.cs | 48 +-- .../SeedApi/Imdb/Types/CreateMovieRequest.cs | 2 - .../src/SeedApi/Imdb/Types/Movie.cs | 2 - .../src/SeedApi/SeedApiClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedLicense.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedLicense.Test/SeedLicense.Test.csproj | 7 +- .../src/SeedLicense.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedLicense/Core/IRequestOptions.cs | 2 - .../SeedLicense/Core/Public/ClientOptions.cs | 2 - .../SeedLicense/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedLicenseException.cs | 4 +- .../src/SeedLicense/Core/RawClient.cs | 14 +- .../src/SeedLicense/SeedLicenseClient.cs | 26 +- .../src/SeedLicense/Types/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedLicense.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedLicense.Test/SeedLicense.Test.csproj | 7 +- .../src/SeedLicense.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedLicense/Core/IRequestOptions.cs | 2 - .../SeedLicense/Core/Public/ClientOptions.cs | 2 - .../SeedLicense/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedLicenseException.cs | 4 +- .../src/SeedLicense/Core/RawClient.cs | 14 +- .../src/SeedLicense/SeedLicenseClient.cs | 26 +- .../mit-license/src/SeedLicense/Types/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedLiteral.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedLiteral.Test/SeedLiteral.Test.csproj | 7 +- .../src/SeedLiteral.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/SendTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedLiteral/Core/IRequestOptions.cs | 2 - .../SeedLiteral/Core/Public/ClientOptions.cs | 2 - .../SeedLiteral/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedLiteralException.cs | 4 +- .../literal/src/SeedLiteral/Core/RawClient.cs | 14 +- .../src/SeedLiteral/Headers/HeadersClient.cs | 28 +- .../Requests/SendLiteralsInHeadersRequest.cs | 2 - .../src/SeedLiteral/Inlined/InlinedClient.cs | 26 +- .../Requests/SendLiteralsInlinedRequest.cs | 2 - .../Inlined/Types/ANestedLiteral.cs | 2 - .../Inlined/Types/ATopLevelLiteral.cs | 2 - .../src/SeedLiteral/Path/PathClient.cs | 24 +- .../src/SeedLiteral/Query/QueryClient.cs | 26 +- .../Requests/SendLiteralsInQueryRequest.cs | 2 - .../SeedLiteral/Reference/ReferenceClient.cs | 26 +- .../Reference/Types/ContainerObject.cs | 2 - .../Types/NestedObjectWithLiterals.cs | 2 - .../Reference/Types/SendRequest.cs | 2 - .../src/SeedLiteral/SeedLiteralClient.cs | 4 +- .../src/SeedLiteral/Types/SendResponse.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedMixedCase.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedMixedCase.Test.csproj | 7 +- .../src/SeedMixedCase.Test/TestClient.cs | 4 +- .../Unit/Serialization/NestedUserTest.cs | 2 - .../Unit/Serialization/OrganizationTest.cs | 2 - .../Unit/Serialization/UserTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedMixedCase/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedMixedCaseException.cs | 4 +- .../src/SeedMixedCase/Core/RawClient.cs | 14 +- .../src/SeedMixedCase/SeedMixedCaseClient.cs | 4 +- .../Service/Requests/ListResourcesRequest.cs | 2 - .../SeedMixedCase/Service/ServiceClient.cs | 48 +-- .../SeedMixedCase/Service/Types/NestedUser.cs | 2 - .../Service/Types/Organization.cs | 2 - .../Service/Types/ResourceStatus.cs | 2 - .../src/SeedMixedCase/Service/Types/User.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedMixedFileDirectory.Test.csproj | 7 +- .../SeedMixedFileDirectory.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateTest.cs | 2 - .../Unit/MockServer/GetMetadataTest.cs | 2 - .../Unit/MockServer/ListEventsTest.cs | 2 - .../Unit/MockServer/ListTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedMixedFileDirectoryException.cs | 4 +- .../SeedMixedFileDirectory/Core/RawClient.cs | 14 +- .../Organization/OrganizationClient.cs | 26 +- .../Types/CreateOrganizationRequest.cs | 2 - .../Organization/Types/Organization.cs | 2 - .../SeedMixedFileDirectoryClient.cs | 4 +- .../User/Events/EventsClient.cs | 26 +- .../User/Events/Metadata/MetadataClient.cs | 26 +- .../Requests/GetEventMetadataRequest.cs | 2 - .../User/Events/Metadata/Types/Metadata.cs | 2 - .../Events/Requests/ListUserEventsRequest.cs | 2 - .../User/Events/Types/Event.cs | 2 - .../User/Requests/ListUsersRequest.cs | 2 - .../SeedMixedFileDirectory/User/Types/User.cs | 2 - .../SeedMixedFileDirectory/User/UserClient.cs | 26 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedMultiLineDocs.Test.csproj | 7 +- .../src/SeedMultiLineDocs.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateUserTest.cs | 2 - .../Unit/MockServer/GetUserTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedMultiLineDocs/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedMultiLineDocsException.cs | 4 +- .../src/SeedMultiLineDocs/Core/RawClient.cs | 14 +- .../SeedMultiLineDocsClient.cs | 4 +- .../src/SeedMultiLineDocs/Types/Operand.cs | 2 - .../User/Requests/CreateUserRequest.cs | 2 - .../src/SeedMultiLineDocs/User/Types/User.cs | 2 - .../src/SeedMultiLineDocs/User/UserClient.cs | 48 +-- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ ...edMultiUrlEnvironmentNoDefault.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - ...MultiUrlEnvironmentNoDefaultEnvironment.cs | 4 +- ...edMultiUrlEnvironmentNoDefaultException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../Ec2/Ec2Client.cs | 26 +- .../Ec2/Requests/BootInstanceRequest.cs | 2 - .../S3/Requests/GetPresignedUrlRequest.cs | 2 - .../S3/S3Client.cs | 26 +- .../SeedMultiUrlEnvironmentNoDefaultClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedMultiUrlEnvironment.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/BootInstanceTest.cs | 2 - .../Unit/MockServer/GetPresignedUrlTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedMultiUrlEnvironmentEnvironment.cs | 4 +- .../SeedMultiUrlEnvironmentException.cs | 4 +- .../SeedMultiUrlEnvironment/Core/RawClient.cs | 14 +- .../SeedMultiUrlEnvironment/Ec2/Ec2Client.cs | 26 +- .../Ec2/Requests/BootInstanceRequest.cs | 2 - .../S3/Requests/GetPresignedUrlRequest.cs | 2 - .../SeedMultiUrlEnvironment/S3/S3Client.cs | 26 +- .../SeedMultiUrlEnvironmentClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedNoEnvironment.Test.csproj | 7 +- .../src/SeedNoEnvironment.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetDummyTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedNoEnvironment/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedNoEnvironmentException.cs | 4 +- .../src/SeedNoEnvironment/Core/RawClient.cs | 14 +- .../SeedNoEnvironment/Dummy/DummyClient.cs | 24 +- .../SeedNoEnvironmentClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedNullable.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedNullable.Test.csproj | 7 +- .../src/SeedNullable.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateUserTest.cs | 2 - .../Unit/MockServer/DeleteUserTest.cs | 2 - .../Unit/MockServer/GetUsersTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedNullable/Core/IRequestOptions.cs | 2 - .../SeedNullable/Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedNullableException.cs | 4 +- .../src/SeedNullable/Core/RawClient.cs | 14 +- .../SeedNullable/Nullable/NullableClient.cs | 74 ++--- .../Nullable/Requests/CreateUserRequest.cs | 2 - .../Nullable/Requests/DeleteUserRequest.cs | 2 - .../Nullable/Requests/GetUsersRequest.cs | 2 - .../SeedNullable/Nullable/Types/Metadata.cs | 2 - .../src/SeedNullable/Nullable/Types/User.cs | 2 - .../src/SeedNullable/SeedNullableClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedOauthClientCredentials.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../GetTokenWithClientCredentialsTest.cs | 2 - .../Unit/MockServer/RefreshTokenTest.cs | 2 - .../Auth/AuthClient.cs | 50 +-- .../Auth/Requests/GetTokenRequest.cs | 2 - .../Auth/Requests/RefreshTokenRequest.cs | 2 - .../Auth/Types/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/OAuthTokenProvider.cs | 10 +- .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedOauthClientCredentialsException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../SeedOauthClientCredentialsClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ ...dOauthClientCredentialsDefault.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetTokenTest.cs | 2 - .../Auth/AuthClient.cs | 26 +- .../Auth/Requests/GetTokenRequest.cs | 2 - .../Auth/Types/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/OAuthTokenProvider.cs | 10 +- .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - ...dOauthClientCredentialsDefaultException.cs | 4 +- .../Core/RawClient.cs | 14 +- ...SeedOauthClientCredentialsDefaultClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ ...redentialsEnvironmentVariables.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../GetTokenWithClientCredentialsTest.cs | 2 - .../Unit/MockServer/RefreshTokenTest.cs | 2 - .../Auth/AuthClient.cs | 50 +-- .../Auth/Requests/GetTokenRequest.cs | 2 - .../Auth/Requests/RefreshTokenRequest.cs | 2 - .../Auth/Types/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/OAuthTokenProvider.cs | 10 +- .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - ...redentialsEnvironmentVariablesException.cs | 4 +- .../Core/RawClient.cs | 14 +- ...ntCredentialsEnvironmentVariablesClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedOauthClientCredentials.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetTokenTest.cs | 2 - .../Auth/AuthClient.cs | 26 +- .../Auth/Requests/GetTokenRequest.cs | 2 - .../Auth/Types/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/OAuthTokenProvider.cs | 10 +- .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedOauthClientCredentialsException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../SeedOauthClientCredentialsClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedOauthClientCredentials.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../GetTokenWithClientCredentialsTest.cs | 2 - .../Unit/MockServer/RefreshTokenTest.cs | 2 - .../Auth/AuthClient.cs | 50 +-- .../Auth/Requests/GetTokenRequest.cs | 2 - .../Auth/Requests/RefreshTokenRequest.cs | 2 - .../Auth/Types/TokenResponse.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/OAuthTokenProvider.cs | 10 +- .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedOauthClientCredentialsException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../SeedOauthClientCredentialsClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedObject.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedObject.Test/SeedObject.Test.csproj | 7 +- .../object/src/SeedObject.Test/TestClient.cs | 4 +- .../Unit/Serialization/NameTest.cs | 2 - .../Unit/Serialization/TypeTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedObject/Core/IRequestOptions.cs | 2 - .../SeedObject/Core/Public/ClientOptions.cs | 2 - .../SeedObject/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedObjectException.cs | 4 +- .../object/src/SeedObject/Core/RawClient.cs | 14 +- .../object/src/SeedObject/SeedObjectClient.cs | 4 +- .../object/src/SeedObject/Types/Name.cs | 2 - .../object/src/SeedObject/Types/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedObjectsWithImports.Test.csproj | 7 +- .../SeedObjectsWithImports.Test/TestClient.cs | 4 +- .../Unit/Serialization/DirectoryTest.cs | 2 - .../Unit/Serialization/FileTest.cs | 2 - .../Unit/Serialization/MetadataTest.cs | 2 - .../Unit/Serialization/NodeTest.cs | 2 - .../Unit/Serialization/TreeTest.cs | 2 - .../Commons/CommonsClient.cs | 2 - .../Commons/Metadata/MetadataClient.cs | 2 - .../Commons/Metadata/Types/Metadata.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedObjectsWithImportsException.cs | 4 +- .../SeedObjectsWithImports/Core/RawClient.cs | 14 +- .../File/Directory/DirectoryClient.cs | 2 - .../File/Directory/Types/Directory.cs | 2 - .../SeedObjectsWithImports/File/FileClient.cs | 2 - .../SeedObjectsWithImports/File/Types/File.cs | 2 - .../File/Types/FileInfo.cs | 2 - .../SeedObjectsWithImportsClient.cs | 4 +- .../src/SeedObjectsWithImports/Types/Node.cs | 2 - .../src/SeedObjectsWithImports/Types/Tree.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedObjectsWithImports.Test.csproj | 7 +- .../SeedObjectsWithImports.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/SendOptionalBodyTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedObjectsWithImportsException.cs | 4 +- .../SeedObjectsWithImports/Core/RawClient.cs | 14 +- .../Optional/OptionalClient.cs | 26 +- .../SeedObjectsWithImportsClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedPackageYml.Test.csproj | 7 +- .../src/SeedPackageYml.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/EchoTest.cs | 2 - .../Unit/MockServer/NopTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedPackageYml/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedPackageYmlException.cs | 4 +- .../src/SeedPackageYml/Core/RawClient.cs | 14 +- .../SeedPackageYml/SeedPackageYmlClient.cs | 28 +- .../SeedPackageYml/Service/ServiceClient.cs | 24 +- .../src/SeedPackageYml/Types/EchoRequest.cs | 2 - .../pagination/.mock/definition/complex.yml | 112 +++++++ seed/csharp-sdk/pagination/README.md | 19 +- seed/csharp-sdk/pagination/reference.md | 52 ++++ seed/csharp-sdk/pagination/snippet.json | 12 + .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedPagination.Test.csproj | 7 +- .../src/SeedPagination.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/ListUsernamesTest.cs | 2 - .../ListWithBodyCursorPaginationTest.cs | 2 - .../ListWithBodyOffsetPaginationTest.cs | 2 - .../ListWithCursorPaginationTest.cs | 2 - .../ListWithDoubleOffsetPaginationTest.cs | 2 - ...tWithExtendedResultsAndOptionalDataTest.cs | 2 - .../MockServer/ListWithExtendedResultsTest.cs | 2 - .../MockServer/ListWithGlobalConfigTest.cs | 2 - .../ListWithMixedTypeCursorPaginationTest.cs | 2 - ...ListWithOffsetPaginationHasNextPageTest.cs | 2 - .../ListWithOffsetPaginationTest.cs | 2 - .../ListWithOffsetStepPaginationTest.cs | 2 - .../Unit/MockServer/SearchTest.cs | 91 ++++++ .../SeedPagination/Complex/ComplexClient.cs | 99 ++++++ .../Complex/Types/Conversation.cs | 15 + .../Complex/Types/CursorPages.cs | 27 ++ .../Types/MultipleFilterSearchRequest.cs | 22 ++ .../MultipleFilterSearchRequestOperator.cs | 15 + .../Types/PaginatedConversationResponse.cs | 24 ++ .../Complex/Types/SearchRequest.cs | 22 ++ .../Types/SingleFilterSearchRequest.cs | 21 ++ .../SingleFilterSearchRequestOperator.cs | 39 +++ .../Complex/Types/StartingAfterPaging.cs | 18 ++ .../Core/CollectionItemSerializer.cs | 2 +- .../SeedPagination/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedPaginationException.cs | 4 +- .../src/SeedPagination/Core/RawClient.cs | 14 +- .../SeedPagination/SeedPaginationClient.cs | 7 +- .../SeedPagination/Types/UsernameCursor.cs | 2 - .../src/SeedPagination/Types/UsernamePage.cs | 2 - .../Users/Requests/ListUsernamesRequest.cs | 2 - .../ListUsersBodyCursorPaginationRequest.cs | 2 - .../ListUsersBodyOffsetPaginationRequest.cs | 2 - .../ListUsersCursorPaginationRequest.cs | 2 - .../ListUsersDoubleOffsetPaginationRequest.cs | 2 - .../Requests/ListUsersExtendedRequest.cs | 2 - ...ListUsersExtendedRequestForOptionalData.cs | 2 - ...stUsersMixedTypeCursorPaginationRequest.cs | 2 - .../ListUsersOffsetPaginationRequest.cs | 2 - .../ListUsersOffsetStepPaginationRequest.cs | 2 - .../Requests/ListWithGlobalConfigRequest.cs | 2 - ...tWithOffsetPaginationHasNextPageRequest.cs | 2 - .../ListUsersExtendedOptionalListResponse.cs | 2 - .../Users/Types/ListUsersExtendedResponse.cs | 2 - .../ListUsersMixedTypePaginationResponse.cs | 2 - .../Types/ListUsersPaginationResponse.cs | 2 - .../SeedPagination/Users/Types/NextPage.cs | 2 - .../src/SeedPagination/Users/Types/Order.cs | 2 - .../src/SeedPagination/Users/Types/Page.cs | 2 - .../src/SeedPagination/Users/Types/User.cs | 2 - .../Users/Types/UserListContainer.cs | 2 - .../Users/Types/UserOptionalListContainer.cs | 2 - .../Users/Types/UserOptionalListPage.cs | 2 - .../SeedPagination/Users/Types/UserPage.cs | 2 - .../Users/Types/UsernameContainer.cs | 2 - .../SeedPagination/Users/Types/WithCursor.cs | 2 - .../SeedPagination/Users/Types/WithPage.cs | 2 - .../src/SeedPagination/Users/UsersClient.cs | 290 ++++++++++-------- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedPathParameters.Test.csproj | 7 +- .../src/SeedPathParameters.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateUserTest.cs | 2 - .../Unit/MockServer/GetOrganizationTest.cs | 2 - .../MockServer/GetOrganizationUserTest.cs | 2 - .../Unit/MockServer/GetUserTest.cs | 2 - .../MockServer/SearchOrganizationsTest.cs | 2 - .../Unit/MockServer/SearchUsersTest.cs | 2 - .../Unit/MockServer/UpdateUserTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedPathParametersException.cs | 4 +- .../src/SeedPathParameters/Core/RawClient.cs | 14 +- .../Organizations/OrganizationsClient.cs | 70 +++-- .../Requests/GetOrganizationUserRequest.cs | 2 - .../Requests/SearchOrganizationsRequest.cs | 2 - .../Organizations/Types/Organization.cs | 2 - .../SeedPathParametersClient.cs | 4 +- .../User/Requests/GetUsersRequest.cs | 2 - .../User/Requests/SearchUsersRequest.cs | 2 - .../User/Requests/UpdateUserRequest.cs | 2 - .../src/SeedPathParameters/User/Types/User.cs | 2 - .../src/SeedPathParameters/User/UserClient.cs | 96 +++--- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedPlainText.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedPlainText.Test.csproj | 7 +- .../src/SeedPlainText.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetTextTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedPlainText/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedPlainTextException.cs | 4 +- .../src/SeedPlainText/Core/RawClient.cs | 14 +- .../src/SeedPlainText/SeedPlainTextClient.cs | 4 +- .../SeedPlainText/Service/ServiceClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedQueryParameters.Test.csproj | 7 +- .../SeedQueryParameters.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedQueryParametersException.cs | 4 +- .../src/SeedQueryParameters/Core/RawClient.cs | 14 +- .../SeedQueryParametersClient.cs | 4 +- .../User/Requests/GetUsersRequest.cs | 2 - .../User/Types/NestedUser.cs | 2 - .../SeedQueryParameters/User/Types/User.cs | 2 - .../SeedQueryParameters/User/UserClient.cs | 26 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedNurseryApi.Test.csproj | 7 +- .../src/SeedNurseryApi.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/TestTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedNurseryApi/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedNurseryApiException.cs | 4 +- .../src/SeedNurseryApi/Core/RawClient.cs | 14 +- .../SeedNurseryApi/Package/PackageClient.cs | 26 +- .../Package/Requests/TestRequest.cs | 2 - .../SeedNurseryApi/Package/Types/Package.cs | 2 - .../SeedNurseryApi/Package/Types/Record.cs | 2 - .../SeedNurseryApi/SeedNurseryApiClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedResponseProperty.Test.csproj | 7 +- .../SeedResponseProperty.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedResponsePropertyException.cs | 4 +- .../SeedResponseProperty/Core/RawClient.cs | 14 +- .../SeedResponsePropertyClient.cs | 4 +- .../Service/ServiceClient.cs | 170 +++++----- .../Service/Types/Movie.cs | 2 - .../Service/Types/Response.cs | 2 - .../Service/Types/WithDocs.cs | 2 - .../Types/StringResponse.cs | 2 - .../Types/WithMetadata.cs | 2 - seed/csharp-sdk/seed.yml | 1 + .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedServerSentEvents.Test.csproj | 7 +- .../SeedServerSentEvents.Test/TestClient.cs | 4 +- .../Completions/CompletionsClient.cs | 26 +- .../Requests/StreamCompletionRequest.cs | 2 - .../Completions/Types/StreamedCompletion.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedServerSentEventsException.cs | 4 +- .../SeedServerSentEvents/Core/RawClient.cs | 14 +- .../SeedServerSentEventsClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedServerSentEvents.Test.csproj | 7 +- .../SeedServerSentEvents.Test/TestClient.cs | 4 +- .../Completions/CompletionsClient.cs | 26 +- .../Requests/StreamCompletionRequest.cs | 2 - .../Completions/Types/StreamedCompletion.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Public/SeedServerSentEventsException.cs | 4 +- .../SeedServerSentEvents/Core/RawClient.cs | 14 +- .../SeedServerSentEventsClient.cs | 4 +- .../SeedApi.Test/Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedApi.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedApi.Test/SeedApi.Test.csproj | 7 +- .../src/SeedApi.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetAccountTest.cs | 2 - .../SeedApi/Core/CollectionItemSerializer.cs | 2 +- .../src/SeedApi/Core/IRequestOptions.cs | 2 - .../src/SeedApi/Core/Public/ClientOptions.cs | 2 - .../src/SeedApi/Core/Public/RequestOptions.cs | 2 - .../SeedApi/Core/Public/SeedApiException.cs | 4 +- .../simple-fhir/src/SeedApi/Core/RawClient.cs | 14 +- .../simple-fhir/src/SeedApi/SeedApiClient.cs | 26 +- .../simple-fhir/src/SeedApi/Types/Account.cs | 2 - .../src/SeedApi/Types/BaseResource.cs | 2 - .../simple-fhir/src/SeedApi/Types/Memo.cs | 2 - .../simple-fhir/src/SeedApi/Types/Patient.cs | 2 - .../src/SeedApi/Types/Practitioner.cs | 2 - .../simple-fhir/src/SeedApi/Types/Script.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ ...eedSingleUrlEnvironmentDefault.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetDummyTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - ...dSingleUrlEnvironmentDefaultEnvironment.cs | 4 +- ...eedSingleUrlEnvironmentDefaultException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../Dummy/DummyClient.cs | 24 +- .../SeedSingleUrlEnvironmentDefaultClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ ...dSingleUrlEnvironmentNoDefault.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetDummyTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - ...ingleUrlEnvironmentNoDefaultEnvironment.cs | 4 +- ...dSingleUrlEnvironmentNoDefaultException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../Dummy/DummyClient.cs | 24 +- ...SeedSingleUrlEnvironmentNoDefaultClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedStreaming.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedStreaming.Test.csproj | 7 +- .../src/SeedStreaming.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedStreaming/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedStreamingException.cs | 4 +- .../src/SeedStreaming/Core/RawClient.cs | 14 +- .../src/SeedStreaming/Dummy/DummyClient.cs | 26 +- .../Dummy/Requests/GenerateRequest.cs | 2 - .../Dummy/Types/RegularResponse.cs | 2 - .../Dummy/Types/StreamResponse.cs | 2 - .../src/SeedStreaming/SeedStreamingClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedStreaming.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedStreaming.Test.csproj | 7 +- .../src/SeedStreaming.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GenerateTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedStreaming/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedStreamingException.cs | 4 +- .../src/SeedStreaming/Core/RawClient.cs | 14 +- .../src/SeedStreaming/Dummy/DummyClient.cs | 50 +-- .../Dummy/Requests/GenerateStreamRequest.cs | 2 - .../Dummy/Requests/Generateequest.cs | 2 - .../Dummy/Types/StreamResponse.cs | 2 - .../src/SeedStreaming/SeedStreamingClient.cs | 4 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../src/SeedTrace.Test/Core/RawClientTests.cs | 193 ++++++------ .../src/SeedTrace.Test/SeedTrace.Test.csproj | 7 +- .../trace/src/SeedTrace.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../MockServer/CreateExecutionSessionTest.cs | 2 - .../Unit/MockServer/CreatePlaylistTest.cs | 2 - .../Unit/MockServer/CreateProblemTest.cs | 2 - .../Unit/MockServer/DeletePlaylistTest.cs | 2 - .../Unit/MockServer/DeleteProblemTest.cs | 2 - .../MockServer/GetAttemptedMigrationsTest.cs | 2 - .../MockServer/GetDefaultStarterFilesTest.cs | 2 - .../MockServer/GetExecutionSessionTest.cs | 2 - .../GetExecutionSessionsStateTest.cs | 2 - .../MockServer/GetHomepageProblemsTest.cs | 2 - .../Unit/MockServer/GetLatestProblemTest.cs | 2 - .../MockServer/GetLightweightProblemsTest.cs | 2 - .../MockServer/GetNumWarmInstancesTest.cs | 2 - .../Unit/MockServer/GetPlaylistTest.cs | 2 - .../Unit/MockServer/GetPlaylistsTest.cs | 2 - .../Unit/MockServer/GetProblemVersionTest.cs | 2 - .../Unit/MockServer/GetProblemsTest.cs | 2 - .../SendTestSubmissionUpdateTest.cs | 2 - .../SendWorkspaceSubmissionUpdateTest.cs | 2 - .../MockServer/SetHomepageProblemsTest.cs | 2 - .../MockServer/SetNumWarmInstancesTest.cs | 2 - .../MockServer/StopExecutionSessionTest.cs | 2 - .../MockServer/StoreTracedTestCaseTest.cs | 2 - .../MockServer/StoreTracedTestCaseV2Test.cs | 2 - .../MockServer/StoreTracedWorkspaceTest.cs | 2 - .../MockServer/StoreTracedWorkspaceV2Test.cs | 2 - .../Unit/MockServer/TestTest.cs | 2 - .../Unit/MockServer/UpdatePlaylistTest.cs | 2 - .../Unit/MockServer/UpdateProblemTest.cs | 2 - .../UpdateTestSubmissionStatusTest.cs | 2 - .../UpdateWorkspaceSubmissionStatusTest.cs | 2 - .../trace/src/SeedTrace/Admin/AdminClient.cs | 197 ++++++------ .../Requests/StoreTracedTestCaseRequest.cs | 2 - .../Requests/StoreTracedWorkspaceRequest.cs | 2 - .../src/SeedTrace/Commons/CommonsClient.cs | 2 - .../Types/BinaryTreeNodeAndTreeValue.cs | 2 - .../Commons/Types/BinaryTreeNodeValue.cs | 2 - .../Commons/Types/BinaryTreeValue.cs | 2 - .../Commons/Types/DebugKeyValuePairs.cs | 2 - .../SeedTrace/Commons/Types/DebugMapValue.cs | 2 - .../Types/DoublyLinkedListNodeAndListValue.cs | 2 - .../Types/DoublyLinkedListNodeValue.cs | 2 - .../Commons/Types/DoublyLinkedListValue.cs | 2 - .../src/SeedTrace/Commons/Types/FileInfo.cs | 2 - .../SeedTrace/Commons/Types/GenericValue.cs | 2 - .../SeedTrace/Commons/Types/KeyValuePair.cs | 2 - .../src/SeedTrace/Commons/Types/Language.cs | 2 - .../src/SeedTrace/Commons/Types/ListType.cs | 2 - .../src/SeedTrace/Commons/Types/MapType.cs | 2 - .../src/SeedTrace/Commons/Types/MapValue.cs | 2 - .../Types/SinglyLinkedListNodeAndListValue.cs | 2 - .../Types/SinglyLinkedListNodeValue.cs | 2 - .../Commons/Types/SinglyLinkedListValue.cs | 2 - .../src/SeedTrace/Commons/Types/TestCase.cs | 2 - .../Types/TestCaseWithExpectedResult.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedTrace/Core/IRequestOptions.cs | 2 - .../SeedTrace/Core/Public/ClientOptions.cs | 2 - .../SeedTrace/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedTraceEnvironment.cs | 2 +- .../Core/Public/SeedTraceException.cs | 4 +- .../trace/src/SeedTrace/Core/RawClient.cs | 14 +- .../src/SeedTrace/Homepage/HomepageClient.cs | 48 +-- .../SeedTrace/LangServer/LangServerClient.cs | 2 - .../LangServer/Types/LangServerRequest.cs | 2 - .../LangServer/Types/LangServerResponse.cs | 2 - .../SeedTrace/Migration/MigrationClient.cs | 26 +- .../Requests/GetAttemptedMigrationsRequest.cs | 2 - .../SeedTrace/Migration/Types/Migration.cs | 2 - .../Migration/Types/MigrationStatus.cs | 2 - .../Playlist/Exceptions/UnauthorizedError.cs | 3 +- .../src/SeedTrace/Playlist/PlaylistClient.cs | 120 ++++---- .../Requests/CreatePlaylistRequest.cs | 2 - .../Playlist/Requests/GetPlaylistsRequest.cs | 2 - .../src/SeedTrace/Playlist/Types/Playlist.cs | 2 - .../Playlist/Types/PlaylistCreateRequest.cs | 2 - .../Playlist/Types/ReservedKeywordEnum.cs | 2 - .../Playlist/Types/UpdatePlaylistRequest.cs | 2 - .../src/SeedTrace/Problem/ProblemClient.cs | 96 +++--- .../Requests/GetDefaultStarterFilesRequest.cs | 2 - .../Problem/Types/CreateProblemRequest.cs | 2 - .../Types/GenericCreateProblemError.cs | 2 - .../Types/GetDefaultStarterFilesResponse.cs | 2 - .../Problem/Types/ProblemDescription.cs | 2 - .../SeedTrace/Problem/Types/ProblemFiles.cs | 2 - .../SeedTrace/Problem/Types/ProblemInfo.cs | 2 - .../Problem/Types/UpdateProblemResponse.cs | 2 - .../Problem/Types/VariableTypeAndName.cs | 2 - .../trace/src/SeedTrace/SeedTraceClient.cs | 4 +- .../SeedTrace/Submission/SubmissionClient.cs | 90 +++--- .../Types/BuildingExecutorResponse.cs | 2 - .../Submission/Types/CompileError.cs | 2 - .../Types/CustomTestCasesUnsupported.cs | 2 - .../Submission/Types/ErroredResponse.cs | 2 - .../Submission/Types/ExceptionInfo.cs | 2 - .../Types/ExecutionSessionResponse.cs | 2 - .../Submission/Types/ExecutionSessionState.cs | 2 - .../Types/ExecutionSessionStatus.cs | 2 - .../Types/ExistingSubmissionExecuting.cs | 2 - .../Submission/Types/ExpressionLocation.cs | 2 - .../Submission/Types/FinishedResponse.cs | 2 - .../Types/GetExecutionSessionStateResponse.cs | 2 - .../Types/GetSubmissionStateResponse.cs | 2 - .../Types/GetTraceResponsesPageRequest.cs | 2 - .../Submission/Types/GradedResponse.cs | 2 - .../Submission/Types/GradedResponseV2.cs | 2 - .../Submission/Types/GradedTestCaseUpdate.cs | 2 - .../Types/InitializeProblemRequest.cs | 2 - .../Submission/Types/InternalError.cs | 2 - .../Types/InvalidRequestResponse.cs | 2 - .../Types/LightweightStackframeInformation.cs | 2 - .../Types/RecordedResponseNotification.cs | 2 - .../Types/RecordedTestCaseUpdate.cs | 2 - .../Types/RecordingResponseNotification.cs | 2 - .../Submission/Types/RunningResponse.cs | 2 - .../Types/RunningSubmissionState.cs | 2 - .../Submission/Types/RuntimeError.cs | 2 - .../src/SeedTrace/Submission/Types/Scope.cs | 2 - .../SeedTrace/Submission/Types/StackFrame.cs | 2 - .../Submission/Types/StackInformation.cs | 2 - .../Submission/Types/StderrResponse.cs | 2 - .../Submission/Types/StdoutResponse.cs | 2 - .../SeedTrace/Submission/Types/StopRequest.cs | 2 - .../Submission/Types/StoppedResponse.cs | 2 - .../Submission/Types/SubmissionFileInfo.cs | 2 - .../Submission/Types/SubmissionIdNotFound.cs | 2 - .../Submission/Types/SubmissionTypeEnum.cs | 2 - .../Submission/Types/SubmitRequestV2.cs | 2 - .../Submission/Types/TerminatedResponse.cs | 2 - .../Submission/Types/TestCaseHiddenGrade.cs | 2 - .../Types/TestCaseNonHiddenGrade.cs | 2 - .../Submission/Types/TestCaseResult.cs | 2 - .../Types/TestCaseResultWithStdout.cs | 2 - .../Submission/Types/TestSubmissionState.cs | 2 - .../Types/TestSubmissionStatusV2.cs | 2 - .../Submission/Types/TestSubmissionUpdate.cs | 2 - .../Submission/Types/TraceResponse.cs | 2 - .../Submission/Types/TraceResponseV2.cs | 2 - .../Submission/Types/TraceResponsesPage.cs | 2 - .../Submission/Types/TraceResponsesPageV2.cs | 2 - .../SeedTrace/Submission/Types/TracedFile.cs | 2 - .../Submission/Types/TracedTestCase.cs | 2 - .../Types/UnexpectedLanguageError.cs | 2 - .../Submission/Types/WorkspaceFiles.cs | 2 - .../Submission/Types/WorkspaceRanResponse.cs | 2 - .../Submission/Types/WorkspaceRunDetails.cs | 2 - .../Types/WorkspaceStarterFilesResponse.cs | 2 - .../Types/WorkspaceStarterFilesResponseV2.cs | 2 - .../Types/WorkspaceSubmissionState.cs | 2 - .../Types/WorkspaceSubmissionStatusV2.cs | 2 - .../Types/WorkspaceSubmissionUpdate.cs | 2 - .../Types/WorkspaceSubmitRequest.cs | 2 - .../Submission/Types/WorkspaceTracedUpdate.cs | 2 - .../src/SeedTrace/Sysprop/SyspropClient.cs | 46 +-- .../src/SeedTrace/V2/Problem/ProblemClient.cs | 90 +++--- .../V2/Problem/Types/BasicCustomFiles.cs | 2 - .../V2/Problem/Types/BasicTestCaseTemplate.cs | 2 - .../Problem/Types/CreateProblemRequestV2.cs | 2 - .../Types/DeepEqualityCorrectnessCheck.cs | 2 - .../V2/Problem/Types/DefaultProvidedFile.cs | 2 - .../SeedTrace/V2/Problem/Types/FileInfoV2.cs | 2 - .../src/SeedTrace/V2/Problem/Types/Files.cs | 2 - .../Problem/Types/FunctionImplementation.cs | 2 - ...ctionImplementationForMultipleLanguages.cs | 2 - .../V2/Problem/Types/GeneratedFiles.cs | 2 - .../Types/GetBasicSolutionFileRequest.cs | 2 - .../Types/GetBasicSolutionFileResponse.cs | 2 - .../Types/GetFunctionSignatureRequest.cs | 2 - .../Types/GetFunctionSignatureResponse.cs | 2 - .../Types/GetGeneratedTestCaseFileRequest.cs | 2 - ...GetGeneratedTestCaseTemplateFileRequest.cs | 2 - .../Problem/Types/LightweightProblemInfoV2.cs | 2 - .../Types/NonVoidFunctionDefinition.cs | 2 - .../Problem/Types/NonVoidFunctionSignature.cs | 2 - .../SeedTrace/V2/Problem/Types/Parameter.cs | 2 - .../V2/Problem/Types/ProblemInfoV2.cs | 2 - .../V2/Problem/Types/TestCaseExpects.cs | 2 - .../Problem/Types/TestCaseImplementation.cs | 2 - .../TestCaseImplementationDescription.cs | 2 - .../V2/Problem/Types/TestCaseMetadata.cs | 2 - .../V2/Problem/Types/TestCaseTemplate.cs | 2 - .../SeedTrace/V2/Problem/Types/TestCaseV2.cs | 2 - .../TestCaseWithActualResultImplementation.cs | 2 - .../Problem/Types/VoidFunctionDefinition.cs | 2 - ...FunctionDefinitionThatTakesActualResult.cs | 2 - .../V2/Problem/Types/VoidFunctionSignature.cs | 2 - ...dFunctionSignatureThatTakesActualResult.cs | 2 - .../trace/src/SeedTrace/V2/V2Client.cs | 24 +- .../SeedTrace/V2/V3/Problem/ProblemClient.cs | 90 +++--- .../V2/V3/Problem/Types/BasicCustomFiles.cs | 2 - .../V3/Problem/Types/BasicTestCaseTemplate.cs | 2 - .../Problem/Types/CreateProblemRequestV2.cs | 2 - .../Types/DeepEqualityCorrectnessCheck.cs | 2 - .../V3/Problem/Types/DefaultProvidedFile.cs | 2 - .../V2/V3/Problem/Types/FileInfoV2.cs | 2 - .../SeedTrace/V2/V3/Problem/Types/Files.cs | 2 - .../Problem/Types/FunctionImplementation.cs | 2 - ...ctionImplementationForMultipleLanguages.cs | 2 - .../V2/V3/Problem/Types/GeneratedFiles.cs | 2 - .../Types/GetBasicSolutionFileRequest.cs | 2 - .../Types/GetBasicSolutionFileResponse.cs | 2 - .../Types/GetFunctionSignatureRequest.cs | 2 - .../Types/GetFunctionSignatureResponse.cs | 2 - .../Types/GetGeneratedTestCaseFileRequest.cs | 2 - ...GetGeneratedTestCaseTemplateFileRequest.cs | 2 - .../Problem/Types/LightweightProblemInfoV2.cs | 2 - .../Types/NonVoidFunctionDefinition.cs | 2 - .../Problem/Types/NonVoidFunctionSignature.cs | 2 - .../V2/V3/Problem/Types/Parameter.cs | 2 - .../V2/V3/Problem/Types/ProblemInfoV2.cs | 2 - .../V2/V3/Problem/Types/TestCaseExpects.cs | 2 - .../Problem/Types/TestCaseImplementation.cs | 2 - .../TestCaseImplementationDescription.cs | 2 - .../V2/V3/Problem/Types/TestCaseMetadata.cs | 2 - .../V2/V3/Problem/Types/TestCaseTemplate.cs | 2 - .../V2/V3/Problem/Types/TestCaseV2.cs | 2 - .../TestCaseWithActualResultImplementation.cs | 2 - .../Problem/Types/VoidFunctionDefinition.cs | 2 - ...FunctionDefinitionThatTakesActualResult.cs | 2 - .../V3/Problem/Types/VoidFunctionSignature.cs | 2 - ...dFunctionSignatureThatTakesActualResult.cs | 2 - .../trace/src/SeedTrace/V2/V3/V3Client.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedUndiscriminatedUnions.Test.csproj | 7 +- .../TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetMetadataTest.cs | 2 - .../Unit/MockServer/GetTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../SeedUndiscriminatedUnionsException.cs | 4 +- .../Core/RawClient.cs | 14 +- .../SeedUndiscriminatedUnionsClient.cs | 4 +- .../Union/Types/KeyType.cs | 2 - .../Union/Types/TypeWithOptionalUnion.cs | 2 - .../Union/UnionClient.cs | 48 +-- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedUnions.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedUnions.Test/SeedUnions.Test.csproj | 7 +- .../unions/src/SeedUnions.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedUnions/Core/IRequestOptions.cs | 2 - .../SeedUnions/Core/Public/ClientOptions.cs | 2 - .../SeedUnions/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedUnionsException.cs | 4 +- .../unions/src/SeedUnions/Core/RawClient.cs | 14 +- .../unions/src/SeedUnions/SeedUnionsClient.cs | 4 +- .../unions/src/SeedUnions/Types/Types/Bar.cs | 2 - .../unions/src/SeedUnions/Types/Types/Foo.cs | 2 - .../src/SeedUnions/Types/TypesClient.cs | 2 - .../src/SeedUnions/Union/Types/Circle.cs | 2 - .../SeedUnions/Union/Types/GetShapeRequest.cs | 2 - .../src/SeedUnions/Union/Types/Square.cs | 2 - .../src/SeedUnions/Union/UnionClient.cs | 48 +-- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedUnknownAsAny.Test.csproj | 7 +- .../src/SeedUnknownAsAny.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/PostObjectTest.cs | 2 - .../Unit/MockServer/PostTest.cs | 2 - .../Unit/Serialization/MyObjectTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedUnknownAsAny/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedUnknownAsAnyException.cs | 4 +- .../src/SeedUnknownAsAny/Core/RawClient.cs | 14 +- .../SeedUnknownAsAnyClient.cs | 4 +- .../Unknown/Types/MyObject.cs | 2 - .../SeedUnknownAsAny/Unknown/UnknownClient.cs | 50 +-- .../Core/EnumSerializerTests.cs | 82 +++-- .../Core/RawClientTests.cs | 193 ++++++------ .../SeedValidation.Test.csproj | 7 +- .../src/SeedValidation.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/CreateTest.cs | 2 - .../Unit/MockServer/GetTest.cs | 2 - .../Unit/Serialization/TypeTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../SeedValidation/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedValidationException.cs | 4 +- .../src/SeedValidation/Core/RawClient.cs | 14 +- .../SeedValidation/Requests/CreateRequest.cs | 2 - .../src/SeedValidation/Requests/GetRequest.cs | 2 - .../SeedValidation/SeedValidationClient.cs | 52 ++-- .../src/SeedValidation/Types/Shape.cs | 2 - .../src/SeedValidation/Types/Type.cs | 2 - .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedVariables.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedVariables.Test.csproj | 7 +- .../src/SeedVariables.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/PostTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedVariables/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedVariablesException.cs | 4 +- .../src/SeedVariables/Core/RawClient.cs | 14 +- .../src/SeedVariables/SeedVariablesClient.cs | 4 +- .../SeedVariables/Service/ServiceClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedVersion.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedVersion.Test/SeedVersion.Test.csproj | 7 +- .../src/SeedVersion.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetUserTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedVersion/Core/IRequestOptions.cs | 2 - .../SeedVersion/Core/Public/ClientOptions.cs | 2 - .../SeedVersion/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedVersionException.cs | 4 +- .../src/SeedVersion/Core/RawClient.cs | 14 +- .../src/SeedVersion/SeedVersionClient.cs | 4 +- .../src/SeedVersion/User/Types/User.cs | 2 - .../src/SeedVersion/User/UserClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedVersion.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedVersion.Test/SeedVersion.Test.csproj | 7 +- .../src/SeedVersion.Test/TestClient.cs | 4 +- .../Unit/MockServer/BaseMockServerTest.cs | 2 - .../Unit/MockServer/GetUserTest.cs | 2 - .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedVersion/Core/IRequestOptions.cs | 2 - .../SeedVersion/Core/Public/ClientOptions.cs | 2 - .../SeedVersion/Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedVersionException.cs | 4 +- .../version/src/SeedVersion/Core/RawClient.cs | 14 +- .../src/SeedVersion/SeedVersionClient.cs | 4 +- .../src/SeedVersion/User/Types/User.cs | 2 - .../src/SeedVersion/User/UserClient.cs | 24 +- .../Core/EnumSerializerTests.cs | 82 +++-- .../SeedWebsocket.Test/Core/RawClientTests.cs | 193 ++++++------ .../SeedWebsocket.Test.csproj | 7 +- .../src/SeedWebsocket.Test/TestClient.cs | 4 +- .../Core/CollectionItemSerializer.cs | 2 +- .../src/SeedWebsocket/Core/IRequestOptions.cs | 2 - .../Core/Public/ClientOptions.cs | 2 - .../Core/Public/RequestOptions.cs | 2 - .../Core/Public/SeedWebsocketException.cs | 4 +- .../src/SeedWebsocket/Core/RawClient.cs | 14 +- .../SeedWebsocket/Realtime/RealtimeClient.cs | 2 - .../src/SeedWebsocket/SeedWebsocketClient.cs | 4 +- 2549 files changed, 20360 insertions(+), 22259 deletions(-) create mode 100644 seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml create mode 100644 seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml create mode 100644 seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml create mode 100644 seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml create mode 100644 seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml create mode 100644 seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml create mode 100644 seed/csharp-sdk/pagination/.mock/definition/complex.yml create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/SearchTest.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/Conversation.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/CursorPages.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequest.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequestOperator.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/PaginatedConversationResponse.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SearchRequest.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequest.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequestOperator.cs create mode 100644 seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/StartingAfterPaging.cs diff --git a/generators/csharp/codegen/src/asIs/CollectionItemSerializer.cs b/generators/csharp/codegen/src/asIs/CollectionItemSerializer.cs index 562f69a369e..5e54731058b 100644 --- a/generators/csharp/codegen/src/asIs/CollectionItemSerializer.cs +++ b/generators/csharp/codegen/src/asIs/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/generators/csharp/codegen/src/asIs/GrpcRequestOptions.Template.cs b/generators/csharp/codegen/src/asIs/GrpcRequestOptions.Template.cs index f294ae05d27..2055b3aeb35 100644 --- a/generators/csharp/codegen/src/asIs/GrpcRequestOptions.Template.cs +++ b/generators/csharp/codegen/src/asIs/GrpcRequestOptions.Template.cs @@ -1,19 +1,15 @@ -using System; -using System.Net.Http; using Grpc.Core; using <%= namespace%>.Core; namespace <%= namespace%>; -#nullable enable - public partial class GrpcRequestOptions { /// /// The maximum number of retry attempts. /// public int? MaxRetries { get; init; } - + /// /// The timeout for the request. /// @@ -23,7 +19,7 @@ public partial class GrpcRequestOptions /// Options for write operations. /// public WriteOptions? WriteOptions { get; init; } - + /// /// Client-side call credentials. Provide authorization with per-call granularity. /// @@ -33,4 +29,4 @@ public partial class GrpcRequestOptions /// Headers to be sent with this particular request. /// internal Headers Headers { get; init; } = new(); -} \ No newline at end of file +} diff --git a/generators/csharp/codegen/src/asIs/RawClient.Template.cs b/generators/csharp/codegen/src/asIs/RawClient.Template.cs index b5df124f43e..1d76c0c4c11 100644 --- a/generators/csharp/codegen/src/asIs/RawClient.Template.cs +++ b/generators/csharp/codegen/src/asIs/RawClient.Template.cs @@ -5,8 +5,6 @@ namespace <%= namespace%>; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -28,64 +26,61 @@ internal class RawClient(ClientOptions clientOptions) /// public readonly ClientOptions Options = clientOptions; -public async Task MakeRequestAsync( - BaseApiRequest request, - CancellationToken cancellationToken = default -) -{ - // Apply the request timeout. - var cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); - var timeout = request.Options?.Timeout ?? Options.Timeout; - cts.CancelAfter(timeout); - - // Send the request. - return await SendWithRetriesAsync( - request, - cts.Token - ); -} + public async Task MakeRequestAsync( + BaseApiRequest request, + CancellationToken cancellationToken = default + ) + { + // Apply the request timeout. + var cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); + var timeout = request.Options?.Timeout ?? Options.Timeout; + cts.CancelAfter(timeout); -public record BaseApiRequest -{ - public required string BaseUrl { get; init; } + // Send the request. + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); + } - public required HttpMethod Method { get; init; } + public record BaseApiRequest + { + public required string BaseUrl { get; init; } - public required string Path { get; init; } + public required HttpMethod Method { get; init; } - public string? ContentType { get; init; } + public required string Path { get; init; } - public Dictionary Query { get; init; } = new(); + public string? ContentType { get; init; } - public Headers Headers { get; init; } = new(); + public Dictionary Query { get; init; } = new(); - public IRequestOptions? Options { get; init; } -} + public Headers Headers { get; init; } = new(); -/// -/// The request object to be sent for streaming uploads. -/// -public record StreamApiRequest : BaseApiRequest -{ - public Stream? Body { get; init; } -} + public IRequestOptions? Options { get; init; } + } -/// -/// The request object to be sent for JSON APIs. -/// -public record JsonApiRequest : BaseApiRequest -{ - public object? Body { get; init; } -} + /// + /// The request object to be sent for streaming uploads. + /// + public record StreamApiRequest : BaseApiRequest + { + public Stream? Body { get; init; } + } -/// -/// The response object returned from the API. -/// -public record ApiResponse -{ - public required int StatusCode { get; init; } + /// + /// The request object to be sent for JSON APIs. + /// + public record JsonApiRequest : BaseApiRequest + { + public object? Body { get; init; } + } - public required HttpResponseMessage Raw { get; init; } + /// + /// The response object returned from the API. + /// + public record ApiResponse + { + public required int StatusCode { get; init; } + + public required HttpResponseMessage Raw { get; init; } } private async Task SendWithRetriesAsync( @@ -95,7 +90,7 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken).ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -103,8 +98,8 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken).ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } @@ -123,24 +118,26 @@ private HttpRequestMessage BuildHttpRequest(BaseApiRequest request) { // Add the request body to the request. case JsonApiRequest jsonRequest: + { + if (jsonRequest.Body != null) { - if (jsonRequest.Body != null) - { - httpRequest.Content = new StringContent( - JsonUtils.Serialize(jsonRequest.Body), - Encoding.UTF8, - "application/json" - ); - } - break; + httpRequest.Content = new StringContent( + JsonUtils.Serialize(jsonRequest.Body), + Encoding.UTF8, + "application/json" + ); } + break; + } case StreamApiRequest { Body: not null } streamRequest: httpRequest.Content = new StreamContent(streamRequest.Body); break; } if (request.ContentType != null) { - httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse(request.ContentType); + httpRequest.Content.Headers.ContentType = MediaTypeHeaderValue.Parse( + request.ContentType + ); } SetHeaders(httpRequest, Options.Headers); SetHeaders(httpRequest, request.Headers); @@ -200,4 +197,4 @@ private static void SetHeaders(HttpRequestMessage httpRequest, Headers headers) } } } -} \ No newline at end of file +} diff --git a/generators/csharp/codegen/src/asIs/RawGrpcClient.Template.cs b/generators/csharp/codegen/src/asIs/RawGrpcClient.Template.cs index eb91f195fd4..e664e0adf25 100644 --- a/generators/csharp/codegen/src/asIs/RawGrpcClient.Template.cs +++ b/generators/csharp/codegen/src/asIs/RawGrpcClient.Template.cs @@ -1,4 +1,3 @@ -using System; using Grpc.Core; using Grpc.Net.Client; @@ -53,14 +52,11 @@ public CallOptions CreateCallOptions( ); } - private void SetHeaders(global::Grpc.Core.Metadata metadata, Headers headers) + private static void SetHeaders(global::Grpc.Core.Metadata metadata, Headers headers) { foreach (var header in headers) { - var value = header.Value?.Match( - str => str, - func => func.Invoke() - ); + var value = header.Value?.Match(str => str, func => func.Invoke()); if (value != null) { metadata.Add(header.Key, value); diff --git a/generators/csharp/codegen/src/asIs/test/EnumSerializerTests.Template.cs b/generators/csharp/codegen/src/asIs/test/EnumSerializerTests.Template.cs index 4d7f05154ea..713c30b6b74 100644 --- a/generators/csharp/codegen/src/asIs/test/EnumSerializerTests.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/EnumSerializerTests.Template.cs @@ -1,29 +1,24 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using <%= namespace%>.Core; -namespace <%= namespace%>.Test.Core -{ - [TestFixture] +namespace <%= namespace%>.Test.Core; + +[TestFixture] public class StringEnumSerializerTests { - private static readonly JsonSerializerOptions JsonOptions = new() - { - WriteIndented = true, - }; + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; private const string KnownEnumValue2String = "known_value2"; - private static readonly string JsonWithKnownEnum2 = - $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const string JsonWithKnownEnum2 = $$""" + { + "enum_property": "{{KnownEnumValue2String}}" + } + """; [Test] public void ShouldParseKnownEnumValue2() @@ -36,8 +31,10 @@ public void ShouldParseKnownEnumValue2() [Test] public void ShouldSerializeKnownEnumValue2() { - var json = JsonSerializer.SerializeToElement(new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions); + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); TestContext.Out.WriteLine("Serialized JSON: \n" + json); var enumString = json.GetProperty("enum_property").GetString(); Assert.That(enumString, Is.Not.Null); @@ -54,10 +51,9 @@ public class DummyObject [JsonConverter(typeof(EnumSerializer))] public enum DummyEnum { - [EnumMember(Value = "known_value1")] KnownValue1, + [EnumMember(Value = "known_value2")] - KnownValue2, -} -} + KnownValue2 +} \ No newline at end of file diff --git a/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs b/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs index 89fc1d08a98..7e3128f21e0 100644 --- a/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs @@ -1,108 +1,108 @@ -using System; -using System.Net.Http; -using SystemTask = System.Threading.Tasks.Task; -using FluentAssertions; using NUnit.Framework; +using WireMock.Server; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -using WireMock.Server; using <%= namespace%>.Core; -namespace <%= namespace%>.Test.Core +namespace <%= namespace%>.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { - HttpClient = _httpClient, - MaxRetries = _maxRetries - } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server.Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server.Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server.Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test" - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server.Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test" + }; - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test" - }; + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( + int statusCode + ) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith( + WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") + ); - [TearDown] - public void TearDown() + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test" + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } -} +} \ No newline at end of file diff --git a/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs b/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs index 8ea286a1150..75eb0ac2582 100644 --- a/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs @@ -1,12 +1,11 @@ -using System; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using <%= namespace%>.Core; -namespace <%= namespace%>.Test.Core -{ - [TestFixture] +namespace <%= namespace%>.Test.Core; + +[TestFixture] public class StringEnumSerializerTests { private static readonly JsonSerializerOptions JsonOptions = new() @@ -134,5 +133,3 @@ public override int GetHashCode() public static bool operator !=(DummyEnum value1, string value2) => !value1.Value.Equals(value2); } -} - diff --git a/generators/csharp/codegen/src/asIs/test/Template.Test.csproj b/generators/csharp/codegen/src/asIs/test/Template.Test.csproj index 79750a6a8de..e9da9ec9c2f 100644 --- a/generators/csharp/codegen/src/asIs/test/Template.Test.csproj +++ b/generators/csharp/codegen/src/asIs/test/Template.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/generators/csharp/codegen/src/ast/Class.ts b/generators/csharp/codegen/src/ast/Class.ts index 914af990390..a7ea667359d 100644 --- a/generators/csharp/codegen/src/ast/Class.ts +++ b/generators/csharp/codegen/src/ast/Class.ts @@ -268,6 +268,11 @@ export class Class extends AstNode { } }); } + if (!this.hasBody()) { + writer.write(";"); + return; + } + writer.writeNewLineIfLastLineNot(); writer.writeLine("{"); @@ -343,6 +348,17 @@ export class Class extends AstNode { writer.writeLine("}"); } + private hasBody(): boolean { + return ( + this.fields.length > 0 || + this.constructors.length > 0 || + this.nestedClasses.length > 0 || + this.nestedInterfaces.length > 0 || + this.methods.length > 0 || + this.operators.length > 0 + ); + } + private writeConstructors({ writer, constructors }: { writer: Writer; constructors: Class.Constructor[] }): void { constructors.forEach((constructor, index) => { writer.write(`${constructor.access} ${this.name} (`); diff --git a/generators/csharp/codegen/src/ast/MethodInvocation.ts b/generators/csharp/codegen/src/ast/MethodInvocation.ts index 02e3ec9cab9..39b79af9098 100644 --- a/generators/csharp/codegen/src/ast/MethodInvocation.ts +++ b/generators/csharp/codegen/src/ast/MethodInvocation.ts @@ -8,6 +8,12 @@ export declare namespace MethodInvocation { interface Args { /* Defaults to false */ async?: boolean; + /* + How to call configureAwait(false/true) when async is true. + Defaults to `false`, which adds `configureAwait(false)`. + If true, nothing is added, as the default it `configureAwait(true)`. + */ + configureAwait?: boolean; /* The method to invoke */ method: string; /* A map of the field for the class and the value to be assigned to it. */ @@ -24,15 +30,17 @@ export class MethodInvocation extends AstNode { private method: string; private on: AstNode | undefined; private async: boolean; + private configureAwait: boolean; private generics: csharp.Type[]; - constructor({ method, arguments_, on, async, generics }: MethodInvocation.Args) { + constructor({ method, arguments_, on, async, configureAwait, generics }: MethodInvocation.Args) { super(); this.method = method; this.arguments = arguments_; this.on = on; this.async = async ?? false; + this.configureAwait = configureAwait ?? false; this.generics = generics ?? []; } @@ -67,5 +75,8 @@ export class MethodInvocation extends AstNode { writer.dedent(); writer.write(")"); + if (this.async && this.configureAwait === false) { + writer.write(".ConfigureAwait(false)"); + } } } diff --git a/generators/csharp/codegen/src/ast/core/Writer.ts b/generators/csharp/codegen/src/ast/core/Writer.ts index 0ce61f4ee6b..6ad28a09058 100644 --- a/generators/csharp/codegen/src/ast/core/Writer.ts +++ b/generators/csharp/codegen/src/ast/core/Writer.ts @@ -101,8 +101,6 @@ export class Writer extends AbstractWriter { const imports = this.stringifyImports(); if (imports.length > 0) { return `${imports} - #nullable enable - ${this.buffer}`; } } diff --git a/generators/csharp/codegen/src/context/CsharpTypeMapper.ts b/generators/csharp/codegen/src/context/CsharpTypeMapper.ts index 4afbd8772cb..565125258bc 100644 --- a/generators/csharp/codegen/src/context/CsharpTypeMapper.ts +++ b/generators/csharp/codegen/src/context/CsharpTypeMapper.ts @@ -51,7 +51,7 @@ export class CsharpTypeMapper { public convertToClassReference(declaredTypeName: { typeId: TypeId; name: Name }): ClassReference { const objectNamespace = this.context.getNamespaceForTypeId(declaredTypeName.typeId); - return new csharp.ClassReference({ + return csharp.classReference({ name: this.context.getPascalCaseSafeName(declaredTypeName.name), namespace: objectNamespace }); diff --git a/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts b/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts index b40aa0b8ba3..d66bfe40763 100644 --- a/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts +++ b/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts @@ -135,6 +135,11 @@ export class CsharpProtobufTypeMapper { } } +const enumerableClassReference = csharp.classReference({ + namespace: "System.Linq", + name: "Enumerable" +}); + class ToProtoPropertyMapper { private context: AbstractCsharpGeneratorContext; @@ -549,7 +554,7 @@ class FromProtoPropertyMapper { wrapperType }: { propertyName: string; - listType: TypeReference; + listType: ContainerType.List["list"] | ContainerType.Set["set"]; wrapperType?: WrapperType; }): CodeBlock { const on = csharp.codeblock(`${propertyName}?`); @@ -565,11 +570,15 @@ class FromProtoPropertyMapper { }) ); if (wrapperType !== WrapperType.Optional) { - writer.write(" ?? new "); + writer.write(" ?? "); writer.writeNode( - csharp.Type.listType(this.context.csharpTypeMapper.convert({ reference: listType })) + csharp.invokeMethod({ + on: enumerableClassReference, + method: "Empty", + generics: [this.context.csharpTypeMapper.convert({ reference: listType })], + arguments_: [] + }) ); - writer.write("()"); } }); } diff --git a/generators/csharp/codegen/src/proto/ProtobufResolver.ts b/generators/csharp/codegen/src/proto/ProtobufResolver.ts index d3aea17f89f..7c6f4142e67 100644 --- a/generators/csharp/codegen/src/proto/ProtobufResolver.ts +++ b/generators/csharp/codegen/src/proto/ProtobufResolver.ts @@ -48,7 +48,7 @@ export class ProtobufResolver { ); } case "userDefined": { - return new csharp.ClassReference({ + return csharp.classReference({ name: this.context.getPascalCaseSafeName(protobufType.name), namespace: this.context.protobufResolver.getNamespaceFromProtobufFileOrThrow(protobufType.file), namespaceAlias: "Proto" diff --git a/generators/csharp/model/src/object/ObjectSerializationTestGenerator.ts b/generators/csharp/model/src/object/ObjectSerializationTestGenerator.ts index 916a191d482..9bce4bca4fd 100644 --- a/generators/csharp/model/src/object/ObjectSerializationTestGenerator.ts +++ b/generators/csharp/model/src/object/ObjectSerializationTestGenerator.ts @@ -65,7 +65,7 @@ export class ObjectSerializationTestGenerator extends FileGenerator< writer.write("var deserializedObject = "); writer.writeNodeStatement( - new csharp.MethodInvocation({ + csharp.invokeMethod({ on: csharp.codeblock((writer) => writer.writeNode(this.jsonSerializerClassReference)), method: "Deserialize", generics: [csharp.Type.reference(this.classReference)], @@ -77,7 +77,7 @@ export class ObjectSerializationTestGenerator extends FileGenerator< writer.newLine(); writer.write("var serializedJson = "); writer.writeNodeStatement( - new csharp.MethodInvocation({ + csharp.invokeMethod({ on: csharp.codeblock((writer) => writer.writeNode(this.jsonSerializerClassReference)), method: "Serialize", arguments_: [csharp.codeblock("deserializedObject"), csharp.codeblock("serializerOptions")] diff --git a/generators/csharp/model/src/snippets/ExampleGenerator.ts b/generators/csharp/model/src/snippets/ExampleGenerator.ts index 7b3957740a8..c5598d33321 100644 --- a/generators/csharp/model/src/snippets/ExampleGenerator.ts +++ b/generators/csharp/model/src/snippets/ExampleGenerator.ts @@ -70,6 +70,7 @@ export class ExampleGenerator { } return csharp.InstantiatedPrimitive.null(); } + private getSnippetForNamed(exampleNamedType: ExampleNamedType, parseDatetimes: boolean): csharp.AstNode { return exampleNamedType.shape._visit({ alias: (exampleAliasType) => diff --git a/generators/csharp/sdk/src/endpoint/AbstractEndpointGenerator.ts b/generators/csharp/sdk/src/endpoint/AbstractEndpointGenerator.ts index 5cee60c6a2b..13e40ca365a 100644 --- a/generators/csharp/sdk/src/endpoint/AbstractEndpointGenerator.ts +++ b/generators/csharp/sdk/src/endpoint/AbstractEndpointGenerator.ts @@ -198,11 +198,12 @@ export abstract class AbstractEndpointGenerator { } getEndpointReturnType({ context: this.context, endpoint }); - return new csharp.MethodInvocation({ + return csharp.invokeMethod({ method: this.context.getEndpointMethodName(endpoint), arguments_: args, on, async: true, + configureAwait: true, generics: [] }); } diff --git a/generators/csharp/sdk/src/endpoint/http/HttpEndpointGenerator.ts b/generators/csharp/sdk/src/endpoint/http/HttpEndpointGenerator.ts index a6d1a76c449..aea5bbea8be 100644 --- a/generators/csharp/sdk/src/endpoint/http/HttpEndpointGenerator.ts +++ b/generators/csharp/sdk/src/endpoint/http/HttpEndpointGenerator.ts @@ -676,11 +676,12 @@ export class HttpEndpointGenerator extends AbstractEndpointGenerator { } getEndpointReturnType({ context: this.context, endpoint }); - return new csharp.MethodInvocation({ + return csharp.invokeMethod({ method: this.context.getEndpointMethodName(endpoint), arguments_: args, on, async: false, + configureAwait: true, generics: [] }); } diff --git a/generators/csharp/sdk/src/environment/MultiUrlEnvironmentGenerator.ts b/generators/csharp/sdk/src/environment/MultiUrlEnvironmentGenerator.ts index 288d8513b2a..4f8ea67b412 100644 --- a/generators/csharp/sdk/src/environment/MultiUrlEnvironmentGenerator.ts +++ b/generators/csharp/sdk/src/environment/MultiUrlEnvironmentGenerator.ts @@ -36,15 +36,16 @@ export class MultiUrlEnvironmentGenerator extends FileGenerator< class_.addField( csharp.field({ access: csharp.Access.Public, + static_: true, + readonly: true, name: (this.context.customConfig["pascal-case-environments"] ?? true) ? environment.name.pascalCase.safeName : environment.name.screamingSnakeCase.safeName, - static_: true, type: csharp.Type.reference(this.context.getEnvironmentsClassReference()), initializer: csharp.codeblock((writer) => { writer.writeNode( - new csharp.ClassInstantiation({ + csharp.instantiateClass({ classReference: class_.reference, arguments_: Object.entries(environment.urls).map(([id, url]) => { const baseUrl = this.multiUrlEnvironments.baseUrls.find((url) => url.id === id); diff --git a/generators/csharp/sdk/src/environment/SingleUrlEnvironmentGenerator.ts b/generators/csharp/sdk/src/environment/SingleUrlEnvironmentGenerator.ts index 04e59ece789..7a1a1de3ec2 100644 --- a/generators/csharp/sdk/src/environment/SingleUrlEnvironmentGenerator.ts +++ b/generators/csharp/sdk/src/environment/SingleUrlEnvironmentGenerator.ts @@ -36,11 +36,11 @@ export class SingleUrlEnvironmentGenerator extends FileGenerator< class_.addField( csharp.field({ access: csharp.Access.Public, + const_: true, name: (this.context.customConfig["pascal-case-environments"] ?? true) ? environment.name.pascalCase.safeName : environment.name.screamingSnakeCase.safeName, - static_: true, type: csharp.Type.string(), initializer: csharp.codeblock(`"${environment.url}"`) }) diff --git a/generators/csharp/sdk/src/root-client/RootClientGenerator.ts b/generators/csharp/sdk/src/root-client/RootClientGenerator.ts index 2ca7240e50c..73e06154aba 100644 --- a/generators/csharp/sdk/src/root-client/RootClientGenerator.ts +++ b/generators/csharp/sdk/src/root-client/RootClientGenerator.ts @@ -78,7 +78,8 @@ export class RootClientGenerator extends FileGenerator(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj b/seed/csharp-model/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj index a096140ec2c..d3317f4f23b 100644 --- a/seed/csharp-model/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj +++ b/seed/csharp-model/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/alias-extends/src/SeedAliasExtends/Child.cs b/seed/csharp-model/alias-extends/src/SeedAliasExtends/Child.cs index be89e0a5564..a26150442a5 100644 --- a/seed/csharp-model/alias-extends/src/SeedAliasExtends/Child.cs +++ b/seed/csharp-model/alias-extends/src/SeedAliasExtends/Child.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public record Child diff --git a/seed/csharp-model/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs b/seed/csharp-model/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs index 5cc6c7945c4..efd5c2ffd9b 100644 --- a/seed/csharp-model/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/alias-extends/src/SeedAliasExtends/Parent.cs b/seed/csharp-model/alias-extends/src/SeedAliasExtends/Parent.cs index f910751710b..e5b0a958312 100644 --- a/seed/csharp-model/alias-extends/src/SeedAliasExtends/Parent.cs +++ b/seed/csharp-model/alias-extends/src/SeedAliasExtends/Parent.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public record Parent diff --git a/seed/csharp-model/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs index b48c2e6729a..ebee2c93834 100644 --- a/seed/csharp-model/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAlias.Core; -namespace SeedAlias.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAlias.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/alias/src/SeedAlias.Test/SeedAlias.Test.csproj b/seed/csharp-model/alias/src/SeedAlias.Test/SeedAlias.Test.csproj index 4c80df47000..9d9621f5c84 100644 --- a/seed/csharp-model/alias/src/SeedAlias.Test/SeedAlias.Test.csproj +++ b/seed/csharp-model/alias/src/SeedAlias.Test/SeedAlias.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/alias/src/SeedAlias/Core/CollectionItemSerializer.cs b/seed/csharp-model/alias/src/SeedAlias/Core/CollectionItemSerializer.cs index ef7d8efd0b2..ec341f9e942 100644 --- a/seed/csharp-model/alias/src/SeedAlias/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/alias/src/SeedAlias/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/alias/src/SeedAlias/Type.cs b/seed/csharp-model/alias/src/SeedAlias/Type.cs index fd8fcc3601e..d84e8b7c0c0 100644 --- a/seed/csharp-model/alias/src/SeedAlias/Type.cs +++ b/seed/csharp-model/alias/src/SeedAlias/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAlias.Core; -#nullable enable - namespace SeedAlias; public record Type diff --git a/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs index ebde0c81c13..3622b9028f8 100644 --- a/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAnyAuth.Core; -namespace SeedAnyAuth.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAnyAuth.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj b/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj index cb2298c52d3..3287dddb22e 100644 --- a/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj +++ b/seed/csharp-model/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/any-auth/src/SeedAnyAuth/Auth/TokenResponse.cs b/seed/csharp-model/any-auth/src/SeedAnyAuth/Auth/TokenResponse.cs index ad2268bc618..6f050beccf5 100644 --- a/seed/csharp-model/any-auth/src/SeedAnyAuth/Auth/TokenResponse.cs +++ b/seed/csharp-model/any-auth/src/SeedAnyAuth/Auth/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public record TokenResponse diff --git a/seed/csharp-model/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs b/seed/csharp-model/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs index 44a65eac8ca..46bc28a84b4 100644 --- a/seed/csharp-model/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/any-auth/src/SeedAnyAuth/User/User.cs b/seed/csharp-model/any-auth/src/SeedAnyAuth/User/User.cs index b7b23acce74..f617d937138 100644 --- a/seed/csharp-model/any-auth/src/SeedAnyAuth/User/User.cs +++ b/seed/csharp-model/any-auth/src/SeedAnyAuth/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public record User diff --git a/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs index 5f7e85954a6..55333ceb34e 100644 --- a/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApiWideBasePath.Core; -namespace SeedApiWideBasePath.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApiWideBasePath.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj b/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj index 330a9298b0a..6d84af47693 100644 --- a/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj +++ b/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs b/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs index d3bdf24dc8c..7f19dddcd02 100644 --- a/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs index 41441c252b5..a86b5e8c1b5 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAudiences.Core; -namespace SeedAudiences.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAudiences.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj b/seed/csharp-model/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj index efb76afe36f..bebda8d091d 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj +++ b/seed/csharp-model/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs b/seed/csharp-model/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs index 8d8c7ebefc0..ade993419ec 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/audiences/src/SeedAudiences/FolderA/Service/Response.cs b/seed/csharp-model/audiences/src/SeedAudiences/FolderA/Service/Response.cs index d4a72f02abe..809f7d220b3 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences/FolderA/Service/Response.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences/FolderA/Service/Response.cs @@ -2,8 +2,6 @@ using SeedAudiences.Core; using SeedAudiences.FolderB; -#nullable enable - namespace SeedAudiences.FolderA; public record Response diff --git a/seed/csharp-model/audiences/src/SeedAudiences/FolderB/Common/Foo.cs b/seed/csharp-model/audiences/src/SeedAudiences/FolderB/Common/Foo.cs index 3b8e9de9dec..932d7b9bbae 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences/FolderB/Common/Foo.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences/FolderB/Common/Foo.cs @@ -2,8 +2,6 @@ using SeedAudiences.Core; using SeedAudiences.FolderC; -#nullable enable - namespace SeedAudiences.FolderB; public record Foo diff --git a/seed/csharp-model/audiences/src/SeedAudiences/FolderC/Common/FolderCFoo.cs b/seed/csharp-model/audiences/src/SeedAudiences/FolderC/Common/FolderCFoo.cs index fa5b3d9b2e5..bf02c32da1f 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences/FolderC/Common/FolderCFoo.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences/FolderC/Common/FolderCFoo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderC; public record FolderCFoo diff --git a/seed/csharp-model/audiences/src/SeedAudiences/FolderD/Service/Response.cs b/seed/csharp-model/audiences/src/SeedAudiences/FolderD/Service/Response.cs index cd734dd12c5..b4aa5c736c8 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences/FolderD/Service/Response.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences/FolderD/Service/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderD; public record Response diff --git a/seed/csharp-model/audiences/src/SeedAudiences/Foo/FilteredType.cs b/seed/csharp-model/audiences/src/SeedAudiences/Foo/FilteredType.cs index edd44d23f3f..eb938e6ffb0 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences/Foo/FilteredType.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences/Foo/FilteredType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public record FilteredType diff --git a/seed/csharp-model/audiences/src/SeedAudiences/Foo/ImportingType.cs b/seed/csharp-model/audiences/src/SeedAudiences/Foo/ImportingType.cs index 2dc1455187a..b2f241dbb1e 100644 --- a/seed/csharp-model/audiences/src/SeedAudiences/Foo/ImportingType.cs +++ b/seed/csharp-model/audiences/src/SeedAudiences/Foo/ImportingType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public record ImportingType diff --git a/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs index d4b033842fa..4db3adbef59 100644 --- a/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAuthEnvironmentVariables.Core; -namespace SeedAuthEnvironmentVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAuthEnvironmentVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj b/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj index 20f810ff4fd..999a06ee094 100644 --- a/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj +++ b/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs b/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs index f849fc69f13..24654f3e79e 100644 --- a/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs index 80254d3b829..6c4ce5514c0 100644 --- a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBasicAuthEnvironmentVariables.Core; -namespace SeedBasicAuthEnvironmentVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBasicAuthEnvironmentVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj index 1c5ab5dcbfd..611b68dba6c 100644 --- a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj +++ b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs index 1d0a91a8004..5482b1be357 100644 --- a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/UnauthorizedRequestErrorBody.cs b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/UnauthorizedRequestErrorBody.cs index e6610c8b88c..b7a390949f6 100644 --- a/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/UnauthorizedRequestErrorBody.cs +++ b/seed/csharp-model/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/UnauthorizedRequestErrorBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; public record UnauthorizedRequestErrorBody diff --git a/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs index 88b2cd4defa..7e0b647845c 100644 --- a/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBasicAuth.Core; -namespace SeedBasicAuth.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBasicAuth.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj b/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj index 33244ffe96a..4043eee6b5e 100644 --- a/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj +++ b/seed/csharp-model/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs b/seed/csharp-model/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs index eb0b8bc53d0..18462482eca 100644 --- a/seed/csharp-model/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/basic-auth/src/SeedBasicAuth/Errors/UnauthorizedRequestErrorBody.cs b/seed/csharp-model/basic-auth/src/SeedBasicAuth/Errors/UnauthorizedRequestErrorBody.cs index 81044fcea08..b5dc8080443 100644 --- a/seed/csharp-model/basic-auth/src/SeedBasicAuth/Errors/UnauthorizedRequestErrorBody.cs +++ b/seed/csharp-model/basic-auth/src/SeedBasicAuth/Errors/UnauthorizedRequestErrorBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth; public record UnauthorizedRequestErrorBody diff --git a/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs index 3494293860b..b4c523bf09d 100644 --- a/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBearerTokenEnvironmentVariable.Core; -namespace SeedBearerTokenEnvironmentVariable.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBearerTokenEnvironmentVariable.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj b/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj index c66ac7c4081..1814d6910dc 100644 --- a/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj +++ b/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs b/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs index e398e08e194..191ee57ada9 100644 --- a/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs index d208b0ed2a9..dc4c5c3c0e6 100644 --- a/seed/csharp-model/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBytes.Core; -namespace SeedBytes.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBytes.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj b/seed/csharp-model/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj index 40490560dbd..878b291fec2 100644 --- a/seed/csharp-model/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj +++ b/seed/csharp-model/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs b/seed/csharp-model/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs index 7161fe4fb96..362495ca011 100644 --- a/seed/csharp-model/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi/A/A.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi/A/A.cs index 69d7b900f2e..fa458ab2976 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi/A/A.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi/A/A.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record A diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectFieldValue.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectFieldValue.cs index b4d415f9af5..ec3b3152302 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectFieldValue.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectFieldValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ObjectFieldValue diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectValue.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectValue.cs index 024f8a34366..3248ebd9ed4 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectValue.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/ObjectValue.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ObjectValue diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/PrimitiveValue.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/PrimitiveValue.cs index 6a2aa14cfed..982eabd97f6 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/PrimitiveValue.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi/Ast/PrimitiveValue.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi/ImportingA.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi/ImportingA.cs index 5f1f36a679b..8b7d8c16020 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi/ImportingA.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi/ImportingA.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ImportingA diff --git a/seed/csharp-model/circular-references-advanced/src/SeedApi/RootType.cs b/seed/csharp-model/circular-references-advanced/src/SeedApi/RootType.cs index bbc1e5b6715..25d4b8747c8 100644 --- a/seed/csharp-model/circular-references-advanced/src/SeedApi/RootType.cs +++ b/seed/csharp-model/circular-references-advanced/src/SeedApi/RootType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record RootType diff --git a/seed/csharp-model/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-model/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/circular-references/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-model/circular-references/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-model/circular-references/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-model/circular-references/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/circular-references/src/SeedApi/A/A.cs b/seed/csharp-model/circular-references/src/SeedApi/A/A.cs index 69d7b900f2e..fa458ab2976 100644 --- a/seed/csharp-model/circular-references/src/SeedApi/A/A.cs +++ b/seed/csharp-model/circular-references/src/SeedApi/A/A.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record A diff --git a/seed/csharp-model/circular-references/src/SeedApi/Ast/ObjectValue.cs b/seed/csharp-model/circular-references/src/SeedApi/Ast/ObjectValue.cs index 024f8a34366..3248ebd9ed4 100644 --- a/seed/csharp-model/circular-references/src/SeedApi/Ast/ObjectValue.cs +++ b/seed/csharp-model/circular-references/src/SeedApi/Ast/ObjectValue.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ObjectValue diff --git a/seed/csharp-model/circular-references/src/SeedApi/Ast/PrimitiveValue.cs b/seed/csharp-model/circular-references/src/SeedApi/Ast/PrimitiveValue.cs index 6a2aa14cfed..982eabd97f6 100644 --- a/seed/csharp-model/circular-references/src/SeedApi/Ast/PrimitiveValue.cs +++ b/seed/csharp-model/circular-references/src/SeedApi/Ast/PrimitiveValue.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-model/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/circular-references/src/SeedApi/ImportingA.cs b/seed/csharp-model/circular-references/src/SeedApi/ImportingA.cs index 5f1f36a679b..8b7d8c16020 100644 --- a/seed/csharp-model/circular-references/src/SeedApi/ImportingA.cs +++ b/seed/csharp-model/circular-references/src/SeedApi/ImportingA.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ImportingA diff --git a/seed/csharp-model/circular-references/src/SeedApi/RootType.cs b/seed/csharp-model/circular-references/src/SeedApi/RootType.cs index bbc1e5b6715..25d4b8747c8 100644 --- a/seed/csharp-model/circular-references/src/SeedApi/RootType.cs +++ b/seed/csharp-model/circular-references/src/SeedApi/RootType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record RootType diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs index 28e1c388aef..504b5b3440a 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedCrossPackageTypeNames.Core; -namespace SeedCrossPackageTypeNames.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedCrossPackageTypeNames.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj index 7b7fe7b3690..d8737dd6bcc 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs index 6fd34a6009c..c99302b576a 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Response.cs b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Response.cs index d61b1c303f2..18b7203c172 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Response.cs +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderA; public record Response diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Foo.cs b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Foo.cs index dffad53cf90..fbee494b479 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Foo.cs +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Foo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderB; public record Foo diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Foo.cs b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Foo.cs index 1eb772dfc0e..c6686edc528 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Foo.cs +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Foo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderC; public record Foo diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Response.cs b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Response.cs index 165702c2518..b54a83d8039 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Response.cs +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderD; public record Response diff --git a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/ImportingType.cs b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/ImportingType.cs index f7780b85dc9..b73590469fd 100644 --- a/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/ImportingType.cs +++ b/seed/csharp-model/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/ImportingType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames; public record ImportingType diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml b/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml new file mode 100644 index 00000000000..bb5cf163d4e --- /dev/null +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml @@ -0,0 +1,132 @@ +types: + Column: + properties: + enumProp: optional + id: string + indexedData: optional + metadata: optional + values: list + source: + proto: proto/data/v1/data.proto + DeleteResponse: + properties: {} + source: + proto: proto/data/v1/data.proto + DescribeResponse: + properties: + dimension: optional + fullness: optional + namespaces: optional> + totalCount: optional + source: + proto: proto/data/v1/data.proto + FetchResponse: + properties: + columns: optional> + namespace: optional + usage: optional + source: + proto: proto/data/v1/data.proto + IndexedData: + properties: + indices: list + values: list + source: + proto: proto/data/v1/data.proto + ListElement: + properties: + id: optional + source: + proto: proto/data/v1/data.proto + ListResponse: + properties: + columns: optional> + namespace: optional + pagination: optional + usage: optional + source: + proto: proto/data/v1/data.proto + Metadata: + discriminated: false + encoding: + proto: + type: google.protobuf.Struct + source: + proto: proto/data/v1/data.proto + union: + - map + - map + MetadataValue: + discriminated: false + encoding: + proto: + type: google.protobuf.Value + source: + proto: proto/data/v1/data.proto + union: + - double + - string + - boolean + NamespaceSummary: + properties: + count: optional + source: + proto: proto/data/v1/data.proto + Pagination: + properties: + next: optional + source: + proto: proto/data/v1/data.proto + QueryColumn: + properties: + filter: optional + indexedData: optional + namespace: optional + topK: optional + values: list + source: + proto: proto/data/v1/data.proto + QueryResponse: + properties: + matches: optional> + namespace: optional + results: optional> + usage: optional + source: + proto: proto/data/v1/data.proto + QueryResult: + properties: + matches: optional> + namespace: optional + source: + proto: proto/data/v1/data.proto + ScoredColumn: + properties: + id: string + indexedData: optional + metadata: optional + score: optional + values: optional> + source: + proto: proto/data/v1/data.proto + TestEnum: + enum: + - A + - B + - C + source: + proto: proto/data/v1/data.proto + UpdateResponse: + properties: {} + source: + proto: proto/data/v1/data.proto + UploadResponse: + properties: + count: optional + source: + proto: proto/data/v1/data.proto + Usage: + properties: + units: optional + source: + proto: proto/data/v1/data.proto diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml b/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml new file mode 100644 index 00000000000..f1168231caf --- /dev/null +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml @@ -0,0 +1,7 @@ +default-environment: Default +display-name: Test API +environments: + Default: https://localhost +error-discrimination: + strategy: status-code +name: api diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml b/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml new file mode 100644 index 00000000000..d57fc987ef7 --- /dev/null +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml @@ -0,0 +1,233 @@ +imports: + root: __package__.yml +service: + auth: false + base-path: '' + display-name: DataService + endpoints: + delete: + auth: false + examples: + - request: {} + response: + body: {} + method: POST + path: /data/delete + request: + body: + properties: + deleteAll: optional + filter: optional + ids: optional> + namespace: optional + content-type: application/json + name: DeleteRequest + response: + docs: OK + status-code: 200 + type: root.DeleteResponse + source: + proto: proto/data/v1/data.proto + describe: + auth: false + examples: + - request: {} + response: + body: + dimension: 1 + fullness: 1.1 + namespaces: + key: + count: 1 + totalCount: 1 + method: POST + path: /data/describe + request: + body: + properties: + filter: optional + content-type: application/json + name: DescribeRequest + response: + docs: OK + status-code: 200 + type: root.DescribeResponse + source: + proto: proto/data/v1/data.proto + fetch: + auth: false + examples: + - response: + body: + columns: + key: + enumProp: A + id: id + indexedData: + indices: + - 1 + values: + - 1.1 + metadata: + key: 1.1 + values: + - 1.1 + namespace: namespace + usage: + units: 1 + method: GET + path: /data/fetch + request: + name: FetchRequest + query-parameters: + ids: + allow-multiple: true + type: optional + namespace: optional + response: + docs: OK + status-code: 200 + type: root.FetchResponse + source: + proto: proto/data/v1/data.proto + foo: + auth: false + examples: + - response: + body: + key: value + method: POST + path: /foo + response: + status-code: 200 + type: map + source: + openapi: openapi/openapi.yml + list: + auth: false + examples: + - response: + body: + columns: + - id: id + namespace: namespace + pagination: + next: next + usage: + units: 1 + method: GET + path: /data/list + request: + name: ListRequest + query-parameters: + limit: optional + namespace: optional + paginationToken: optional + prefix: optional + response: + docs: OK + status-code: 200 + type: root.ListResponse + source: + proto: proto/data/v1/data.proto + query: + auth: false + examples: + - request: + topK: 1 + response: + body: + matches: + - id: id + indexedData: + indices: + - 1 + values: + - 1.1 + metadata: + key: 1.1 + score: 1.1 + values: + - 1.1 + namespace: namespace + results: + - matches: + - id: id + namespace: namespace + usage: + units: 1 + method: POST + path: /data/query + request: + body: + properties: + column: optional> + filter: optional + id: optional + includeMetadata: optional + includeValues: optional + indexedData: optional + namespace: optional + queries: optional> + topK: uint + content-type: application/json + name: QueryRequest + response: + docs: OK + status-code: 200 + type: root.QueryResponse + source: + proto: proto/data/v1/data.proto + update: + auth: false + examples: + - request: + id: id + response: + body: {} + method: POST + path: /data/update + request: + body: + properties: + id: string + indexedData: optional + namespace: optional + setMetadata: optional + values: optional> + content-type: application/json + name: UpdateRequest + response: + docs: OK + status-code: 200 + type: root.UpdateResponse + source: + proto: proto/data/v1/data.proto + upload: + auth: false + examples: + - request: + columns: + - id: id + values: + - 1.1 + response: + body: + count: 1 + method: POST + path: /data + request: + body: + properties: + columns: list + namespace: optional + content-type: application/json + name: UploadRequest + response: + docs: OK + status-code: 200 + type: root.UploadResponse + source: + proto: proto/data/v1/data.proto + source: + proto: proto/data/v1/data.proto diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Column.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Column.cs index 602200b6dfb..653baa00125 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Column.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Column.cs @@ -1,9 +1,8 @@ +using System.Linq; using System.Text.Json.Serialization; using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record Column @@ -55,7 +54,7 @@ internal static Column FromProto(Proto.Column value) return new Column { Id = value.Id, - Values = value.Values?.ToList() ?? new List(), + Values = value.Values?.ToList() ?? Enumerable.Empty(), Metadata = value.Metadata != null ? Metadata.FromProto(value.Metadata) : null, IndexedData = value.IndexedData != null ? IndexedData.FromProto(value.IndexedData) : null, diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DeleteResponse.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DeleteResponse.cs index def64fbd896..24a4b7eee69 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DeleteResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DeleteResponse.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record DeleteResponse diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DescribeResponse.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DescribeResponse.cs index fbd45c674b7..cef14b6869a 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DescribeResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/DescribeResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record DescribeResponse diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/FetchResponse.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/FetchResponse.cs index ae595dfdc41..92c1e501e2b 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/FetchResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/FetchResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record FetchResponse diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/IndexedData.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/IndexedData.cs index 242c4d0b135..9a98dc849ee 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/IndexedData.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/IndexedData.cs @@ -1,9 +1,8 @@ +using System.Linq; using System.Text.Json.Serialization; using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record IndexedData @@ -43,8 +42,8 @@ internal static IndexedData FromProto(Proto.IndexedData value) { return new IndexedData { - Indices = value.Indices?.ToList() ?? new List(), - Values = value.Values?.ToList() ?? new List(), + Indices = value.Indices?.ToList() ?? Enumerable.Empty(), + Values = value.Values?.ToList() ?? Enumerable.Empty(), }; } } diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListElement.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListElement.cs index 2044bd62e56..f59e8955603 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListElement.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListElement.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record ListElement diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListResponse.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListResponse.cs index 9d691519a85..569349ec122 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ListResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record ListResponse diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Metadata.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Metadata.cs index 2e16aa50b3f..cdd7693bcd9 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Metadata.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Metadata.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class Metadata : Dictionary diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/MetadataValue.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/MetadataValue.cs index 2308676e891..04b807303a8 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/MetadataValue.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/MetadataValue.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class MetadataValue( diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/NamespaceSummary.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/NamespaceSummary.cs index da0573827da..0990961de09 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/NamespaceSummary.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/NamespaceSummary.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record NamespaceSummary diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Pagination.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Pagination.cs index 87a67db48af..7cd5c933090 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Pagination.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Pagination.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record Pagination diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryColumn.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryColumn.cs index 94c3d4f14af..3a5dc0cc032 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryColumn.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryColumn.cs @@ -1,9 +1,8 @@ +using System.Linq; using System.Text.Json.Serialization; using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record QueryColumn @@ -64,7 +63,7 @@ internal static QueryColumn FromProto(Proto.QueryColumn value) { return new QueryColumn { - Values = value.Values?.ToList() ?? new List(), + Values = value.Values?.ToList() ?? Enumerable.Empty(), TopK = value.TopK, Namespace = value.Namespace, Filter = value.Filter != null ? Metadata.FromProto(value.Filter) : null, diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResponse.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResponse.cs index c4786b94639..d6cff38f268 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record QueryResponse diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResult.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResult.cs index 8c8988af1fd..66470a8dae7 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResult.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/QueryResult.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record QueryResult diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ScoredColumn.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ScoredColumn.cs index 5ca5fa6e2f6..58389dee12d 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ScoredColumn.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/ScoredColumn.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record ScoredColumn diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UpdateResponse.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UpdateResponse.cs index 0d7e3f61b18..fcf4566d81e 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UpdateResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UpdateResponse.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record UpdateResponse diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UploadResponse.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UploadResponse.cs index 23286a04145..d160e4597aa 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UploadResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/UploadResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record UploadResponse diff --git a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Usage.cs b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Usage.cs index e5921bf2191..0c8db76ee8f 100644 --- a/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Usage.cs +++ b/seed/csharp-model/csharp-grpc-proto-exhaustive/src/SeedApi/Usage.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record Usage diff --git a/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-model/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/CreateResponse.cs b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/CreateResponse.cs index 608e09ded5f..8fb44ed3167 100644 --- a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/CreateResponse.cs +++ b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/CreateResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = User.V1; -#nullable enable - namespace SeedApi; public record CreateResponse diff --git a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Metadata.cs b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Metadata.cs index 2e16aa50b3f..cdd7693bcd9 100644 --- a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Metadata.cs +++ b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/Metadata.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class Metadata : Dictionary diff --git a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/MetadataValue.cs b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/MetadataValue.cs index 2308676e891..04b807303a8 100644 --- a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/MetadataValue.cs +++ b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/MetadataValue.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class MetadataValue( diff --git a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/UserModel.cs b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/UserModel.cs index 986ace0fbd1..e7f7745de2f 100644 --- a/seed/csharp-model/csharp-grpc-proto/src/SeedApi/UserModel.cs +++ b/seed/csharp-model/csharp-grpc-proto/src/SeedApi/UserModel.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = User.V1; -#nullable enable - namespace SeedApi; public record UserModel diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs index dfbfba5f6c5..90edcdca44d 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedCsharpNamespaceConflict.Core; -namespace SeedCsharpNamespaceConflict.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedCsharpNamespaceConflict.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj index 653ea9acc8e..bfbacc65e04 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/A.cs b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/A.cs index 7c41d5537e5..999168ba90b 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/A.cs +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/A.cs @@ -1,7 +1,5 @@ using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A.Aa; public record A diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/B.cs b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/B.cs index 25671f8d2eb..304bd9b04bc 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/B.cs +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/B.cs @@ -1,7 +1,5 @@ using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A.Aa; public record B diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/SubTestType.cs b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/SubTestType.cs index deefd6e44b8..54b1bea68df 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/SubTestType.cs +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/SubTestType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A.Aa; public record SubTestType diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/TestType.cs b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/TestType.cs index 3f088f0310b..c7b02ddd74a 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/TestType.cs +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/TestType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.B; public record TestType diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs index 00b04b5365d..6b004409175 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Task.cs b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Task.cs index 16ebcf9794c..e7abd88d8a9 100644 --- a/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Task.cs +++ b/seed/csharp-model/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Task.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict; public record Task diff --git a/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs index 4cc169e0b1e..0661cb167cf 100644 --- a/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedCustomAuth.Core; -namespace SeedCustomAuth.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedCustomAuth.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj b/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj index 1138d192410..e7fb0a4fb1b 100644 --- a/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj +++ b/seed/csharp-model/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs b/seed/csharp-model/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs index 9a6eaa380bb..b3c89f5a917 100644 --- a/seed/csharp-model/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/custom-auth/src/SeedCustomAuth/Errors/UnauthorizedRequestErrorBody.cs b/seed/csharp-model/custom-auth/src/SeedCustomAuth/Errors/UnauthorizedRequestErrorBody.cs index e2a884845d2..70625d40d6f 100644 --- a/seed/csharp-model/custom-auth/src/SeedCustomAuth/Errors/UnauthorizedRequestErrorBody.cs +++ b/seed/csharp-model/custom-auth/src/SeedCustomAuth/Errors/UnauthorizedRequestErrorBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth; public record UnauthorizedRequestErrorBody diff --git a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs index 7bfa7756e3e..504885eb46d 100644 --- a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs +++ b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs @@ -1,137 +1,133 @@ -using System; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedEnum.Core; -namespace SeedEnum.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - - private static readonly DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private static readonly DummyEnum UnknownEnumValue = DummyEnum.Custom("unknown_value"); +namespace SeedEnum.Test.Core; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2}}" - } - """; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithUnknownEnum = $$""" - { - "enum_property": "{{UnknownEnumValue}}" - } - """; + private static readonly DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private static readonly DummyEnum UnknownEnumValue = DummyEnum.Custom("unknown_value"); - [Test] - public void ShouldParseKnownEnumValue2() + private static readonly string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2}}" } + """; - [Test] - public void ShouldParseUnknownEnum() + private static readonly string JsonWithUnknownEnum = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithUnknownEnum, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(UnknownEnumValue)); + "enum_property": "{{UnknownEnumValue}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + } - [Test] - public void ShouldSerializeUnknownEnum() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = UnknownEnumValue }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(UnknownEnumValue)); - } + [Test] + public void ShouldParseUnknownEnum() + { + var obj = JsonSerializer.Deserialize(JsonWithUnknownEnum, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(UnknownEnumValue)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2)); } - [JsonConverter(typeof(StringEnumSerializer))] - public readonly record struct DummyEnum : IStringEnum + [Test] + public void ShouldSerializeUnknownEnum() { - public DummyEnum(string value) - { - Value = value; - } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = UnknownEnumValue }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(UnknownEnumValue)); + } +} - /// - /// The string value of the enum. - /// - public string Value { get; } +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - public static readonly DummyEnum KnownValue1 = Custom(Values.KnownValue1); +[JsonConverter(typeof(StringEnumSerializer))] +public readonly record struct DummyEnum : IStringEnum +{ + public DummyEnum(string value) + { + Value = value; + } - public static readonly DummyEnum KnownValue2 = Custom(Values.KnownValue2); + /// + /// The string value of the enum. + /// + public string Value { get; } - /// - /// Constant strings for enum values - /// - public static class Values - { - public const string KnownValue1 = "known_value1"; + public static readonly DummyEnum KnownValue1 = Custom(Values.KnownValue1); - public const string KnownValue2 = "known_value2"; - } + public static readonly DummyEnum KnownValue2 = Custom(Values.KnownValue2); - /// - /// Create a string enum with the given value. - /// - public static DummyEnum Custom(string value) - { - return new DummyEnum(value); - } + /// + /// Constant strings for enum values + /// + public static class Values + { + public const string KnownValue1 = "known_value1"; - /// - /// Returns the string value of the enum. - /// - public override string ToString() - { - return Value; - } + public const string KnownValue2 = "known_value2"; + } - public bool Equals(string? other) - { - return Value.Equals(other); - } + /// + /// Create a string enum with the given value. + /// + public static DummyEnum Custom(string value) + { + return new DummyEnum(value); + } - public override int GetHashCode() - { - return Value.GetHashCode(); - } + /// + /// Returns the string value of the enum. + /// + public override string ToString() + { + return Value; + } - public static bool operator ==(DummyEnum value1, string value2) => - value1.Value.Equals(value2); + public bool Equals(string? other) + { + return Value.Equals(other); + } - public static bool operator !=(DummyEnum value1, string value2) => - !value1.Value.Equals(value2); + public override int GetHashCode() + { + return Value.GetHashCode(); } + + public static bool operator ==(DummyEnum value1, string value2) => value1.Value.Equals(value2); + + public static bool operator !=(DummyEnum value1, string value2) => !value1.Value.Equals(value2); } diff --git a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj index d6faf892575..07807e2bf2a 100644 --- a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj +++ b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Color.cs b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Color.cs index e7d5e7234ad..1e6a98ee12d 100644 --- a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Color.cs +++ b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Color.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(StringEnumSerializer))] diff --git a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs index 2635b505ee0..51496ff2905 100644 --- a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Operand.cs b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Operand.cs index 66620a36071..6c607d30cad 100644 --- a/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Operand.cs +++ b/seed/csharp-model/enum/forward-compatible-enums/src/SeedEnum/Operand.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(StringEnumSerializer))] diff --git a/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs index 3df258e0757..4289917addd 100644 --- a/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedEnum.Core; -namespace SeedEnum.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedEnum.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj b/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj index d6faf892575..07807e2bf2a 100644 --- a/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj +++ b/seed/csharp-model/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/enum/plain-enums/src/SeedEnum/Color.cs b/seed/csharp-model/enum/plain-enums/src/SeedEnum/Color.cs index 8e4dedbd383..754f0effaed 100644 --- a/seed/csharp-model/enum/plain-enums/src/SeedEnum/Color.cs +++ b/seed/csharp-model/enum/plain-enums/src/SeedEnum/Color.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs b/seed/csharp-model/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs index 2635b505ee0..51496ff2905 100644 --- a/seed/csharp-model/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/enum/plain-enums/src/SeedEnum/Operand.cs b/seed/csharp-model/enum/plain-enums/src/SeedEnum/Operand.cs index 6fc1d1ca7f3..f4f5e3d6770 100644 --- a/seed/csharp-model/enum/plain-enums/src/SeedEnum/Operand.cs +++ b/seed/csharp-model/enum/plain-enums/src/SeedEnum/Operand.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs index 15f6b535439..18c4a291f00 100644 --- a/seed/csharp-model/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedErrorProperty.Core; -namespace SeedErrorProperty.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedErrorProperty.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj b/seed/csharp-model/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj index 0afa998e413..65d1a9d334c 100644 --- a/seed/csharp-model/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj +++ b/seed/csharp-model/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs b/seed/csharp-model/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs index 7c49bed64d3..4dcc28c216a 100644 --- a/seed/csharp-model/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/error-property/src/SeedErrorProperty/Errors/PropertyBasedErrorTestBody.cs b/seed/csharp-model/error-property/src/SeedErrorProperty/Errors/PropertyBasedErrorTestBody.cs index c4c8e668ab0..1705ff1a018 100644 --- a/seed/csharp-model/error-property/src/SeedErrorProperty/Errors/PropertyBasedErrorTestBody.cs +++ b/seed/csharp-model/error-property/src/SeedErrorProperty/Errors/PropertyBasedErrorTestBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty; public record PropertyBasedErrorTestBody diff --git a/seed/csharp-model/examples/src/SeedExamples.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/examples/src/SeedExamples.Test/Core/EnumSerializerTests.cs index 054ee62a369..fa8bfc6a0f5 100644 --- a/seed/csharp-model/examples/src/SeedExamples.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/examples/src/SeedExamples.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExamples.Core; -namespace SeedExamples.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExamples.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/examples/src/SeedExamples.Test/SeedExamples.Test.csproj b/seed/csharp-model/examples/src/SeedExamples.Test/SeedExamples.Test.csproj index dbba8aeb890..66cdda4c1f2 100644 --- a/seed/csharp-model/examples/src/SeedExamples.Test/SeedExamples.Test.csproj +++ b/seed/csharp-model/examples/src/SeedExamples.Test/SeedExamples.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/examples/src/SeedExamples/BasicType.cs b/seed/csharp-model/examples/src/SeedExamples/BasicType.cs index 8d5331c5768..1efab4080b8 100644 --- a/seed/csharp-model/examples/src/SeedExamples/BasicType.cs +++ b/seed/csharp-model/examples/src/SeedExamples/BasicType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/examples/src/SeedExamples/Commons/Types/Metadata.cs b/seed/csharp-model/examples/src/SeedExamples/Commons/Types/Metadata.cs index 8ad6843f153..97ec7b64640 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Commons/Types/Metadata.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Commons/Types/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Commons; public record Metadata diff --git a/seed/csharp-model/examples/src/SeedExamples/ComplexType.cs b/seed/csharp-model/examples/src/SeedExamples/ComplexType.cs index a37769291b3..d4eb1734da9 100644 --- a/seed/csharp-model/examples/src/SeedExamples/ComplexType.cs +++ b/seed/csharp-model/examples/src/SeedExamples/ComplexType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/examples/src/SeedExamples/Core/CollectionItemSerializer.cs b/seed/csharp-model/examples/src/SeedExamples/Core/CollectionItemSerializer.cs index 5b343e38d30..2d0000064ef 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/examples/src/SeedExamples/Identifier.cs b/seed/csharp-model/examples/src/SeedExamples/Identifier.cs index 683cfc8a085..925b557cd4c 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Identifier.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Identifier.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Identifier diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Actor.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Actor.cs index e62c1c90b0a..64958177dc0 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Actor.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Actor.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Actor diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Actress.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Actress.cs index c068eedba2c..abf9b8a2e70 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Actress.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Actress.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Actress diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/BigEntity.cs b/seed/csharp-model/examples/src/SeedExamples/Types/BigEntity.cs index e9910b5378d..c24bef22315 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/BigEntity.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/BigEntity.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record BigEntity diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Directory.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Directory.cs index d6d51f8ba97..e88d3314545 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Directory.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Directory.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Directory diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Entity.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Entity.cs index 65ecb066289..67850b2fee0 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Entity.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Entity.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Entity diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/ExceptionInfo.cs b/seed/csharp-model/examples/src/SeedExamples/Types/ExceptionInfo.cs index 46f2628f5e3..098b775871f 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/ExceptionInfo.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/ExceptionInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ExceptionInfo diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/ExtendedMovie.cs b/seed/csharp-model/examples/src/SeedExamples/Types/ExtendedMovie.cs index 394e9668152..133dff1ed7c 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/ExtendedMovie.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/ExtendedMovie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ExtendedMovie diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/File.cs b/seed/csharp-model/examples/src/SeedExamples/Types/File.cs index 31bca74d974..a7559f87ed1 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/File.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/File.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record File diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Migration.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Migration.cs index b08ab0d5cc7..24bd7b80ad0 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Migration.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Migration.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Migration diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/MigrationStatus.cs b/seed/csharp-model/examples/src/SeedExamples/Types/MigrationStatus.cs index aae6966f878..56000a8b04a 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/MigrationStatus.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/MigrationStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Moment.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Moment.cs index 4d5ed5a8095..cefae0ad70e 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Moment.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Moment.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Moment diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Movie.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Movie.cs index 942cf8a4ff6..2b97618994e 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Movie.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Movie diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Node.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Node.cs index 9849435643b..223f25bb4bf 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Node.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Node.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Node diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Request.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Request.cs index 42fd9d0f0cb..86c11ee43b8 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Request.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Request.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Request diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Response.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Response.cs index 253a09a77f0..0bbaeb95405 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Response.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Response diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/ResponseType.cs b/seed/csharp-model/examples/src/SeedExamples/Types/ResponseType.cs index c785297bb03..43efa937d03 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/ResponseType.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/ResponseType.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ResponseType diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/StuntDouble.cs b/seed/csharp-model/examples/src/SeedExamples/Types/StuntDouble.cs index 2be2c7ca21c..1eacc3553be 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/StuntDouble.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/StuntDouble.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record StuntDouble diff --git a/seed/csharp-model/examples/src/SeedExamples/Types/Tree.cs b/seed/csharp-model/examples/src/SeedExamples/Types/Tree.cs index 49c3f225678..9ec51da3f94 100644 --- a/seed/csharp-model/examples/src/SeedExamples/Types/Tree.cs +++ b/seed/csharp-model/examples/src/SeedExamples/Types/Tree.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Tree diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs index 5572de663e2..e28d715a6f0 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExhaustive.Core; -namespace SeedExhaustive.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExhaustive.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj b/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj index cc628bfe61c..bfc55417f03 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Core/CollectionItemSerializer.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Core/CollectionItemSerializer.cs index 1eb2ec5b2e4..e217143fcbf 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/GeneralErrors/BadObjectRequestInfo.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/GeneralErrors/BadObjectRequestInfo.cs index 113e406247d..628b604ebea 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/GeneralErrors/BadObjectRequestInfo.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/GeneralErrors/BadObjectRequestInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public record BadObjectRequestInfo diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Enum/WeatherReport.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Enum/WeatherReport.cs index 7bd06508285..c6e4ae0f4a2 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Enum/WeatherReport.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Enum/WeatherReport.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/DoubleOptional.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/DoubleOptional.cs index bf24f3faf30..fa81e762ef4 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/DoubleOptional.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/DoubleOptional.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record DoubleOptional diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithOptionalField.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithOptionalField.cs index 0008325ca2e..a9320f689b8 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithOptionalField.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record NestedObjectWithOptionalField diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithRequiredField.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithRequiredField.cs index 8ae53582b64..308327cb559 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithRequiredField.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/NestedObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record NestedObjectWithRequiredField diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithMapOfMap.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithMapOfMap.cs index 46f014df943..27bb6eab31f 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithMapOfMap.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithMapOfMap.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithMapOfMap diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithOptionalField.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithOptionalField.cs index 1636cafd0c2..f2d33ba9fda 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithOptionalField.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithOptionalField diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithRequiredField.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithRequiredField.cs index 85d230e3e60..038fa2d4c06 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithRequiredField.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Object/ObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithRequiredField diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Cat.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Cat.cs index 37558d18f11..6bd08c08663 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Cat.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Cat.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record Cat diff --git a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Dog.cs b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Dog.cs index 94f0de05624..f5851bd4d76 100644 --- a/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Dog.cs +++ b/seed/csharp-model/exhaustive/src/SeedExhaustive/Types/Union/Dog.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record Dog diff --git a/seed/csharp-model/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs index 6d9b555b690..dcc9f130682 100644 --- a/seed/csharp-model/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExtends.Core; -namespace SeedExtends.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExtends.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/extends/src/SeedExtends.Test/SeedExtends.Test.csproj b/seed/csharp-model/extends/src/SeedExtends.Test/SeedExtends.Test.csproj index b460424eab6..c45d61e8f80 100644 --- a/seed/csharp-model/extends/src/SeedExtends.Test/SeedExtends.Test.csproj +++ b/seed/csharp-model/extends/src/SeedExtends.Test/SeedExtends.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/extends/src/SeedExtends/Core/CollectionItemSerializer.cs b/seed/csharp-model/extends/src/SeedExtends/Core/CollectionItemSerializer.cs index 9197622f661..8c3b002b8f2 100644 --- a/seed/csharp-model/extends/src/SeedExtends/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/extends/src/SeedExtends/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/extends/src/SeedExtends/Docs.cs b/seed/csharp-model/extends/src/SeedExtends/Docs.cs index f3112c72575..2d97fcc3baa 100644 --- a/seed/csharp-model/extends/src/SeedExtends/Docs.cs +++ b/seed/csharp-model/extends/src/SeedExtends/Docs.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record Docs diff --git a/seed/csharp-model/extends/src/SeedExtends/ExampleType.cs b/seed/csharp-model/extends/src/SeedExtends/ExampleType.cs index 36c0fd4b9bb..5f17cb9f37d 100644 --- a/seed/csharp-model/extends/src/SeedExtends/ExampleType.cs +++ b/seed/csharp-model/extends/src/SeedExtends/ExampleType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record ExampleType diff --git a/seed/csharp-model/extends/src/SeedExtends/Json.cs b/seed/csharp-model/extends/src/SeedExtends/Json.cs index c3846eaca36..f29d5cd1ac6 100644 --- a/seed/csharp-model/extends/src/SeedExtends/Json.cs +++ b/seed/csharp-model/extends/src/SeedExtends/Json.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record Json diff --git a/seed/csharp-model/extends/src/SeedExtends/NestedType.cs b/seed/csharp-model/extends/src/SeedExtends/NestedType.cs index be88994a050..e32371c4ada 100644 --- a/seed/csharp-model/extends/src/SeedExtends/NestedType.cs +++ b/seed/csharp-model/extends/src/SeedExtends/NestedType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record NestedType diff --git a/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs index 7c571946c86..551d0446073 100644 --- a/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExtraProperties.Core; -namespace SeedExtraProperties.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExtraProperties.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj b/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj index 4b6eae5a36b..68953f666bc 100644 --- a/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj +++ b/seed/csharp-model/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs b/seed/csharp-model/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs index 060a687f2ca..c3415164ef7 100644 --- a/seed/csharp-model/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/extra-properties/src/SeedExtraProperties/Failure.cs b/seed/csharp-model/extra-properties/src/SeedExtraProperties/Failure.cs index 3fcdc224624..20b768344cc 100644 --- a/seed/csharp-model/extra-properties/src/SeedExtraProperties/Failure.cs +++ b/seed/csharp-model/extra-properties/src/SeedExtraProperties/Failure.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public record Failure diff --git a/seed/csharp-model/extra-properties/src/SeedExtraProperties/User/User.cs b/seed/csharp-model/extra-properties/src/SeedExtraProperties/User/User.cs index a6a26894c0a..6b36611b16f 100644 --- a/seed/csharp-model/extra-properties/src/SeedExtraProperties/User/User.cs +++ b/seed/csharp-model/extra-properties/src/SeedExtraProperties/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public record User diff --git a/seed/csharp-model/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs index 43ce3eef991..911299a45b6 100644 --- a/seed/csharp-model/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedFileDownload.Core; -namespace SeedFileDownload.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedFileDownload.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj b/seed/csharp-model/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj index 92f414fcfb7..116662e13d7 100644 --- a/seed/csharp-model/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj +++ b/seed/csharp-model/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs b/seed/csharp-model/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs index c03b50c6cc1..902a7679055 100644 --- a/seed/csharp-model/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs index a97647b8b1b..e79ad3e3df9 100644 --- a/seed/csharp-model/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedFileUpload.Core; -namespace SeedFileUpload.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedFileUpload.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj b/seed/csharp-model/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj index e17786a850b..2fb59eb1141 100644 --- a/seed/csharp-model/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj +++ b/seed/csharp-model/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs b/seed/csharp-model/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs index dd3ca2d0635..7b1fef8e0d8 100644 --- a/seed/csharp-model/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/file-upload/src/SeedFileUpload/Service/MyObject.cs b/seed/csharp-model/file-upload/src/SeedFileUpload/Service/MyObject.cs index 8f7f94be6a2..59308874d86 100644 --- a/seed/csharp-model/file-upload/src/SeedFileUpload/Service/MyObject.cs +++ b/seed/csharp-model/file-upload/src/SeedFileUpload/Service/MyObject.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public record MyObject diff --git a/seed/csharp-model/file-upload/src/SeedFileUpload/Service/ObjectType.cs b/seed/csharp-model/file-upload/src/SeedFileUpload/Service/ObjectType.cs index 30daf94aee8..5f4097b92ea 100644 --- a/seed/csharp-model/file-upload/src/SeedFileUpload/Service/ObjectType.cs +++ b/seed/csharp-model/file-upload/src/SeedFileUpload/Service/ObjectType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-model/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/folders/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-model/folders/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-model/folders/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-model/folders/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/folders/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/folders/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-model/folders/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/folders/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs index 05021088ba4..3c06d160a91 100644 --- a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedIdempotencyHeaders.Core; -namespace SeedIdempotencyHeaders.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedIdempotencyHeaders.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj index 3178b30c679..35be81f4ad5 100644 --- a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj +++ b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs index a7c1a780e58..baf731238d8 100644 --- a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Currency.cs b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Currency.cs index e1e940df051..26a9a122e7a 100644 --- a/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Currency.cs +++ b/seed/csharp-model/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Currency.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/imdb/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/imdb/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-model/imdb/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/imdb/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/imdb/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-model/imdb/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-model/imdb/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-model/imdb/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/imdb/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/imdb/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-model/imdb/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/imdb/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/imdb/src/SeedApi/Imdb/CreateMovieRequest.cs b/seed/csharp-model/imdb/src/SeedApi/Imdb/CreateMovieRequest.cs index 2bd982a277a..c4bb4e63947 100644 --- a/seed/csharp-model/imdb/src/SeedApi/Imdb/CreateMovieRequest.cs +++ b/seed/csharp-model/imdb/src/SeedApi/Imdb/CreateMovieRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record CreateMovieRequest diff --git a/seed/csharp-model/imdb/src/SeedApi/Imdb/Movie.cs b/seed/csharp-model/imdb/src/SeedApi/Imdb/Movie.cs index 1a91c457a43..44a7229f593 100644 --- a/seed/csharp-model/imdb/src/SeedApi/Imdb/Movie.cs +++ b/seed/csharp-model/imdb/src/SeedApi/Imdb/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Movie diff --git a/seed/csharp-model/license/src/SeedLicense.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/license/src/SeedLicense.Test/Core/EnumSerializerTests.cs index 95eb4f28c3e..2545c03f5ff 100644 --- a/seed/csharp-model/license/src/SeedLicense.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/license/src/SeedLicense.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedLicense.Core; -namespace SeedLicense.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedLicense.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/license/src/SeedLicense.Test/SeedLicense.Test.csproj b/seed/csharp-model/license/src/SeedLicense.Test/SeedLicense.Test.csproj index 48c2149242c..e823326875e 100644 --- a/seed/csharp-model/license/src/SeedLicense.Test/SeedLicense.Test.csproj +++ b/seed/csharp-model/license/src/SeedLicense.Test/SeedLicense.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/license/src/SeedLicense/Core/CollectionItemSerializer.cs b/seed/csharp-model/license/src/SeedLicense/Core/CollectionItemSerializer.cs index 0f6f15a62e9..12494d8b316 100644 --- a/seed/csharp-model/license/src/SeedLicense/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/license/src/SeedLicense/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/license/src/SeedLicense/Type.cs b/seed/csharp-model/license/src/SeedLicense/Type.cs index 297ed9c7bb8..6a51443c5db 100644 --- a/seed/csharp-model/license/src/SeedLicense/Type.cs +++ b/seed/csharp-model/license/src/SeedLicense/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public record Type diff --git a/seed/csharp-model/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs index 591b1211e15..247fefa9aff 100644 --- a/seed/csharp-model/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedLiteral.Core; -namespace SeedLiteral.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedLiteral.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj b/seed/csharp-model/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj index 9acd0732fca..f30185ff996 100644 --- a/seed/csharp-model/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj +++ b/seed/csharp-model/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs b/seed/csharp-model/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs index 28795fa5ec3..ad97a1e8b0d 100644 --- a/seed/csharp-model/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/literal/src/SeedLiteral/Inlined/ANestedLiteral.cs b/seed/csharp-model/literal/src/SeedLiteral/Inlined/ANestedLiteral.cs index c57cc4daa06..b363088db33 100644 --- a/seed/csharp-model/literal/src/SeedLiteral/Inlined/ANestedLiteral.cs +++ b/seed/csharp-model/literal/src/SeedLiteral/Inlined/ANestedLiteral.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record ANestedLiteral diff --git a/seed/csharp-model/literal/src/SeedLiteral/Inlined/ATopLevelLiteral.cs b/seed/csharp-model/literal/src/SeedLiteral/Inlined/ATopLevelLiteral.cs index 8076cba7c70..3e7fccecb63 100644 --- a/seed/csharp-model/literal/src/SeedLiteral/Inlined/ATopLevelLiteral.cs +++ b/seed/csharp-model/literal/src/SeedLiteral/Inlined/ATopLevelLiteral.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record ATopLevelLiteral diff --git a/seed/csharp-model/literal/src/SeedLiteral/Reference/ContainerObject.cs b/seed/csharp-model/literal/src/SeedLiteral/Reference/ContainerObject.cs index 48b753397b7..b152fd23461 100644 --- a/seed/csharp-model/literal/src/SeedLiteral/Reference/ContainerObject.cs +++ b/seed/csharp-model/literal/src/SeedLiteral/Reference/ContainerObject.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record ContainerObject diff --git a/seed/csharp-model/literal/src/SeedLiteral/Reference/NestedObjectWithLiterals.cs b/seed/csharp-model/literal/src/SeedLiteral/Reference/NestedObjectWithLiterals.cs index 500d0c030d6..9d68eb6a26c 100644 --- a/seed/csharp-model/literal/src/SeedLiteral/Reference/NestedObjectWithLiterals.cs +++ b/seed/csharp-model/literal/src/SeedLiteral/Reference/NestedObjectWithLiterals.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record NestedObjectWithLiterals diff --git a/seed/csharp-model/literal/src/SeedLiteral/Reference/SendRequest.cs b/seed/csharp-model/literal/src/SeedLiteral/Reference/SendRequest.cs index db8b1d39d79..56e609ab0ba 100644 --- a/seed/csharp-model/literal/src/SeedLiteral/Reference/SendRequest.cs +++ b/seed/csharp-model/literal/src/SeedLiteral/Reference/SendRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record SendRequest diff --git a/seed/csharp-model/literal/src/SeedLiteral/SendResponse.cs b/seed/csharp-model/literal/src/SeedLiteral/SendResponse.cs index 55cf4340438..47ad6aa086d 100644 --- a/seed/csharp-model/literal/src/SeedLiteral/SendResponse.cs +++ b/seed/csharp-model/literal/src/SeedLiteral/SendResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record SendResponse diff --git a/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs index 387a195f32b..e48de8dd380 100644 --- a/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMixedCase.Core; -namespace SeedMixedCase.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMixedCase.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj b/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj index 0cd79747a61..07c21b28922 100644 --- a/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj +++ b/seed/csharp-model/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs b/seed/csharp-model/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs index 71ca866a503..fa05e3c02c8 100644 --- a/seed/csharp-model/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/NestedUser.cs b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/NestedUser.cs index d108cacb7aa..c3c29dba105 100644 --- a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/NestedUser.cs +++ b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/NestedUser.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public record NestedUser diff --git a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/Organization.cs b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/Organization.cs index 74fcf40f860..fefb2c9f172 100644 --- a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/Organization.cs +++ b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/Organization.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public record Organization diff --git a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/ResourceStatus.cs b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/ResourceStatus.cs index d55d0347f4c..9754dcf2f66 100644 --- a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/ResourceStatus.cs +++ b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/ResourceStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/User.cs b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/User.cs index c9cebe371a9..c458961ba0f 100644 --- a/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/User.cs +++ b/seed/csharp-model/mixed-case/src/SeedMixedCase/Service/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public record User diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs index e866b8cf17c..6bca383f0cb 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMixedFileDirectory.Core; -namespace SeedMixedFileDirectory.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMixedFileDirectory.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj index e2d88fb3556..f3420efd113 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs index 87d4d84d1dc..2d32568274e 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/CreateOrganizationRequest.cs b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/CreateOrganizationRequest.cs index 4fcaa5582cd..e9692f55626 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/CreateOrganizationRequest.cs +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/CreateOrganizationRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public record CreateOrganizationRequest diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Organization.cs b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Organization.cs index 0c84627921c..a942e949ada 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Organization.cs +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Organization.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public record Organization diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Event.cs b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Event.cs index d66c4e6434a..d612256c8aa 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Event.cs +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Event.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.User; public record Event diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Metadata.cs b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Metadata.cs index 4529e495f9c..c6447e75678 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Metadata.cs +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.User.Events; public record Metadata diff --git a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/User.cs b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/User.cs index fa1e2e3a9b5..16f5738ddc0 100644 --- a/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/User.cs +++ b/seed/csharp-model/mixed-file-directory/src/SeedMixedFileDirectory/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public record User diff --git a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs index 2bd23e45c15..accf406a588 100644 --- a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMultiLineDocs.Core; -namespace SeedMultiLineDocs.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMultiLineDocs.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj index 3c47b405159..3c647e7cd2f 100644 --- a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj +++ b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs index d080c3b8f55..4e659061c66 100644 --- a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Operand.cs b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Operand.cs index 5630c87b6f2..e7c4af1dadc 100644 --- a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Operand.cs +++ b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/Operand.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/User/User.cs b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/User/User.cs index 1e81060419f..d96bbaebca5 100644 --- a/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/User/User.cs +++ b/seed/csharp-model/multi-line-docs/src/SeedMultiLineDocs/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; public record User diff --git a/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs index 77b2aa5e0f7..7baa875ea34 100644 --- a/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMultiUrlEnvironmentNoDefault.Core; -namespace SeedMultiUrlEnvironmentNoDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMultiUrlEnvironmentNoDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj b/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj index f2a46ae0ca2..ac12dbc3878 100644 --- a/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj +++ b/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs b/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs index 93c7c129de2..463ccf3cf33 100644 --- a/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs index 776e5e0e276..5dfdfbbc7b9 100644 --- a/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMultiUrlEnvironment.Core; -namespace SeedMultiUrlEnvironment.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMultiUrlEnvironment.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj b/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj index 7ae35da5d41..7ffb55032c2 100644 --- a/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj +++ b/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs b/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs index d93c631e545..cbf6e4e79bd 100644 --- a/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/multi-url-environment/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs index 5639b53bf2e..3c0a8008643 100644 --- a/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedNoEnvironment.Core; -namespace SeedNoEnvironment.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedNoEnvironment.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj b/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj index 9c5b00fd83a..2c9146c2f1f 100644 --- a/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj +++ b/seed/csharp-model/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs b/seed/csharp-model/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs index f40cc9ad17e..f64ed9df528 100644 --- a/seed/csharp-model/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs index b8ac3f98ad1..3424285fa9c 100644 --- a/seed/csharp-model/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedNullable.Core; -namespace SeedNullable.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedNullable.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj b/seed/csharp-model/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj index a9388c38f7b..bf6f722a626 100644 --- a/seed/csharp-model/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj +++ b/seed/csharp-model/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs b/seed/csharp-model/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs index 1d778586517..dc3968ecfea 100644 --- a/seed/csharp-model/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/nullable/src/SeedNullable/Nullable/Metadata.cs b/seed/csharp-model/nullable/src/SeedNullable/Nullable/Metadata.cs index cbeb7e43984..d3870f380cd 100644 --- a/seed/csharp-model/nullable/src/SeedNullable/Nullable/Metadata.cs +++ b/seed/csharp-model/nullable/src/SeedNullable/Nullable/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public record Metadata diff --git a/seed/csharp-model/nullable/src/SeedNullable/Nullable/User.cs b/seed/csharp-model/nullable/src/SeedNullable/Nullable/User.cs index 7c335a024eb..c4bbf613a5d 100644 --- a/seed/csharp-model/nullable/src/SeedNullable/Nullable/User.cs +++ b/seed/csharp-model/nullable/src/SeedNullable/Nullable/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public record User diff --git a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs index 6f72130b8d7..990fbb3c691 100644 --- a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentials.Core; -namespace SeedOauthClientCredentials.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentials.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj index fd48c7fec2f..366ae949533 100644 --- a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj +++ b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/TokenResponse.cs b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/TokenResponse.cs index 6a744cf3571..72c5d2f7159 100644 --- a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/TokenResponse.cs +++ b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record TokenResponse diff --git a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs index 511dcc0ba03..293c50235e6 100644 --- a/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs index 6b0e97c3b29..996501a4cde 100644 --- a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentialsDefault.Core; -namespace SeedOauthClientCredentialsDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentialsDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj index 0b8603958fd..5bc814aaac1 100644 --- a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj +++ b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/TokenResponse.cs b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/TokenResponse.cs index a97bc757840..7f62fabbb23 100644 --- a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/TokenResponse.cs +++ b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault; public record TokenResponse diff --git a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs index 1026c75040f..2f885f2ad27 100644 --- a/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs index fadd40343c1..c1c4461a1cc 100644 --- a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentialsEnvironmentVariables.Core; -namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj index 8b98b4fafd6..3c57d35504c 100644 --- a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj +++ b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/TokenResponse.cs b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/TokenResponse.cs index 695c3596871..8a9856c23af 100644 --- a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/TokenResponse.cs +++ b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public record TokenResponse diff --git a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs index 4a85565db19..7d16aa317fd 100644 --- a/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs index 6f72130b8d7..990fbb3c691 100644 --- a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentials.Core; -namespace SeedOauthClientCredentials.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentials.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj index fd48c7fec2f..366ae949533 100644 --- a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj +++ b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/TokenResponse.cs b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/TokenResponse.cs index feac7975171..e02d1dc3591 100644 --- a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/TokenResponse.cs +++ b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Auth; public record TokenResponse diff --git a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs index 511dcc0ba03..293c50235e6 100644 --- a/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs index 6f72130b8d7..990fbb3c691 100644 --- a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentials.Core; -namespace SeedOauthClientCredentials.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentials.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj index fd48c7fec2f..366ae949533 100644 --- a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj +++ b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/TokenResponse.cs b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/TokenResponse.cs index 6a744cf3571..72c5d2f7159 100644 --- a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/TokenResponse.cs +++ b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record TokenResponse diff --git a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs index 511dcc0ba03..293c50235e6 100644 --- a/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/object/src/SeedObject.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/object/src/SeedObject.Test/Core/EnumSerializerTests.cs index 8abc0743d8c..85b91f52ef0 100644 --- a/seed/csharp-model/object/src/SeedObject.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/object/src/SeedObject.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedObject.Core; -namespace SeedObject.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedObject.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/object/src/SeedObject.Test/SeedObject.Test.csproj b/seed/csharp-model/object/src/SeedObject.Test/SeedObject.Test.csproj index be19774f42e..a3c926c2935 100644 --- a/seed/csharp-model/object/src/SeedObject.Test/SeedObject.Test.csproj +++ b/seed/csharp-model/object/src/SeedObject.Test/SeedObject.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/object/src/SeedObject/Core/CollectionItemSerializer.cs b/seed/csharp-model/object/src/SeedObject/Core/CollectionItemSerializer.cs index b3b87d895b3..cd1f70e03ae 100644 --- a/seed/csharp-model/object/src/SeedObject/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/object/src/SeedObject/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/object/src/SeedObject/Name.cs b/seed/csharp-model/object/src/SeedObject/Name.cs index 7053ea22bb5..8aae8ab9931 100644 --- a/seed/csharp-model/object/src/SeedObject/Name.cs +++ b/seed/csharp-model/object/src/SeedObject/Name.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObject.Core; -#nullable enable - namespace SeedObject; public record Name diff --git a/seed/csharp-model/object/src/SeedObject/Type.cs b/seed/csharp-model/object/src/SeedObject/Type.cs index a33c4f025b4..9bf409588d0 100644 --- a/seed/csharp-model/object/src/SeedObject/Type.cs +++ b/seed/csharp-model/object/src/SeedObject/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObject.Core; -#nullable enable - namespace SeedObject; public record Type diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs index 9f7eee6cff1..dac3eabbd69 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedObjectsWithImports.Core; -namespace SeedObjectsWithImports.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedObjectsWithImports.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj index db71b5887ed..055b4626ac0 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Metadata.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Metadata.cs index bd8bb3187a2..28df6d74492 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Metadata.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.Commons; public record Metadata diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs index 7bc533b3d27..819cf7d9e06 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Directory.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Directory.cs index e2679759d08..672d81b666d 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Directory.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Directory.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.File; public record Directory diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/File.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/File.cs index 11b4bcd397e..27e08efc2ac 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/File.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/File.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public record File diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/FileInfo.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/FileInfo.cs index 9bce23c908e..d1220dd1aa7 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/FileInfo.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/File/FileInfo.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Node.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Node.cs index 8ef65f66a52..ffb48168fc7 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Node.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Node.cs @@ -2,8 +2,6 @@ using SeedObjectsWithImports.Commons; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public record Node diff --git a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Tree.cs b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Tree.cs index 010c536d7be..addc2c6e1cf 100644 --- a/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Tree.cs +++ b/seed/csharp-model/objects-with-imports/src/SeedObjectsWithImports/Tree.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public record Tree diff --git a/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs index 9f7eee6cff1..dac3eabbd69 100644 --- a/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedObjectsWithImports.Core; -namespace SeedObjectsWithImports.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedObjectsWithImports.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj b/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj index db71b5887ed..055b4626ac0 100644 --- a/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj +++ b/seed/csharp-model/optional/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/optional/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs b/seed/csharp-model/optional/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs index 7bc533b3d27..819cf7d9e06 100644 --- a/seed/csharp-model/optional/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/optional/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs index 46aba9a0a50..871b84e6252 100644 --- a/seed/csharp-model/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPackageYml.Core; -namespace SeedPackageYml.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPackageYml.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj b/seed/csharp-model/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj index 81c7d862247..a66177a7cd4 100644 --- a/seed/csharp-model/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj +++ b/seed/csharp-model/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs b/seed/csharp-model/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs index 50411ad8fd8..9b0ec0bf88f 100644 --- a/seed/csharp-model/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/package-yml/src/SeedPackageYml/EchoRequest.cs b/seed/csharp-model/package-yml/src/SeedPackageYml/EchoRequest.cs index 7f0f3a5b599..29bf73a67cc 100644 --- a/seed/csharp-model/package-yml/src/SeedPackageYml/EchoRequest.cs +++ b/seed/csharp-model/package-yml/src/SeedPackageYml/EchoRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPackageYml.Core; -#nullable enable - namespace SeedPackageYml; public record EchoRequest diff --git a/seed/csharp-model/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs index fc7094754e6..e5ab109d22c 100644 --- a/seed/csharp-model/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPagination.Core; -namespace SeedPagination.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPagination.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj b/seed/csharp-model/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj index aac18528c02..720d6f0c20e 100644 --- a/seed/csharp-model/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj +++ b/seed/csharp-model/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/Conversation.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/Conversation.cs index e39c17d3138..9682c00e487 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/Conversation.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/Conversation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record Conversation diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/CursorPages.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/CursorPages.cs index a42390956ac..77e7b5ed151 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/CursorPages.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/CursorPages.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record CursorPages diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequest.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequest.cs index ae468069966..bfb6bace980 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequest.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequest.cs @@ -2,8 +2,6 @@ using OneOf; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record MultipleFilterSearchRequest diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequestOperator.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequestOperator.cs index d412d423ebe..339633b1d6f 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequestOperator.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/MultipleFilterSearchRequestOperator.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/PaginatedConversationResponse.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/PaginatedConversationResponse.cs index 4c6589840bc..16bde590546 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/PaginatedConversationResponse.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/PaginatedConversationResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record PaginatedConversationResponse diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/SearchRequest.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/SearchRequest.cs index 2a8d78f212d..2175e5afc86 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/SearchRequest.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/SearchRequest.cs @@ -2,8 +2,6 @@ using OneOf; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record SearchRequest diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequest.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequest.cs index 3fe4d1462d3..c9a956dcf00 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequest.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record SingleFilterSearchRequest diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequestOperator.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequestOperator.cs index 4bf56f1fac6..5790f2556db 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequestOperator.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/SingleFilterSearchRequestOperator.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/pagination/src/SeedPagination/Complex/StartingAfterPaging.cs b/seed/csharp-model/pagination/src/SeedPagination/Complex/StartingAfterPaging.cs index d43e82648de..ebc09afcada 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Complex/StartingAfterPaging.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Complex/StartingAfterPaging.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record StartingAfterPaging diff --git a/seed/csharp-model/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs b/seed/csharp-model/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs index 0ea5fb2086d..56ec74e0696 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/pagination/src/SeedPagination/UsernameCursor.cs b/seed/csharp-model/pagination/src/SeedPagination/UsernameCursor.cs index 11c9a75c8b1..e574fe04a5b 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/UsernameCursor.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/UsernameCursor.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UsernameCursor diff --git a/seed/csharp-model/pagination/src/SeedPagination/UsernamePage.cs b/seed/csharp-model/pagination/src/SeedPagination/UsernamePage.cs index 6adc8afede3..ad9f54dc51e 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/UsernamePage.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/UsernamePage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UsernamePage diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedOptionalListResponse.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedOptionalListResponse.cs index f6df9ebc73f..37b106f9983 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedOptionalListResponse.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedOptionalListResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersExtendedOptionalListResponse diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedResponse.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedResponse.cs index 729c871f4a6..17a645a35c5 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedResponse.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersExtendedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersExtendedResponse diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersMixedTypePaginationResponse.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersMixedTypePaginationResponse.cs index d642caa2697..8e6bd887d12 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersMixedTypePaginationResponse.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersMixedTypePaginationResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersMixedTypePaginationResponse diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersPaginationResponse.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersPaginationResponse.cs index 7efe4a7f349..cc37fe6c263 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersPaginationResponse.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/ListUsersPaginationResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersPaginationResponse diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/NextPage.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/NextPage.cs index 22d123c27df..a96ec9af640 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/NextPage.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/NextPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record NextPage diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/Order.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/Order.cs index 8fed717218b..c98f0dc452f 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/Order.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/Order.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/Page.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/Page.cs index 2c6454874ca..94b8a45d67b 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/Page.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/Page.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record Page diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/User.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/User.cs index 11ea99df6d4..bc951356f4c 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/User.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record User diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/UserListContainer.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/UserListContainer.cs index d2f2a4dc16b..240451aee26 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/UserListContainer.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/UserListContainer.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserListContainer diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListContainer.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListContainer.cs index b8e8ed7320e..9227c70ec55 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListContainer.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListContainer.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserOptionalListContainer diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListPage.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListPage.cs index 1048392de83..2f234528f46 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListPage.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/UserOptionalListPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserOptionalListPage diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/UserPage.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/UserPage.cs index 1a19a4c3448..910dde5f690 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/UserPage.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/UserPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserPage diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/UsernameContainer.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/UsernameContainer.cs index 25c63657755..65af4bb1457 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/UsernameContainer.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/UsernameContainer.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UsernameContainer diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/WithCursor.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/WithCursor.cs index 27dee3032a4..3adad699f8c 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/WithCursor.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/WithCursor.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record WithCursor diff --git a/seed/csharp-model/pagination/src/SeedPagination/Users/WithPage.cs b/seed/csharp-model/pagination/src/SeedPagination/Users/WithPage.cs index cca63467d07..bc2c2d6b31f 100644 --- a/seed/csharp-model/pagination/src/SeedPagination/Users/WithPage.cs +++ b/seed/csharp-model/pagination/src/SeedPagination/Users/WithPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record WithPage diff --git a/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs index afe1d6dfb4f..9d56f2b6b5e 100644 --- a/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPathParameters.Core; -namespace SeedPathParameters.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPathParameters.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj b/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj index 5f3889c6202..441fc0a8fe8 100644 --- a/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj +++ b/seed/csharp-model/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs b/seed/csharp-model/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs index 74ac511a039..bd3e6e24fa3 100644 --- a/seed/csharp-model/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/path-parameters/src/SeedPathParameters/Organizations/Organization.cs b/seed/csharp-model/path-parameters/src/SeedPathParameters/Organizations/Organization.cs index cec21e73f2e..8eef830d388 100644 --- a/seed/csharp-model/path-parameters/src/SeedPathParameters/Organizations/Organization.cs +++ b/seed/csharp-model/path-parameters/src/SeedPathParameters/Organizations/Organization.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record Organization diff --git a/seed/csharp-model/path-parameters/src/SeedPathParameters/User/User.cs b/seed/csharp-model/path-parameters/src/SeedPathParameters/User/User.cs index b8777f833fa..35651b59fc0 100644 --- a/seed/csharp-model/path-parameters/src/SeedPathParameters/User/User.cs +++ b/seed/csharp-model/path-parameters/src/SeedPathParameters/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record User diff --git a/seed/csharp-model/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs index cd1c4c71035..3a8d675b55e 100644 --- a/seed/csharp-model/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPlainText.Core; -namespace SeedPlainText.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPlainText.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj b/seed/csharp-model/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj index 3b02ac9f932..59f0032671b 100644 --- a/seed/csharp-model/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj +++ b/seed/csharp-model/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs b/seed/csharp-model/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs index b4945acd1e2..bad887006f6 100644 --- a/seed/csharp-model/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs index 7520bcd04c2..45da8b99a32 100644 --- a/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedQueryParameters.Core; -namespace SeedQueryParameters.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedQueryParameters.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj b/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj index 3b50df96fec..11d3387d748 100644 --- a/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj +++ b/seed/csharp-model/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs b/seed/csharp-model/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs index f87d05a9e66..b068214334c 100644 --- a/seed/csharp-model/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/NestedUser.cs b/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/NestedUser.cs index a2ffd1ad963..1db95e35957 100644 --- a/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/NestedUser.cs +++ b/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/NestedUser.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public record NestedUser diff --git a/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/User.cs b/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/User.cs index d73072eb183..b1679e7728b 100644 --- a/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/User.cs +++ b/seed/csharp-model/query-parameters/src/SeedQueryParameters/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public record User diff --git a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs index ea17672d755..6211f26757e 100644 --- a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedNurseryApi.Core; -namespace SeedNurseryApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedNurseryApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj index 74f9aaff825..7b97b09799e 100644 --- a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj +++ b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs index 9048880e571..0043ac55a1c 100644 --- a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Package.cs b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Package.cs index cca7e491507..016bd5cad89 100644 --- a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Package.cs +++ b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Package.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public record Package diff --git a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Record.cs b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Record.cs index 3b377de32fb..01be68038e8 100644 --- a/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Record.cs +++ b/seed/csharp-model/reserved-keywords/src/SeedNurseryApi/Package/Record.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public record Record diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs index a5ced53c6f0..987723885f1 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedResponseProperty.Core; -namespace SeedResponseProperty.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedResponseProperty.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj b/seed/csharp-model/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj index 1d97c50a616..5f00e1448d1 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj +++ b/seed/csharp-model/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs b/seed/csharp-model/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs index 6f423b5180d..13155347aba 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Movie.cs b/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Movie.cs index 9917698248a..3efdc04ee70 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Movie.cs +++ b/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record Movie diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Response.cs b/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Response.cs index a1e98278fa1..df659fe0d3f 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Response.cs +++ b/seed/csharp-model/response-property/src/SeedResponseProperty/Service/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record Response diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty/Service/WithDocs.cs b/seed/csharp-model/response-property/src/SeedResponseProperty/Service/WithDocs.cs index 3613dd46056..e883124c173 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty/Service/WithDocs.cs +++ b/seed/csharp-model/response-property/src/SeedResponseProperty/Service/WithDocs.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record WithDocs diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty/StringResponse.cs b/seed/csharp-model/response-property/src/SeedResponseProperty/StringResponse.cs index 451ccd4d554..38d39e0ac25 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty/StringResponse.cs +++ b/seed/csharp-model/response-property/src/SeedResponseProperty/StringResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record StringResponse diff --git a/seed/csharp-model/response-property/src/SeedResponseProperty/WithMetadata.cs b/seed/csharp-model/response-property/src/SeedResponseProperty/WithMetadata.cs index 600ff16f1ea..edde6aac9a9 100644 --- a/seed/csharp-model/response-property/src/SeedResponseProperty/WithMetadata.cs +++ b/seed/csharp-model/response-property/src/SeedResponseProperty/WithMetadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record WithMetadata diff --git a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs index 9473023217f..37a1a6e782a 100644 --- a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedServerSentEvents.Core; -namespace SeedServerSentEvents.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedServerSentEvents.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj index 7f8fa6bf18f..a6f59da2c58 100644 --- a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj +++ b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Completions/StreamedCompletion.cs b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Completions/StreamedCompletion.cs index 42b2117e3c2..a94796efa22 100644 --- a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Completions/StreamedCompletion.cs +++ b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Completions/StreamedCompletion.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public record StreamedCompletion diff --git a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs index 98010900521..9fb7421af05 100644 --- a/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs index 9473023217f..37a1a6e782a 100644 --- a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedServerSentEvents.Core; -namespace SeedServerSentEvents.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedServerSentEvents.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj index 7f8fa6bf18f..a6f59da2c58 100644 --- a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj +++ b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Completions/StreamedCompletion.cs b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Completions/StreamedCompletion.cs index 42b2117e3c2..a94796efa22 100644 --- a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Completions/StreamedCompletion.cs +++ b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Completions/StreamedCompletion.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public record StreamedCompletion diff --git a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs index 98010900521..9fb7421af05 100644 --- a/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-model/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-model/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/simple-fhir/src/SeedApi/Account.cs b/seed/csharp-model/simple-fhir/src/SeedApi/Account.cs index 97991b3feb9..3bad93d5339 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi/Account.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi/Account.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Account diff --git a/seed/csharp-model/simple-fhir/src/SeedApi/BaseResource.cs b/seed/csharp-model/simple-fhir/src/SeedApi/BaseResource.cs index c49d249b499..41ef9db048d 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi/BaseResource.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi/BaseResource.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record BaseResource diff --git a/seed/csharp-model/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-model/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/simple-fhir/src/SeedApi/Memo.cs b/seed/csharp-model/simple-fhir/src/SeedApi/Memo.cs index 4023dc4cfba..5c030110795 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi/Memo.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi/Memo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Memo diff --git a/seed/csharp-model/simple-fhir/src/SeedApi/Patient.cs b/seed/csharp-model/simple-fhir/src/SeedApi/Patient.cs index 2c6c20626a3..b2c680a226e 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi/Patient.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi/Patient.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Patient diff --git a/seed/csharp-model/simple-fhir/src/SeedApi/Practitioner.cs b/seed/csharp-model/simple-fhir/src/SeedApi/Practitioner.cs index ea20394731e..c09b3df6013 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi/Practitioner.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi/Practitioner.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Practitioner diff --git a/seed/csharp-model/simple-fhir/src/SeedApi/Script.cs b/seed/csharp-model/simple-fhir/src/SeedApi/Script.cs index d7ecd1b2d77..5ca768f32dc 100644 --- a/seed/csharp-model/simple-fhir/src/SeedApi/Script.cs +++ b/seed/csharp-model/simple-fhir/src/SeedApi/Script.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Script diff --git a/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs index 07df691d3bb..72cf8183af8 100644 --- a/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedSingleUrlEnvironmentDefault.Core; -namespace SeedSingleUrlEnvironmentDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedSingleUrlEnvironmentDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj b/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj index 1a2dd4152f7..db0c4f67d5f 100644 --- a/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj +++ b/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs b/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs index 6e586cf9cac..a391df22640 100644 --- a/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs index b4d073e3119..9e152d8581f 100644 --- a/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedSingleUrlEnvironmentNoDefault.Core; -namespace SeedSingleUrlEnvironmentNoDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedSingleUrlEnvironmentNoDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj b/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj index 970b922df3a..2d5599c8812 100644 --- a/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj +++ b/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs b/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs index 915d8a8f1ab..fd2912b571b 100644 --- a/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs index b0fefdd9a52..c356e036288 100644 --- a/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedStreaming.Core; -namespace SeedStreaming.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedStreaming.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj b/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj index 77d9031c2ce..22fb02dbe6f 100644 --- a/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj +++ b/seed/csharp-model/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs b/seed/csharp-model/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs index ba21d84e004..88e6e8c94a1 100644 --- a/seed/csharp-model/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/RegularResponse.cs b/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/RegularResponse.cs index b1f8be6d782..e36910e6b4c 100644 --- a/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/RegularResponse.cs +++ b/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/RegularResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record RegularResponse diff --git a/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/StreamResponse.cs b/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/StreamResponse.cs index 263c46921ed..efe73778860 100644 --- a/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/StreamResponse.cs +++ b/seed/csharp-model/streaming-parameter/src/SeedStreaming/Dummy/StreamResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record StreamResponse diff --git a/seed/csharp-model/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs index b0fefdd9a52..c356e036288 100644 --- a/seed/csharp-model/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedStreaming.Core; -namespace SeedStreaming.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedStreaming.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj b/seed/csharp-model/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj index 77d9031c2ce..22fb02dbe6f 100644 --- a/seed/csharp-model/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj +++ b/seed/csharp-model/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs b/seed/csharp-model/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs index ba21d84e004..88e6e8c94a1 100644 --- a/seed/csharp-model/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/streaming/src/SeedStreaming/Dummy/StreamResponse.cs b/seed/csharp-model/streaming/src/SeedStreaming/Dummy/StreamResponse.cs index 263c46921ed..efe73778860 100644 --- a/seed/csharp-model/streaming/src/SeedStreaming/Dummy/StreamResponse.cs +++ b/seed/csharp-model/streaming/src/SeedStreaming/Dummy/StreamResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record StreamResponse diff --git a/seed/csharp-model/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs index 46d97ee294b..4d1024b712c 100644 --- a/seed/csharp-model/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedTrace.Core; -namespace SeedTrace.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedTrace.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/trace/src/SeedTrace.Test/SeedTrace.Test.csproj b/seed/csharp-model/trace/src/SeedTrace.Test/SeedTrace.Test.csproj index ddcf1a5d704..8bf609fcda7 100644 --- a/seed/csharp-model/trace/src/SeedTrace.Test/SeedTrace.Test.csproj +++ b/seed/csharp-model/trace/src/SeedTrace.Test/SeedTrace.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeAndTreeValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeAndTreeValue.cs index 71fa741b4e3..f716116dccd 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeAndTreeValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeAndTreeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BinaryTreeNodeAndTreeValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeValue.cs index a83ec652c03..dc260285ed6 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeNodeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BinaryTreeNodeValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeValue.cs index fd3b7aa3e03..6c84d5bd1f5 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/BinaryTreeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BinaryTreeValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/DebugKeyValuePairs.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/DebugKeyValuePairs.cs index 13aadbcfc56..4c8fabe77d5 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/DebugKeyValuePairs.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/DebugKeyValuePairs.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DebugKeyValuePairs diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/DebugMapValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/DebugMapValue.cs index 60b8c10fd0b..9b6553c9343 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/DebugMapValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/DebugMapValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DebugMapValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeAndListValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeAndListValue.cs index f37362d178d..926fbd13799 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeAndListValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeAndListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DoublyLinkedListNodeAndListValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeValue.cs index 42902d46b2a..9d33a1defe7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListNodeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DoublyLinkedListNodeValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListValue.cs index cae1c44a5c0..c5a013f38eb 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/DoublyLinkedListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DoublyLinkedListValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/FileInfo.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/FileInfo.cs index 6f98d83c27b..8a29a2746c2 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/FileInfo.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/FileInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record FileInfo diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/GenericValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/GenericValue.cs index 2949a97030e..80713c6cf25 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/GenericValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/GenericValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GenericValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/KeyValuePair.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/KeyValuePair.cs index 20cae34679d..5452541409c 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/KeyValuePair.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/KeyValuePair.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record KeyValuePair diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/Language.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/Language.cs index d982c9145c3..a28f831d51c 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/Language.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/Language.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/ListType.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/ListType.cs index 0b5ee5647f4..ec2945adeb2 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/ListType.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/ListType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ListType diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/MapType.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/MapType.cs index 3b68aeebb2c..01d7b4f1feb 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/MapType.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/MapType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record MapType diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/MapValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/MapValue.cs index 2b3c6d449b5..5b898934fc8 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/MapValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/MapValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record MapValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeAndListValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeAndListValue.cs index 644cca686c4..6ca453d29e1 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeAndListValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeAndListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SinglyLinkedListNodeAndListValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeValue.cs index 6a44821895a..f62bcfc2707 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListNodeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SinglyLinkedListNodeValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListValue.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListValue.cs index e0ee1c15e38..224ac3cd848 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListValue.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/SinglyLinkedListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SinglyLinkedListValue diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/TestCase.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/TestCase.cs index 8bd45f58b15..95cd19c44ec 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/TestCase.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/TestCase.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCase diff --git a/seed/csharp-model/trace/src/SeedTrace/Commons/TestCaseWithExpectedResult.cs b/seed/csharp-model/trace/src/SeedTrace/Commons/TestCaseWithExpectedResult.cs index 784f06df37e..30e74e1b4b7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Commons/TestCaseWithExpectedResult.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Commons/TestCaseWithExpectedResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseWithExpectedResult diff --git a/seed/csharp-model/trace/src/SeedTrace/Core/CollectionItemSerializer.cs b/seed/csharp-model/trace/src/SeedTrace/Core/CollectionItemSerializer.cs index ec386bfbafc..8fb79ea7047 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerRequest.cs b/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerRequest.cs index c7bfb55bbe4..c8241a9753f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record LangServerRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerResponse.cs b/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerResponse.cs index b052099d5d3..d786d1a6c28 100644 --- a/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/LangServer/LangServerResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record LangServerResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Migration/Migration.cs b/seed/csharp-model/trace/src/SeedTrace/Migration/Migration.cs index 21165e3ac36..d34bbf02976 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Migration/Migration.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Migration/Migration.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record Migration diff --git a/seed/csharp-model/trace/src/SeedTrace/Migration/MigrationStatus.cs b/seed/csharp-model/trace/src/SeedTrace/Migration/MigrationStatus.cs index 29788ae4ad4..c3839aa1935 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Migration/MigrationStatus.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Migration/MigrationStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/trace/src/SeedTrace/Playlist/Playlist.cs b/seed/csharp-model/trace/src/SeedTrace/Playlist/Playlist.cs index 8fbfc7f2a46..e1891ab30b1 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Playlist/Playlist.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Playlist/Playlist.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record Playlist diff --git a/seed/csharp-model/trace/src/SeedTrace/Playlist/PlaylistCreateRequest.cs b/seed/csharp-model/trace/src/SeedTrace/Playlist/PlaylistCreateRequest.cs index 62ae533fe59..97f4d93a1ae 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Playlist/PlaylistCreateRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Playlist/PlaylistCreateRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record PlaylistCreateRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/Playlist/ReservedKeywordEnum.cs b/seed/csharp-model/trace/src/SeedTrace/Playlist/ReservedKeywordEnum.cs index 68f574d658d..56d56e075d5 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Playlist/ReservedKeywordEnum.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Playlist/ReservedKeywordEnum.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/trace/src/SeedTrace/Playlist/UpdatePlaylistRequest.cs b/seed/csharp-model/trace/src/SeedTrace/Playlist/UpdatePlaylistRequest.cs index f31987ecbc2..7469b1584b3 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Playlist/UpdatePlaylistRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Playlist/UpdatePlaylistRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record UpdatePlaylistRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/CreateProblemRequest.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/CreateProblemRequest.cs index 7cacc277255..568f326e871 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/CreateProblemRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/CreateProblemRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record CreateProblemRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/GenericCreateProblemError.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/GenericCreateProblemError.cs index 954dec33dc1..38f2f15b8e7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/GenericCreateProblemError.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/GenericCreateProblemError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GenericCreateProblemError diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/GetDefaultStarterFilesResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/GetDefaultStarterFilesResponse.cs index 4857ea8e783..0a373591bad 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/GetDefaultStarterFilesResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/GetDefaultStarterFilesResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetDefaultStarterFilesResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemDescription.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemDescription.cs index 21cce798577..4e5068b655f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemDescription.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemDescription.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ProblemDescription diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemFiles.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemFiles.cs index 7dedd1ee331..dc8b9b4befc 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemFiles.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemFiles.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ProblemFiles diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemInfo.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemInfo.cs index 8d123b4bbe3..a870ac71a02 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemInfo.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/ProblemInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ProblemInfo diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/UpdateProblemResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/UpdateProblemResponse.cs index 86e5fa5217c..aa6696d1710 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/UpdateProblemResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/UpdateProblemResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record UpdateProblemResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Problem/VariableTypeAndName.cs b/seed/csharp-model/trace/src/SeedTrace/Problem/VariableTypeAndName.cs index 7aed89773f8..0ee7b70ab92 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Problem/VariableTypeAndName.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Problem/VariableTypeAndName.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record VariableTypeAndName diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/BuildingExecutorResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/BuildingExecutorResponse.cs index 6fc9b6a5e45..ffa3685b9ee 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/BuildingExecutorResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/BuildingExecutorResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BuildingExecutorResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/CompileError.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/CompileError.cs index dabd03d2436..fed66d42366 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/CompileError.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/CompileError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record CompileError diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/CustomTestCasesUnsupported.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/CustomTestCasesUnsupported.cs index fafc5142959..a799e6b723f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/CustomTestCasesUnsupported.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/CustomTestCasesUnsupported.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record CustomTestCasesUnsupported diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/ErroredResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/ErroredResponse.cs index 092e5d22a4e..403aeaf0bbc 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/ErroredResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/ErroredResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ErroredResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/ExceptionInfo.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/ExceptionInfo.cs index a4ce0f90cfc..a8727db73ad 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/ExceptionInfo.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/ExceptionInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExceptionInfo diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionResponse.cs index 1c2e45c1c15..ccc9829773f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExecutionSessionResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionState.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionState.cs index aedaacb6140..c06be0b6592 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionState.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionState.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExecutionSessionState diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionStatus.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionStatus.cs index 89c81794894..a2eabc89ad7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionStatus.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/ExecutionSessionStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/ExistingSubmissionExecuting.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/ExistingSubmissionExecuting.cs index 4c0371ef985..ff09c655d63 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/ExistingSubmissionExecuting.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/ExistingSubmissionExecuting.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExistingSubmissionExecuting diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/ExpressionLocation.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/ExpressionLocation.cs index d2606ad9713..837076d4a38 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/ExpressionLocation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/ExpressionLocation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExpressionLocation diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/FinishedResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/FinishedResponse.cs index ae843964d2e..bba0e30cf8c 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/FinishedResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/FinishedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record FinishedResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/GetExecutionSessionStateResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/GetExecutionSessionStateResponse.cs index 6077a3ee4ea..61a295853eb 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/GetExecutionSessionStateResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/GetExecutionSessionStateResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetExecutionSessionStateResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/GetSubmissionStateResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/GetSubmissionStateResponse.cs index 457e9f4f238..1e8b240e543 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/GetSubmissionStateResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/GetSubmissionStateResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetSubmissionStateResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/GetTraceResponsesPageRequest.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/GetTraceResponsesPageRequest.cs index e15b45e5de6..bed032ab226 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/GetTraceResponsesPageRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/GetTraceResponsesPageRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetTraceResponsesPageRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponse.cs index 21ec9ffe09e..6f2ad341515 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GradedResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponseV2.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponseV2.cs index b319f8993bd..e1dca97f246 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponseV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/GradedResponseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GradedResponseV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/GradedTestCaseUpdate.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/GradedTestCaseUpdate.cs index efa05ca2a4b..4a6cccc18be 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/GradedTestCaseUpdate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/GradedTestCaseUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GradedTestCaseUpdate diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/InitializeProblemRequest.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/InitializeProblemRequest.cs index 502ae4137b8..d89105d6df7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/InitializeProblemRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/InitializeProblemRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record InitializeProblemRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/InternalError.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/InternalError.cs index 92a43848396..be9d31cdc83 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/InternalError.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/InternalError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record InternalError diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/InvalidRequestResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/InvalidRequestResponse.cs index 55ab275c82c..cd8cfa965b6 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/InvalidRequestResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/InvalidRequestResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record InvalidRequestResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/LightweightStackframeInformation.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/LightweightStackframeInformation.cs index d5eda93ab35..0964e6fdd53 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/LightweightStackframeInformation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/LightweightStackframeInformation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record LightweightStackframeInformation diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedResponseNotification.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedResponseNotification.cs index 6bc3133424a..c7b3aedcb2f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedResponseNotification.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedResponseNotification.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RecordedResponseNotification diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedTestCaseUpdate.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedTestCaseUpdate.cs index 9de1e1dc862..1d7d0043ab4 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedTestCaseUpdate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/RecordedTestCaseUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RecordedTestCaseUpdate diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/RecordingResponseNotification.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/RecordingResponseNotification.cs index 3f362cd3db3..0bb69e886c2 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/RecordingResponseNotification.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/RecordingResponseNotification.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RecordingResponseNotification diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/RunningResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/RunningResponse.cs index 612e6f220a4..3fc094c31cd 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/RunningResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/RunningResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RunningResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/RunningSubmissionState.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/RunningSubmissionState.cs index c5b0052505d..7fbcd5325c0 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/RunningSubmissionState.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/RunningSubmissionState.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/RuntimeError.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/RuntimeError.cs index d1d2e45857b..3883ff02e8e 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/RuntimeError.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/RuntimeError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RuntimeError diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/Scope.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/Scope.cs index 87aeba73c0e..f141a86e2ec 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/Scope.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/Scope.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record Scope diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/StackFrame.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/StackFrame.cs index e9cdfa398da..fb3efde4464 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/StackFrame.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/StackFrame.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StackFrame diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/StackInformation.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/StackInformation.cs index ffac0ece47b..a729c22f4dd 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/StackInformation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/StackInformation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StackInformation diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/StderrResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/StderrResponse.cs index 87a58b8ee28..44d68a927f0 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/StderrResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/StderrResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StderrResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/StdoutResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/StdoutResponse.cs index 6f38e89adc8..5121436ea7d 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/StdoutResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/StdoutResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StdoutResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/StopRequest.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/StopRequest.cs index 6ea16c788a8..6fe2066fa7f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/StopRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/StopRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StopRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/StoppedResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/StoppedResponse.cs index 4365b399848..5d4f957e5d6 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/StoppedResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/StoppedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StoppedResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionFileInfo.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionFileInfo.cs index cb5c2bf9f73..28c7c37b384 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionFileInfo.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionFileInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SubmissionFileInfo diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionIdNotFound.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionIdNotFound.cs index 4425fbb3cf0..47ed160b4b4 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionIdNotFound.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionIdNotFound.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SubmissionIdNotFound diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionTypeEnum.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionTypeEnum.cs index ab84ec4e316..ab7ffcef51c 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionTypeEnum.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmissionTypeEnum.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmitRequestV2.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmitRequestV2.cs index 3918393a39c..022ad0f9ecb 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/SubmitRequestV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/SubmitRequestV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SubmitRequestV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TerminatedResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TerminatedResponse.cs index 56d69e56b24..b308c0c7cb8 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TerminatedResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TerminatedResponse.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TerminatedResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseHiddenGrade.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseHiddenGrade.cs index b75c86c1d11..3d1dc54f1b3 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseHiddenGrade.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseHiddenGrade.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseHiddenGrade diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseNonHiddenGrade.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseNonHiddenGrade.cs index 114c2ceb9ea..c6867e564b4 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseNonHiddenGrade.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseNonHiddenGrade.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseNonHiddenGrade diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResult.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResult.cs index 3dc491107b9..00050a5f0c2 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResult.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseResult diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResultWithStdout.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResultWithStdout.cs index 2cdf6f646bb..14ca2fff338 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResultWithStdout.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TestCaseResultWithStdout.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseResultWithStdout diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionState.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionState.cs index cf90caef7ae..7f8084a54a4 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionState.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionState.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestSubmissionState diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionStatusV2.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionStatusV2.cs index d16a0e4d92b..1d69b7fd5ac 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionStatusV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionStatusV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestSubmissionStatusV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionUpdate.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionUpdate.cs index 6dfb9b29f28..61c639af829 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionUpdate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TestSubmissionUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestSubmissionUpdate diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponse.cs index a8cbb0788d8..eaa122ced2e 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponseV2.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponseV2.cs index 70cd289822b..cb87c22dfe9 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponseV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponseV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPage.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPage.cs index 346c9abdbf0..c8df117c88b 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPage.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponsesPage diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPageV2.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPageV2.cs index 09be90c5d0b..d5c4104e7fd 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPageV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TraceResponsesPageV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponsesPageV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TracedFile.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TracedFile.cs index 2ce231b3666..c3442155498 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TracedFile.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TracedFile.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TracedFile diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/TracedTestCase.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/TracedTestCase.cs index 0d4ff1741f0..92db04129c5 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/TracedTestCase.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/TracedTestCase.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TracedTestCase diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/UnexpectedLanguageError.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/UnexpectedLanguageError.cs index 2bf040a6a3f..a6e521c6456 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/UnexpectedLanguageError.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/UnexpectedLanguageError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record UnexpectedLanguageError diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceFiles.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceFiles.cs index cd4ca66699d..15f7b25ed86 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceFiles.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceFiles.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceFiles diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRanResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRanResponse.cs index d6f9c07e9d3..411d55b80b8 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRanResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRanResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceRanResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRunDetails.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRunDetails.cs index 204324bc6b5..f0894b494fd 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRunDetails.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceRunDetails.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceRunDetails diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponse.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponse.cs index a92705ce6fa..67ad8382312 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceStarterFilesResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponseV2.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponseV2.cs index 5bc03e1c999..2dfd04d0435 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponseV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceStarterFilesResponseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceStarterFilesResponseV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionState.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionState.cs index 7bc9b8822ce..d99f60d3a27 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionState.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionState.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmissionState diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionStatusV2.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionStatusV2.cs index 9ff4094106d..91df20ab741 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionStatusV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionStatusV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmissionStatusV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionUpdate.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionUpdate.cs index ae0a63c45b9..176948862ff 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionUpdate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmissionUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmissionUpdate diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmitRequest.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmitRequest.cs index 2f2656d8500..d4772576878 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmitRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceSubmitRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmitRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceTracedUpdate.cs b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceTracedUpdate.cs index 739da0660be..073104f5dcc 100644 --- a/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceTracedUpdate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/Submission/WorkspaceTracedUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceTracedUpdate diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicCustomFiles.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicCustomFiles.cs index b5b7307ae4c..79a68e4cfa8 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicCustomFiles.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicCustomFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record BasicCustomFiles diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicTestCaseTemplate.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicTestCaseTemplate.cs index 546e21b01db..f0a87658fc4 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicTestCaseTemplate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/BasicTestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record BasicTestCaseTemplate diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/CreateProblemRequestV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/CreateProblemRequestV2.cs index e1004de9807..1a0f5051e21 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/CreateProblemRequestV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/CreateProblemRequestV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record CreateProblemRequestV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DeepEqualityCorrectnessCheck.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DeepEqualityCorrectnessCheck.cs index e3165581bb7..01f04e4090e 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DeepEqualityCorrectnessCheck.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DeepEqualityCorrectnessCheck.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record DeepEqualityCorrectnessCheck diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DefaultProvidedFile.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DefaultProvidedFile.cs index 7af51996e5c..f2d31efc2bc 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DefaultProvidedFile.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/DefaultProvidedFile.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record DefaultProvidedFile diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FileInfoV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FileInfoV2.cs index 1fe9985dd35..1ed619ea17f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FileInfoV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FileInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record FileInfoV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Files.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Files.cs index 33dbc8a8b05..eac1343c52f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Files.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Files.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record Files diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementation.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementation.cs index 5893bb3e8af..8d9c5e20d1d 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record FunctionImplementation diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementationForMultipleLanguages.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementationForMultipleLanguages.cs index b14415d7717..c7e1904bce2 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementationForMultipleLanguages.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/FunctionImplementationForMultipleLanguages.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record FunctionImplementationForMultipleLanguages diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GeneratedFiles.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GeneratedFiles.cs index 215f1bde56b..784cbcc3a23 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GeneratedFiles.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GeneratedFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GeneratedFiles diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileRequest.cs index fa44e4b7b6f..f3d12f24010 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetBasicSolutionFileRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileResponse.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileResponse.cs index 5ba5bca62a6..b209c713746 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetBasicSolutionFileResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetBasicSolutionFileResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureRequest.cs index deec1d49080..e4093bf766f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetFunctionSignatureRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureResponse.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureResponse.cs index 03f270e04f1..a387925a5ad 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetFunctionSignatureResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetFunctionSignatureResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseFileRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseFileRequest.cs index 38c59edc25a..3fa5266ca52 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseFileRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetGeneratedTestCaseFileRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseTemplateFileRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseTemplateFileRequest.cs index 1c250ba3ded..94a85a3b9c5 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseTemplateFileRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/GetGeneratedTestCaseTemplateFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetGeneratedTestCaseTemplateFileRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/LightweightProblemInfoV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/LightweightProblemInfoV2.cs index 647a19ec57e..c2bf70645e4 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/LightweightProblemInfoV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/LightweightProblemInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record LightweightProblemInfoV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionDefinition.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionDefinition.cs index 7a8139e2f2e..106ad482c86 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionDefinition.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record NonVoidFunctionDefinition diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionSignature.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionSignature.cs index 7ae97c54d73..dc9e4078db2 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionSignature.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/NonVoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record NonVoidFunctionSignature diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Parameter.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Parameter.cs index bb1a2b26398..a5dad6f9825 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Parameter.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/Parameter.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record Parameter diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/ProblemInfoV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/ProblemInfoV2.cs index 3a188d7ae8d..fb6dc80f256 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/ProblemInfoV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/ProblemInfoV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record ProblemInfoV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseExpects.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseExpects.cs index 5453ed0518d..87c2b3bfbf1 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseExpects.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseExpects.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseExpects diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementation.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementation.cs index a001954aa75..bec4f9a874a 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseImplementation diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementationDescription.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementationDescription.cs index 6a6a4a2dcf4..c056524c04c 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementationDescription.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseImplementationDescription.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseImplementationDescription diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseMetadata.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseMetadata.cs index b5d12249bb9..fa1c4649650 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseMetadata.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseMetadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseMetadata diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseTemplate.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseTemplate.cs index bb01023e88b..7af50f6d1a9 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseTemplate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseTemplate diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseV2.cs index 5ce29fcf98d..47b47da19a9 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseWithActualResultImplementation.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseWithActualResultImplementation.cs index cdd6d847e77..f73d9efba09 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseWithActualResultImplementation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/TestCaseWithActualResultImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseWithActualResultImplementation diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinition.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinition.cs index 65a20f1e56e..0ec464ba31c 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinition.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionDefinition diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinitionThatTakesActualResult.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinitionThatTakesActualResult.cs index 03c57a29368..c7acda825e2 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinitionThatTakesActualResult.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionDefinitionThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionDefinitionThatTakesActualResult diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignature.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignature.cs index 28641749d40..c155d49d22f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignature.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionSignature diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignatureThatTakesActualResult.cs b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignatureThatTakesActualResult.cs index ee9f52278c2..168e864334c 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignatureThatTakesActualResult.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/Problem/VoidFunctionSignatureThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionSignatureThatTakesActualResult diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicCustomFiles.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicCustomFiles.cs index 5eaab41b7de..4416b2c1e0d 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicCustomFiles.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicCustomFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record BasicCustomFiles diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicTestCaseTemplate.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicTestCaseTemplate.cs index 4ae16463e3e..bd177cf2e32 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicTestCaseTemplate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/BasicTestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record BasicTestCaseTemplate diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/CreateProblemRequestV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/CreateProblemRequestV2.cs index 4e798b3e160..4fa984622ec 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/CreateProblemRequestV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/CreateProblemRequestV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record CreateProblemRequestV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DeepEqualityCorrectnessCheck.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DeepEqualityCorrectnessCheck.cs index 57facadfc63..66195cff9c1 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DeepEqualityCorrectnessCheck.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DeepEqualityCorrectnessCheck.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record DeepEqualityCorrectnessCheck diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DefaultProvidedFile.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DefaultProvidedFile.cs index c81ae721fa2..f0c3660390f 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DefaultProvidedFile.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/DefaultProvidedFile.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record DefaultProvidedFile diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FileInfoV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FileInfoV2.cs index f4222adce04..089d8578765 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FileInfoV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FileInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record FileInfoV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Files.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Files.cs index b7f94bb448c..6973f25ebb5 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Files.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Files.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record Files diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementation.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementation.cs index 28e2d737bd5..6ddbe47b4c7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record FunctionImplementation diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementationForMultipleLanguages.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementationForMultipleLanguages.cs index 17ee0c14804..803e5b3315d 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementationForMultipleLanguages.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/FunctionImplementationForMultipleLanguages.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record FunctionImplementationForMultipleLanguages diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GeneratedFiles.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GeneratedFiles.cs index d41be3aa55c..4f1bef72a56 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GeneratedFiles.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GeneratedFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GeneratedFiles diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileRequest.cs index a58ed0acd89..06b23b010a6 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetBasicSolutionFileRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileResponse.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileResponse.cs index b30b2869638..6d84001d5f8 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetBasicSolutionFileResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetBasicSolutionFileResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureRequest.cs index ee4019f89d8..49f5d0d85fd 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetFunctionSignatureRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureResponse.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureResponse.cs index 75ca715c552..f2fa025ab5b 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureResponse.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetFunctionSignatureResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetFunctionSignatureResponse diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseFileRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseFileRequest.cs index e82dc6a3902..c354be41e80 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseFileRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetGeneratedTestCaseFileRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseTemplateFileRequest.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseTemplateFileRequest.cs index 50bf5b330ed..d97c80a7c9a 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseTemplateFileRequest.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/GetGeneratedTestCaseTemplateFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetGeneratedTestCaseTemplateFileRequest diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/LightweightProblemInfoV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/LightweightProblemInfoV2.cs index 7135093592a..83c030dd8fc 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/LightweightProblemInfoV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/LightweightProblemInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record LightweightProblemInfoV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionDefinition.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionDefinition.cs index eb70f99126a..2481261d7e7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionDefinition.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record NonVoidFunctionDefinition diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionSignature.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionSignature.cs index 9cc76dd965e..8da6dadcaa9 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionSignature.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/NonVoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record NonVoidFunctionSignature diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Parameter.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Parameter.cs index caef6842007..b15ed8b3077 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Parameter.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/Parameter.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record Parameter diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/ProblemInfoV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/ProblemInfoV2.cs index 42af3ad8ace..371e84bdb84 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/ProblemInfoV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/ProblemInfoV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record ProblemInfoV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseExpects.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseExpects.cs index 073df2e2601..6423029e1dc 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseExpects.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseExpects.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseExpects diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementation.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementation.cs index 25b1fdd8176..802dc20edc7 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseImplementation diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementationDescription.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementationDescription.cs index 99b5fa49a68..ed7404a9be0 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementationDescription.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseImplementationDescription.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseImplementationDescription diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseMetadata.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseMetadata.cs index aacbbce1c4f..c27b40b3361 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseMetadata.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseMetadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseMetadata diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseTemplate.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseTemplate.cs index 952da9d8256..019e9ec1a3b 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseTemplate.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseTemplate diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseV2.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseV2.cs index bbdc2953722..e1e53e59a56 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseV2.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseV2 diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseWithActualResultImplementation.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseWithActualResultImplementation.cs index 04947d97ccd..f603d803c1d 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseWithActualResultImplementation.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/TestCaseWithActualResultImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseWithActualResultImplementation diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinition.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinition.cs index f884fd8030b..368e90f384e 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinition.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionDefinition diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinitionThatTakesActualResult.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinitionThatTakesActualResult.cs index 3b2b1dbf716..4fc96b65bdc 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinitionThatTakesActualResult.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionDefinitionThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionDefinitionThatTakesActualResult diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignature.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignature.cs index b854868f1e7..ad166d35ac6 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignature.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionSignature diff --git a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignatureThatTakesActualResult.cs b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignatureThatTakesActualResult.cs index 34de8434def..06f77bb6106 100644 --- a/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignatureThatTakesActualResult.cs +++ b/seed/csharp-model/trace/src/SeedTrace/V2/V3/Problem/VoidFunctionSignatureThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionSignatureThatTakesActualResult diff --git a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs index cd47208fb34..d33dcae860f 100644 --- a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedUndiscriminatedUnions.Core; -namespace SeedUndiscriminatedUnions.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedUndiscriminatedUnions.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj index c08f58082d3..c8eeb7d379c 100644 --- a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj +++ b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs index 9a6e61f75be..92027fd9c59 100644 --- a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/KeyType.cs b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/KeyType.cs index 4ad9c4d26e3..0681c8f8177 100644 --- a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/KeyType.cs +++ b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/KeyType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/TypeWithOptionalUnion.cs b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/TypeWithOptionalUnion.cs index 0daf1bbbe9a..09d593fde15 100644 --- a/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/TypeWithOptionalUnion.cs +++ b/seed/csharp-model/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/TypeWithOptionalUnion.cs @@ -2,8 +2,6 @@ using OneOf; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; public record TypeWithOptionalUnion diff --git a/seed/csharp-model/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs index d0a072a0128..be4080be0c8 100644 --- a/seed/csharp-model/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedUnions.Core; -namespace SeedUnions.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedUnions.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/unions/src/SeedUnions.Test/SeedUnions.Test.csproj b/seed/csharp-model/unions/src/SeedUnions.Test/SeedUnions.Test.csproj index 1aab7bd3a92..cf8759dbc03 100644 --- a/seed/csharp-model/unions/src/SeedUnions.Test/SeedUnions.Test.csproj +++ b/seed/csharp-model/unions/src/SeedUnions.Test/SeedUnions.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/unions/src/SeedUnions/Core/CollectionItemSerializer.cs b/seed/csharp-model/unions/src/SeedUnions/Core/CollectionItemSerializer.cs index 8b8b41f56b3..a662bd7839d 100644 --- a/seed/csharp-model/unions/src/SeedUnions/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/unions/src/SeedUnions/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/unions/src/SeedUnions/Types/Bar.cs b/seed/csharp-model/unions/src/SeedUnions/Types/Bar.cs index 99a673339d3..781521fb17a 100644 --- a/seed/csharp-model/unions/src/SeedUnions/Types/Bar.cs +++ b/seed/csharp-model/unions/src/SeedUnions/Types/Bar.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Bar diff --git a/seed/csharp-model/unions/src/SeedUnions/Types/Foo.cs b/seed/csharp-model/unions/src/SeedUnions/Types/Foo.cs index ddceb58d5a4..64b3c1e0cb5 100644 --- a/seed/csharp-model/unions/src/SeedUnions/Types/Foo.cs +++ b/seed/csharp-model/unions/src/SeedUnions/Types/Foo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Foo diff --git a/seed/csharp-model/unions/src/SeedUnions/Union/Circle.cs b/seed/csharp-model/unions/src/SeedUnions/Union/Circle.cs index 509382f9419..8d5020d5452 100644 --- a/seed/csharp-model/unions/src/SeedUnions/Union/Circle.cs +++ b/seed/csharp-model/unions/src/SeedUnions/Union/Circle.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Circle diff --git a/seed/csharp-model/unions/src/SeedUnions/Union/GetShapeRequest.cs b/seed/csharp-model/unions/src/SeedUnions/Union/GetShapeRequest.cs index 50ab43f5691..9885f0da485 100644 --- a/seed/csharp-model/unions/src/SeedUnions/Union/GetShapeRequest.cs +++ b/seed/csharp-model/unions/src/SeedUnions/Union/GetShapeRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record GetShapeRequest diff --git a/seed/csharp-model/unions/src/SeedUnions/Union/Square.cs b/seed/csharp-model/unions/src/SeedUnions/Union/Square.cs index 8d177e4c601..b7110fa6366 100644 --- a/seed/csharp-model/unions/src/SeedUnions/Union/Square.cs +++ b/seed/csharp-model/unions/src/SeedUnions/Union/Square.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Square diff --git a/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs index e2022c27501..dddf6bf415b 100644 --- a/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedUnknownAsAny.Core; -namespace SeedUnknownAsAny.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedUnknownAsAny.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj b/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj index a79c4d294b8..662769c829c 100644 --- a/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj +++ b/seed/csharp-model/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs b/seed/csharp-model/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs index c0d69007813..3e8e9090646 100644 --- a/seed/csharp-model/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/unknown/src/SeedUnknownAsAny/Unknown/MyObject.cs b/seed/csharp-model/unknown/src/SeedUnknownAsAny/Unknown/MyObject.cs index 6c7a04b1f2e..978157ba336 100644 --- a/seed/csharp-model/unknown/src/SeedUnknownAsAny/Unknown/MyObject.cs +++ b/seed/csharp-model/unknown/src/SeedUnknownAsAny/Unknown/MyObject.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny; public record MyObject diff --git a/seed/csharp-model/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs index 3f62fc7204d..0a92e021d25 100644 --- a/seed/csharp-model/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedValidation.Core; -namespace SeedValidation.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedValidation.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/validation/src/SeedValidation.Test/SeedValidation.Test.csproj b/seed/csharp-model/validation/src/SeedValidation.Test/SeedValidation.Test.csproj index 7265c8587af..73acd653286 100644 --- a/seed/csharp-model/validation/src/SeedValidation.Test/SeedValidation.Test.csproj +++ b/seed/csharp-model/validation/src/SeedValidation.Test/SeedValidation.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/validation/src/SeedValidation/Core/CollectionItemSerializer.cs b/seed/csharp-model/validation/src/SeedValidation/Core/CollectionItemSerializer.cs index 8b90c070a3a..4b6fcb668dd 100644 --- a/seed/csharp-model/validation/src/SeedValidation/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/validation/src/SeedValidation/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/validation/src/SeedValidation/Shape.cs b/seed/csharp-model/validation/src/SeedValidation/Shape.cs index c9bbe47969c..4d24260ca17 100644 --- a/seed/csharp-model/validation/src/SeedValidation/Shape.cs +++ b/seed/csharp-model/validation/src/SeedValidation/Shape.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-model/validation/src/SeedValidation/Type.cs b/seed/csharp-model/validation/src/SeedValidation/Type.cs index 5c69ea4f1b8..5507f1cd7e8 100644 --- a/seed/csharp-model/validation/src/SeedValidation/Type.cs +++ b/seed/csharp-model/validation/src/SeedValidation/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; public record Type diff --git a/seed/csharp-model/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs index 1c16afb4ce2..21ee395e2b3 100644 --- a/seed/csharp-model/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedVariables.Core; -namespace SeedVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/variables/src/SeedVariables.Test/SeedVariables.Test.csproj b/seed/csharp-model/variables/src/SeedVariables.Test/SeedVariables.Test.csproj index 476174f5e6e..2fb67650b97 100644 --- a/seed/csharp-model/variables/src/SeedVariables.Test/SeedVariables.Test.csproj +++ b/seed/csharp-model/variables/src/SeedVariables.Test/SeedVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/variables/src/SeedVariables/Core/CollectionItemSerializer.cs b/seed/csharp-model/variables/src/SeedVariables/Core/CollectionItemSerializer.cs index 66926b25c6b..eda89f6bed8 100644 --- a/seed/csharp-model/variables/src/SeedVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/variables/src/SeedVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs index 583da3c0d05..f4b559bbd37 100644 --- a/seed/csharp-model/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedVersion.Core; -namespace SeedVersion.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedVersion.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj b/seed/csharp-model/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj index 22fcd57b3cb..fab950b4f16 100644 --- a/seed/csharp-model/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj +++ b/seed/csharp-model/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs b/seed/csharp-model/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs index c5208a39294..7c6f65debc7 100644 --- a/seed/csharp-model/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/version-no-default/src/SeedVersion/User/User.cs b/seed/csharp-model/version-no-default/src/SeedVersion/User/User.cs index f2cfd4847c1..115b35ba71f 100644 --- a/seed/csharp-model/version-no-default/src/SeedVersion/User/User.cs +++ b/seed/csharp-model/version-no-default/src/SeedVersion/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public record User diff --git a/seed/csharp-model/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs index 583da3c0d05..f4b559bbd37 100644 --- a/seed/csharp-model/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedVersion.Core; -namespace SeedVersion.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedVersion.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/version/src/SeedVersion.Test/SeedVersion.Test.csproj b/seed/csharp-model/version/src/SeedVersion.Test/SeedVersion.Test.csproj index 22fcd57b3cb..fab950b4f16 100644 --- a/seed/csharp-model/version/src/SeedVersion.Test/SeedVersion.Test.csproj +++ b/seed/csharp-model/version/src/SeedVersion.Test/SeedVersion.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/version/src/SeedVersion/Core/CollectionItemSerializer.cs b/seed/csharp-model/version/src/SeedVersion/Core/CollectionItemSerializer.cs index c5208a39294..7c6f65debc7 100644 --- a/seed/csharp-model/version/src/SeedVersion/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/version/src/SeedVersion/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-model/version/src/SeedVersion/User/User.cs b/seed/csharp-model/version/src/SeedVersion/User/User.cs index f2cfd4847c1..115b35ba71f 100644 --- a/seed/csharp-model/version/src/SeedVersion/User/User.cs +++ b/seed/csharp-model/version/src/SeedVersion/User/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public record User diff --git a/seed/csharp-model/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs b/seed/csharp-model/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs index dcfcd3eed5a..411703f2f7d 100644 --- a/seed/csharp-model/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-model/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedWebsocket.Core; -namespace SeedWebsocket.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedWebsocket.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-model/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj b/seed/csharp-model/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj index b1ba647bca0..9d23f3abc4c 100644 --- a/seed/csharp-model/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj +++ b/seed/csharp-model/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-model/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs b/seed/csharp-model/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs index 94b73ff5cb2..595be7346d9 100644 --- a/seed/csharp-model/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs +++ b/seed/csharp-model/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/EnumSerializerTests.cs index afe99daa324..b64ae4a4689 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAliasExtends.Core; -namespace SeedAliasExtends.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAliasExtends.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs index 875851a586a..da9e1efd87c 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedAliasExtends.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedAliasExtends.Test.Core +namespace SeedAliasExtends.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj index a096140ec2c..d3317f4f23b 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/SeedAliasExtends.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/TestClient.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/TestClient.cs index 2f41a1abd68..f96ef29e5c0 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/TestClient.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedAliasExtends.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/BaseMockServerTest.cs index 5aa01804fae..066bd821e87 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedAliasExtends.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs index 2001f2c773a..e18917ecfed 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedAliasExtends; -#nullable enable - namespace SeedAliasExtends.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ChildTest.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ChildTest.cs index 538ec9c2046..c90625ad9b1 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ChildTest.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ChildTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedAliasExtends; -#nullable enable - namespace SeedAliasExtends.Test; [TestFixture] diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ParentTest.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ParentTest.cs index 0f573c05fef..2207e998e98 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ParentTest.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Unit/Serialization/ParentTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedAliasExtends; -#nullable enable - namespace SeedAliasExtends.Test; [TestFixture] diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs index 5cc6c7945c4..efd5c2ffd9b 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/IRequestOptions.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/IRequestOptions.cs index 2a27a51edef..c1e13d7e3d8 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedAliasExtends.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/ClientOptions.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/ClientOptions.cs index d56dcd0b95b..c1a50a4b3e3 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public partial class ClientOptions diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/RequestOptions.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/RequestOptions.cs index a12a09d946a..55ae2dccac4 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/SeedAliasExtendsException.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/SeedAliasExtendsException.cs index 04d5cbb2827..2e13dd68779 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/SeedAliasExtendsException.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/Public/SeedAliasExtendsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedAliasExtends; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedAliasExtendsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs index fd21c4277e0..7e69eb2d20d 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedAliasExtends.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Requests/InlinedChildRequest.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Requests/InlinedChildRequest.cs index f516dcfa658..508b7ee56e1 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Requests/InlinedChildRequest.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Requests/InlinedChildRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public record InlinedChildRequest diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/SeedAliasExtendsClient.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/SeedAliasExtendsClient.cs index e9c074eb0bd..545603bda06 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/SeedAliasExtendsClient.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/SeedAliasExtendsClient.cs @@ -3,13 +3,11 @@ using System.Threading.Tasks; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public partial class SeedAliasExtendsClient { - private RawClient _client; + private readonly RawClient _client; public SeedAliasExtendsClient(ClientOptions? clientOptions = null) { @@ -44,17 +42,19 @@ public async Task ExtendedInlineRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/extends/extended-inline-request-body", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/extends/extended-inline-request-body", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Child.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Child.cs index be89e0a5564..a26150442a5 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Child.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Child.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public record Child diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Parent.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Parent.cs index f910751710b..e5b0a958312 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Parent.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Types/Parent.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAliasExtends.Core; -#nullable enable - namespace SeedAliasExtends; public record Parent diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs index b48c2e6729a..ebee2c93834 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAlias.Core; -namespace SeedAlias.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAlias.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs b/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs index 2b0cf0cc0cc..f4ad61f3325 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedAlias.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedAlias.Test.Core +namespace SeedAlias.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/SeedAlias.Test.csproj b/seed/csharp-sdk/alias/src/SeedAlias.Test/SeedAlias.Test.csproj index 4c80df47000..9d9621f5c84 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/SeedAlias.Test.csproj +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/SeedAlias.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/TestClient.cs b/seed/csharp-sdk/alias/src/SeedAlias.Test/TestClient.cs index 1caadc1eeae..f13bfe91ff3 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/TestClient.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedAlias.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/BaseMockServerTest.cs index 8ed2b3166c1..e25aec6d9aa 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedAlias.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/GetTest.cs b/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/GetTest.cs index 23584b2d33f..33975539755 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/GetTest.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/MockServer/GetTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedAlias.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/Serialization/TypeTest.cs b/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/Serialization/TypeTest.cs index fb7d6d04fd0..55f7e4bca8f 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/Serialization/TypeTest.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/Unit/Serialization/TypeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedAlias; -#nullable enable - namespace SeedAlias.Test; [TestFixture] diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/alias/src/SeedAlias/Core/CollectionItemSerializer.cs index ef7d8efd0b2..ec341f9e942 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Core/IRequestOptions.cs b/seed/csharp-sdk/alias/src/SeedAlias/Core/IRequestOptions.cs index d38e79aca7a..9f994a31bab 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedAlias.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/ClientOptions.cs b/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/ClientOptions.cs index bbb47798179..e0bfbdd58e1 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAlias.Core; -#nullable enable - namespace SeedAlias; public partial class ClientOptions diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/RequestOptions.cs b/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/RequestOptions.cs index 5e1544dced5..01cc0ccdce6 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAlias.Core; -#nullable enable - namespace SeedAlias; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/SeedAliasException.cs b/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/SeedAliasException.cs index 831a0b55e9d..64e1b7e6543 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/SeedAliasException.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Core/Public/SeedAliasException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedAlias; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedAliasException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs b/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs index 6876ecdc65f..c9feb84d7f1 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedAlias.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/alias/src/SeedAlias/SeedAliasClient.cs b/seed/csharp-sdk/alias/src/SeedAlias/SeedAliasClient.cs index 9d0e8f54604..41be3b399b3 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/SeedAliasClient.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/SeedAliasClient.cs @@ -3,13 +3,11 @@ using System.Threading.Tasks; using SeedAlias.Core; -#nullable enable - namespace SeedAlias; public partial class SeedAliasClient { - private RawClient _client; + private readonly RawClient _client; public SeedAliasClient(ClientOptions? clientOptions = null) { @@ -44,16 +42,18 @@ public async Task GetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{typeId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{typeId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Types/Type.cs b/seed/csharp-sdk/alias/src/SeedAlias/Types/Type.cs index fd8fcc3601e..d84e8b7c0c0 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Types/Type.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Types/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAlias.Core; -#nullable enable - namespace SeedAlias; public record Type diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs index ebde0c81c13..3622b9028f8 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAnyAuth.Core; -namespace SeedAnyAuth.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAnyAuth.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs index c25b758bba5..eab1bd092cb 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedAnyAuth.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedAnyAuth.Test.Core +namespace SeedAnyAuth.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj index cb2298c52d3..3287dddb22e 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/SeedAnyAuth.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/TestClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/TestClient.cs index 80df7ac18ee..22d91695df7 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/TestClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedAnyAuth.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/BaseMockServerTest.cs index 4245d996491..395e0588b44 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedAnyAuth.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTest.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTest.cs index 237fc9c7b63..9f0af26ee92 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTest.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTokenTest.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTokenTest.cs index b039876e1a5..6a683dc7870 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTokenTest.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Unit/MockServer/GetTokenTest.cs @@ -5,8 +5,6 @@ using SeedAnyAuth; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs index 14cf91c577d..bd59dca2d4b 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public partial class AuthClient @@ -36,17 +34,19 @@ public async Task GetTokenAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Requests/GetTokenRequest.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Requests/GetTokenRequest.cs index 175111c8219..9a243f12773 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Requests/GetTokenRequest.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Requests/GetTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public record GetTokenRequest diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Types/TokenResponse.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Types/TokenResponse.cs index ad2268bc618..6f050beccf5 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Types/TokenResponse.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/Types/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public record TokenResponse diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs index 44a65eac8ca..46bc28a84b4 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/IRequestOptions.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/IRequestOptions.cs index 9c8853b6c28..890bb3cc08f 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedAnyAuth.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/ClientOptions.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/ClientOptions.cs index 4901ce17051..3d3df1a3511 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public partial class ClientOptions diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/RequestOptions.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/RequestOptions.cs index c5e936d682d..3c601e5e44a 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/SeedAnyAuthException.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/SeedAnyAuthException.cs index 281ccfa93fa..339471c2702 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/SeedAnyAuthException.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/Public/SeedAnyAuthException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedAnyAuth; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedAnyAuthException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs index 957aab1d2e5..9f360c774e6 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedAnyAuth.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/SeedAnyAuthClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/SeedAnyAuthClient.cs index f779459c182..513be67fb01 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/SeedAnyAuthClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/SeedAnyAuthClient.cs @@ -1,12 +1,10 @@ using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public partial class SeedAnyAuthClient { - private RawClient _client; + private readonly RawClient _client; public SeedAnyAuthClient( string? token = null, diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/Types/User.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/Types/User.cs index b7b23acce74..f617d937138 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/Types/User.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public record User diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs index c3185c213a2..3e5497c9631 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedAnyAuth.Core; -#nullable enable - namespace SeedAnyAuth; public partial class UserClient @@ -26,16 +24,18 @@ public async Task> GetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "users", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "users", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs index 5f7e85954a6..55333ceb34e 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApiWideBasePath.Core; -namespace SeedApiWideBasePath.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApiWideBasePath.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs index 1df19d0b78f..36d4ad2df39 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApiWideBasePath.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApiWideBasePath.Test.Core +namespace SeedApiWideBasePath.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj index 330a9298b0a..6d84af47693 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/SeedApiWideBasePath.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/TestClient.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/TestClient.cs index cd385618dd9..1a4abed078e 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/TestClient.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApiWideBasePath.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/BaseMockServerTest.cs index b41e2b164e9..3e9ad00c2e3 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedApiWideBasePath.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/PostTest.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/PostTest.cs index be8924b9bfc..c7e45684ba6 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/PostTest.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Unit/MockServer/PostTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedApiWideBasePath.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs index d3bdf24dc8c..7f19dddcd02 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/IRequestOptions.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/IRequestOptions.cs index ac6c6b18384..87f51cccaaa 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApiWideBasePath.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/ClientOptions.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/ClientOptions.cs index 030ed710c65..fce4c6c401b 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApiWideBasePath.Core; -#nullable enable - namespace SeedApiWideBasePath; public partial class ClientOptions diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/RequestOptions.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/RequestOptions.cs index e36d076b33d..a8b83d68c8f 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApiWideBasePath.Core; -#nullable enable - namespace SeedApiWideBasePath; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/SeedApiWideBasePathException.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/SeedApiWideBasePathException.cs index 9c567d63c67..24036baac0d 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/SeedApiWideBasePathException.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/Public/SeedApiWideBasePathException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApiWideBasePath; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiWideBasePathException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs index 773ab304bd1..eb218b3fcc0 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApiWideBasePath.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/SeedApiWideBasePathClient.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/SeedApiWideBasePathClient.cs index d7373f2d3bd..17096d9e1e1 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/SeedApiWideBasePathClient.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/SeedApiWideBasePathClient.cs @@ -1,12 +1,10 @@ using SeedApiWideBasePath.Core; -#nullable enable - namespace SeedApiWideBasePath; public partial class SeedApiWideBasePathClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiWideBasePathClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Service/ServiceClient.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Service/ServiceClient.cs index e1712015353..470d06fbb2f 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Service/ServiceClient.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedApiWideBasePath.Core; -#nullable enable - namespace SeedApiWideBasePath; public partial class ServiceClient @@ -30,16 +28,18 @@ public async Task PostAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/test/{pathParam}/{serviceParam}/{endpointParam}/{resourceParam}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/test/{pathParam}/{serviceParam}/{endpointParam}/{resourceParam}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs index 41441c252b5..a86b5e8c1b5 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAudiences.Core; -namespace SeedAudiences.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAudiences.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs index 56a0f97bcef..11edf42106a 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedAudiences.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedAudiences.Test.Core +namespace SeedAudiences.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj index efb76afe36f..bebda8d091d 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/SeedAudiences.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/TestClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/TestClient.cs index 82c4d2de220..e9ea82192d5 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/TestClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedAudiences.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/BaseMockServerTest.cs index 3cd37a32cfa..cc438050f8b 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedAudiences.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/FindTest.cs b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/FindTest.cs index 1797f778a3a..a3c9d0e942b 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/FindTest.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/FindTest.cs @@ -5,8 +5,6 @@ using SeedAudiences; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/GetDirectThreadTest.cs b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/GetDirectThreadTest.cs index 03907622990..23a0f0604c9 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/GetDirectThreadTest.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Unit/MockServer/GetDirectThreadTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Commons/CommonsClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Commons/CommonsClient.cs index ae8930ee382..c546154b624 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Commons/CommonsClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Commons/CommonsClient.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public partial class CommonsClient diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs index 8d8c7ebefc0..ade993419ec 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/IRequestOptions.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/IRequestOptions.cs index bfc1258bce6..62a0c5f3018 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedAudiences.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/ClientOptions.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/ClientOptions.cs index 67ee854748c..0219d7f3d4a 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public partial class ClientOptions diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/RequestOptions.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/RequestOptions.cs index d20005068a0..a5107c60850 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesEnvironment.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesEnvironment.cs index e7ba07b3903..adb3e3ee5a3 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesEnvironment.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesEnvironment.cs @@ -2,7 +2,7 @@ namespace SeedAudiences; public class SeedAudiencesEnvironment { - public static string EnvironmentA = "https://api.example.a.com"; + public const string EnvironmentA = "https://api.example.a.com"; - public static string EnvironmentB = "https://api.example.b.com"; + public const string EnvironmentB = "https://api.example.b.com"; } diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesException.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesException.cs index 4ee08582d20..7aca95b7c03 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesException.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/Public/SeedAudiencesException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedAudiences; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedAudiencesException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs index 72b058515c8..5cb37a5c4ba 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedAudiences.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/FolderAClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/FolderAClient.cs index 9abb9212cbd..363e25803c3 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/FolderAClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/FolderAClient.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderA; public partial class FolderAClient diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs index c8f5c414d9e..a6aa2be77a2 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedAudiences; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderA; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task GetDirectThreadAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/Types/Response.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/Types/Response.cs index d4a72f02abe..809f7d220b3 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/Types/Response.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/Types/Response.cs @@ -2,8 +2,6 @@ using SeedAudiences.Core; using SeedAudiences.FolderB; -#nullable enable - namespace SeedAudiences.FolderA; public record Response diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/CommonClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/CommonClient.cs index 0c1c033251a..76260ef7bbe 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/CommonClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/CommonClient.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderB; public partial class CommonClient diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/Types/Foo.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/Types/Foo.cs index 3b8e9de9dec..932d7b9bbae 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/Types/Foo.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/Common/Types/Foo.cs @@ -2,8 +2,6 @@ using SeedAudiences.Core; using SeedAudiences.FolderC; -#nullable enable - namespace SeedAudiences.FolderB; public record Foo diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/FolderBClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/FolderBClient.cs index 5f760b78204..7cef39d24da 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/FolderBClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderB/FolderBClient.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderB; public partial class FolderBClient diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/CommonClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/CommonClient.cs index 3b7951a6f16..48fcecb7e5e 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/CommonClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/CommonClient.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderC; public partial class CommonClient diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/Types/FolderCFoo.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/Types/FolderCFoo.cs index fa5b3d9b2e5..bf02c32da1f 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/Types/FolderCFoo.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/Common/Types/FolderCFoo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderC; public record FolderCFoo diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/FolderCClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/FolderCClient.cs index 0bb51668ad1..815bd24b8f2 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/FolderCClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderC/FolderCClient.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderC; public partial class FolderCClient diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/FolderDClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/FolderDClient.cs index fb14784ebe1..c19bf05c3ea 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/FolderDClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/FolderDClient.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderD; public partial class FolderDClient diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs index e8319efca9a..8c046071948 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedAudiences; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderD; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task GetDirectThreadAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/partner-path", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/partner-path", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/Types/Response.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/Types/Response.cs index cd734dd12c5..b4aa5c736c8 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/Types/Response.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/Types/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences.FolderD; public record Response diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs index 7d6b0bd511b..c1b6201a8e2 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public partial class FooClient @@ -44,18 +42,20 @@ public async Task FindAsync( { "publicProperty", request.PublicProperty }, { "privateProperty", request.PrivateProperty }, }; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = requestBody, - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = requestBody, + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Requests/FindRequest.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Requests/FindRequest.cs index 55698b9e7c4..95e972674e6 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Requests/FindRequest.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Requests/FindRequest.cs @@ -1,7 +1,5 @@ using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public record FindRequest diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/FilteredType.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/FilteredType.cs index edd44d23f3f..eb938e6ffb0 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/FilteredType.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/FilteredType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public record FilteredType diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/ImportingType.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/ImportingType.cs index 2dc1455187a..b2f241dbb1e 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/ImportingType.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/Types/ImportingType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedAudiences.Core; -#nullable enable - namespace SeedAudiences; public record ImportingType diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/SeedAudiencesClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/SeedAudiencesClient.cs index f837d573252..7cbba7e7f44 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/SeedAudiencesClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/SeedAudiencesClient.cs @@ -4,13 +4,11 @@ using SeedAudiences.FolderC; using SeedAudiences.FolderD; -#nullable enable - namespace SeedAudiences; public partial class SeedAudiencesClient { - private RawClient _client; + private readonly RawClient _client; public SeedAudiencesClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs index d4b033842fa..4db3adbef59 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedAuthEnvironmentVariables.Core; -namespace SeedAuthEnvironmentVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedAuthEnvironmentVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs index be4c99a8867..a925141ef23 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedAuthEnvironmentVariables.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedAuthEnvironmentVariables.Test.Core +namespace SeedAuthEnvironmentVariables.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj index 20f810ff4fd..999a06ee094 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/SeedAuthEnvironmentVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/TestClient.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/TestClient.cs index a46e9b617ad..e1227654b2b 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/TestClient.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedAuthEnvironmentVariables.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs index 5237995dbd0..9b49cca3bfa 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedAuthEnvironmentVariables.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithApiKeyTest.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithApiKeyTest.cs index ee6411a3a68..ef590edb7b1 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithApiKeyTest.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithApiKeyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedAuthEnvironmentVariables.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithHeaderTest.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithHeaderTest.cs index 18e9a8b0648..0e23c7f9848 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithHeaderTest.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Unit/MockServer/GetWithHeaderTest.cs @@ -5,8 +5,6 @@ using SeedAuthEnvironmentVariables; using SeedAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedAuthEnvironmentVariables.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs index f849fc69f13..24654f3e79e 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/IRequestOptions.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/IRequestOptions.cs index 965dfbe204a..91fe756f623 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedAuthEnvironmentVariables.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/ClientOptions.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/ClientOptions.cs index f088c897077..0acaa0b3978 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedAuthEnvironmentVariables; public partial class ClientOptions diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/RequestOptions.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/RequestOptions.cs index 9d4deb31f65..36ce50ba2d4 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedAuthEnvironmentVariables; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/SeedAuthEnvironmentVariablesException.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/SeedAuthEnvironmentVariablesException.cs index 9933ad322a1..2bcb03a6adf 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/SeedAuthEnvironmentVariablesException.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/Public/SeedAuthEnvironmentVariablesException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedAuthEnvironmentVariables; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedAuthEnvironmentVariablesException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs index 55944c44072..55dac48950b 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedAuthEnvironmentVariables.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/SeedAuthEnvironmentVariablesClient.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/SeedAuthEnvironmentVariablesClient.cs index 0fc53eaba4d..79348e35a0f 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/SeedAuthEnvironmentVariablesClient.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/SeedAuthEnvironmentVariablesClient.cs @@ -1,12 +1,10 @@ using SeedAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedAuthEnvironmentVariables; public partial class SeedAuthEnvironmentVariablesClient { - private RawClient _client; + private readonly RawClient _client; public SeedAuthEnvironmentVariablesClient( string xAnotherHeader, diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/Requests/HeaderAuthRequest.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/Requests/HeaderAuthRequest.cs index 2f31d0b057b..04f7db0fee9 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/Requests/HeaderAuthRequest.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/Requests/HeaderAuthRequest.cs @@ -1,7 +1,5 @@ using SeedAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedAuthEnvironmentVariables; public record HeaderAuthRequest diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs index daaa98ddde4..a901b019578 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedAuthEnvironmentVariables; public partial class ServiceClient @@ -29,16 +27,18 @@ public async Task GetWithApiKeyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "apiKey", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "apiKey", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -81,17 +81,19 @@ public async Task GetWithHeaderAsync( var _headers = new Headers( new Dictionary() { { "X-Endpoint-Header", request.XEndpointHeader } } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "apiKeyInHeader", - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "apiKeyInHeader", + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs index 80254d3b829..6c4ce5514c0 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBasicAuthEnvironmentVariables.Core; -namespace SeedBasicAuthEnvironmentVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBasicAuthEnvironmentVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs index 25b9fdab129..d83f5e50cef 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedBasicAuthEnvironmentVariables.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedBasicAuthEnvironmentVariables.Test.Core +namespace SeedBasicAuthEnvironmentVariables.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj index 1c5ab5dcbfd..611b68dba6c 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/SeedBasicAuthEnvironmentVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/TestClient.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/TestClient.cs index 7d2df9530d5..8a6b9bbc0db 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/TestClient.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs index b2f80455c3a..f1297472000 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/GetWithBasicAuthTest.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/GetWithBasicAuthTest.cs index 93b2a9e1f65..46570fb1e4b 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/GetWithBasicAuthTest.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/GetWithBasicAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/PostWithBasicAuthTest.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/PostWithBasicAuthTest.cs index f5eefc25341..8d8de95daa4 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/PostWithBasicAuthTest.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Unit/MockServer/PostWithBasicAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs index 3f6d0ba58c3..5642b8fefd7 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; public partial class BasicAuthClient @@ -29,16 +27,18 @@ public async Task GetWithBasicAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "basic-auth", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "basic-auth", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -92,17 +92,19 @@ public async Task PostWithBasicAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "basic-auth", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "basic-auth", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs index 1d0a91a8004..5482b1be357 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/IRequestOptions.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/IRequestOptions.cs index 0c6292e6251..469e4b276d6 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/ClientOptions.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/ClientOptions.cs index b6d40595dff..3c539eccc2e 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; public partial class ClientOptions diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/RequestOptions.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/RequestOptions.cs index a10a54fa2bd..c2ae82dd6b5 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/SeedBasicAuthEnvironmentVariablesException.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/SeedBasicAuthEnvironmentVariablesException.cs index 3dc8155b296..b58176e7b76 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/SeedBasicAuthEnvironmentVariablesException.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/Public/SeedBasicAuthEnvironmentVariablesException.cs @@ -1,7 +1,5 @@ using System; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; /// @@ -10,4 +8,4 @@ namespace SeedBasicAuthEnvironmentVariables; public class SeedBasicAuthEnvironmentVariablesException( string message, Exception? innerException = null -) : Exception(message, innerException) { } +) : Exception(message, innerException); diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs index d8f06c136e4..987cadb530e 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/ErrorsClient.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/ErrorsClient.cs index ace33e400eb..5de1bffb9a1 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/ErrorsClient.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/ErrorsClient.cs @@ -1,7 +1,5 @@ using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; public partial class ErrorsClient diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Exceptions/BadRequest.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Exceptions/BadRequest.cs index af47f1f90f7..cebd8739888 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Exceptions/BadRequest.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Exceptions/BadRequest.cs @@ -4,4 +4,4 @@ namespace SeedBasicAuthEnvironmentVariables; /// This exception type will be thrown for any non-2XX API responses. /// public class BadRequest(object body) - : SeedBasicAuthEnvironmentVariablesApiException("BadRequest", 400, body) { } + : SeedBasicAuthEnvironmentVariablesApiException("BadRequest", 400, body); diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Types/UnauthorizedRequestErrorBody.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Types/UnauthorizedRequestErrorBody.cs index e6610c8b88c..b7a390949f6 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Types/UnauthorizedRequestErrorBody.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Errors/Types/UnauthorizedRequestErrorBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; public record UnauthorizedRequestErrorBody diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/SeedBasicAuthEnvironmentVariablesClient.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/SeedBasicAuthEnvironmentVariablesClient.cs index 529fa0b4acf..a5783d4b4d1 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/SeedBasicAuthEnvironmentVariablesClient.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/SeedBasicAuthEnvironmentVariablesClient.cs @@ -1,12 +1,10 @@ using SeedBasicAuthEnvironmentVariables.Core; -#nullable enable - namespace SeedBasicAuthEnvironmentVariables; public partial class SeedBasicAuthEnvironmentVariablesClient { - private RawClient _client; + private readonly RawClient _client; public SeedBasicAuthEnvironmentVariablesClient( string? username = null, diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs index 88b2cd4defa..7e0b647845c 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBasicAuth.Core; -namespace SeedBasicAuth.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBasicAuth.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs index c8009bddfec..a9984043e36 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedBasicAuth.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedBasicAuth.Test.Core +namespace SeedBasicAuth.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj index 33244ffe96a..4043eee6b5e 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/SeedBasicAuth.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/TestClient.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/TestClient.cs index 7715242938c..9c5416f3a84 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/TestClient.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedBasicAuth.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/BaseMockServerTest.cs index 8075b9b37ec..65bade1d07c 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedBasicAuth.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/GetWithBasicAuthTest.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/GetWithBasicAuthTest.cs index 0a66ad63f0c..7b1c6a88572 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/GetWithBasicAuthTest.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/GetWithBasicAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/PostWithBasicAuthTest.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/PostWithBasicAuthTest.cs index 368bf3c2ee6..27491d21b76 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/PostWithBasicAuthTest.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Unit/MockServer/PostWithBasicAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs index 01fcaa0566e..c8611666f2f 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth; public partial class BasicAuthClient @@ -29,16 +27,18 @@ public async Task GetWithBasicAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "basic-auth", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "basic-auth", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -89,17 +89,19 @@ public async Task PostWithBasicAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "basic-auth", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "basic-auth", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs index eb0b8bc53d0..18462482eca 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/IRequestOptions.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/IRequestOptions.cs index 8c1ba885410..40afb2e131f 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedBasicAuth.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/ClientOptions.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/ClientOptions.cs index bbf386c5b0f..2e0850bdb13 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth; public partial class ClientOptions diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/RequestOptions.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/RequestOptions.cs index d67368e2e01..656d4277b48 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/SeedBasicAuthException.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/SeedBasicAuthException.cs index 04dadff127d..96d4a0dd9a4 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/SeedBasicAuthException.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/Public/SeedBasicAuthException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedBasicAuth; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedBasicAuthException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs index 646c793d3d8..18136531dbe 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedBasicAuth.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/ErrorsClient.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/ErrorsClient.cs index 5ff06058919..6a0afe60c29 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/ErrorsClient.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/ErrorsClient.cs @@ -1,7 +1,5 @@ using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth; public partial class ErrorsClient diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Exceptions/BadRequest.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Exceptions/BadRequest.cs index 0980cb8be0d..028ddb552d4 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Exceptions/BadRequest.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Exceptions/BadRequest.cs @@ -3,4 +3,4 @@ namespace SeedBasicAuth; /// /// This exception type will be thrown for any non-2XX API responses. /// -public class BadRequest(object body) : SeedBasicAuthApiException("BadRequest", 400, body) { } +public class BadRequest(object body) : SeedBasicAuthApiException("BadRequest", 400, body); diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Types/UnauthorizedRequestErrorBody.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Types/UnauthorizedRequestErrorBody.cs index 81044fcea08..b5dc8080443 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Types/UnauthorizedRequestErrorBody.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Errors/Types/UnauthorizedRequestErrorBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth; public record UnauthorizedRequestErrorBody diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/SeedBasicAuthClient.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/SeedBasicAuthClient.cs index f2e9c5f14a7..e59fecc0977 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/SeedBasicAuthClient.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/SeedBasicAuthClient.cs @@ -1,12 +1,10 @@ using SeedBasicAuth.Core; -#nullable enable - namespace SeedBasicAuth; public partial class SeedBasicAuthClient { - private RawClient _client; + private readonly RawClient _client; public SeedBasicAuthClient( string? username = null, diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs index 3494293860b..b4c523bf09d 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBearerTokenEnvironmentVariable.Core; -namespace SeedBearerTokenEnvironmentVariable.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBearerTokenEnvironmentVariable.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs index d15bce51ed4..32d582b02b7 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedBearerTokenEnvironmentVariable.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedBearerTokenEnvironmentVariable.Test.Core +namespace SeedBearerTokenEnvironmentVariable.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj index c66ac7c4081..1814d6910dc 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/SeedBearerTokenEnvironmentVariable.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/TestClient.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/TestClient.cs index c7d575bc8d7..36ea57cfc5e 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/TestClient.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/BaseMockServerTest.cs index c7fcd836368..1a3a094586e 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/GetWithBearerTokenTest.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/GetWithBearerTokenTest.cs index 399d45c29c9..84a45246cf7 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/GetWithBearerTokenTest.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Unit/MockServer/GetWithBearerTokenTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedBearerTokenEnvironmentVariable.Core; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs index e398e08e194..191ee57ada9 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/IRequestOptions.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/IRequestOptions.cs index cb4c4f55f2f..226931248cb 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/ClientOptions.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/ClientOptions.cs index a888deab321..6a655c612d3 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBearerTokenEnvironmentVariable.Core; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable; public partial class ClientOptions diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/RequestOptions.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/RequestOptions.cs index 2ece77aff62..fd97bbdf995 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBearerTokenEnvironmentVariable.Core; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/SeedBearerTokenEnvironmentVariableException.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/SeedBearerTokenEnvironmentVariableException.cs index 89dfb7d2dda..64a5772730a 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/SeedBearerTokenEnvironmentVariableException.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/Public/SeedBearerTokenEnvironmentVariableException.cs @@ -1,7 +1,5 @@ using System; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable; /// @@ -10,4 +8,4 @@ namespace SeedBearerTokenEnvironmentVariable; public class SeedBearerTokenEnvironmentVariableException( string message, Exception? innerException = null -) : Exception(message, innerException) { } +) : Exception(message, innerException); diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs index 705be59b85b..2a531402a64 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedBearerTokenEnvironmentVariable.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/SeedBearerTokenEnvironmentVariableClient.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/SeedBearerTokenEnvironmentVariableClient.cs index 1089d9e1d2d..db103b3f1a3 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/SeedBearerTokenEnvironmentVariableClient.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/SeedBearerTokenEnvironmentVariableClient.cs @@ -1,12 +1,10 @@ using SeedBearerTokenEnvironmentVariable.Core; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable; public partial class SeedBearerTokenEnvironmentVariableClient { - private RawClient _client; + private readonly RawClient _client; public SeedBearerTokenEnvironmentVariableClient( string? apiKey = null, diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs index 35bc424962a..f5d154b8d4c 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedBearerTokenEnvironmentVariable.Core; -#nullable enable - namespace SeedBearerTokenEnvironmentVariable; public partial class ServiceClient @@ -29,16 +27,18 @@ public async Task GetWithBearerTokenAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "apiKey", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "apiKey", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs index d208b0ed2a9..dc4c5c3c0e6 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedBytes.Core; -namespace SeedBytes.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedBytes.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs b/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs index 77faf70a9f7..d5745b764e9 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedBytes.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedBytes.Test.Core +namespace SeedBytes.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj b/seed/csharp-sdk/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj index 40490560dbd..878b291fec2 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj +++ b/seed/csharp-sdk/bytes/src/SeedBytes.Test/SeedBytes.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/bytes/src/SeedBytes.Test/TestClient.cs b/seed/csharp-sdk/bytes/src/SeedBytes.Test/TestClient.cs index 88358c627c7..974a1557be1 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes.Test/TestClient.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedBytes.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs index 7161fe4fb96..362495ca011 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Core/IRequestOptions.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Core/IRequestOptions.cs index 8f03302d58c..3cb75ead5a7 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedBytes.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/ClientOptions.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/ClientOptions.cs index 52ce4954f4a..5ed7c600df6 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBytes.Core; -#nullable enable - namespace SeedBytes; public partial class ClientOptions diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/RequestOptions.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/RequestOptions.cs index f90fc1b8feb..a80b0361970 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedBytes.Core; -#nullable enable - namespace SeedBytes; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/SeedBytesException.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/SeedBytesException.cs index 701a513c4ba..3e0de56d439 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/SeedBytesException.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Core/Public/SeedBytesException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedBytes; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedBytesException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs index 02edb1ce8d7..ee13efdff36 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedBytes.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/SeedBytesClient.cs b/seed/csharp-sdk/bytes/src/SeedBytes/SeedBytesClient.cs index 779d990b187..888986741aa 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/SeedBytesClient.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/SeedBytesClient.cs @@ -1,12 +1,10 @@ using SeedBytes.Core; -#nullable enable - namespace SeedBytes; public partial class SeedBytesClient { - private RawClient _client; + private readonly RawClient _client; public SeedBytesClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Service/ServiceClient.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Service/ServiceClient.cs index 505763493d9..8e171e7a048 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Service/ServiceClient.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedBytes.Core; -#nullable enable - namespace SeedBytes; public partial class ServiceClient @@ -22,18 +20,20 @@ public async Task UploadAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.StreamApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "upload-content", - Body = request, - ContentType = "application/octet-stream", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.StreamApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "upload-content", + Body = request, + ContentType = "application/octet-stream", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/AClient.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/AClient.cs index a5fb32db2f9..c531b2451ae 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/AClient.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/AClient.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class AClient diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/Types/A.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/Types/A.cs index 69d7b900f2e..fa458ab2976 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/Types/A.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/A/Types/A.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record A diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/AstClient.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/AstClient.cs index fe71768db8b..8fe39c6dd6a 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/AstClient.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/AstClient.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class AstClient diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectFieldValue.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectFieldValue.cs index b4d415f9af5..ec3b3152302 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectFieldValue.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectFieldValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ObjectFieldValue diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectValue.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectValue.cs index 024f8a34366..3248ebd9ed4 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectValue.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/ObjectValue.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ObjectValue diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/PrimitiveValue.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/PrimitiveValue.cs index 6a2aa14cfed..982eabd97f6 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/PrimitiveValue.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Ast/Types/PrimitiveValue.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/ClientOptions.cs index f20d80e0f4b..271bd19ea9a 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs index 0f8bfd7c7ca..846da19984b 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/SeedApiClient.cs index ded11673802..31ef19db73c 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/SeedApiClient.cs @@ -1,12 +1,10 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/ImportingA.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/ImportingA.cs index 5f1f36a679b..8b7d8c16020 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/ImportingA.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/ImportingA.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ImportingA diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/RootType.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/RootType.cs index bbc1e5b6715..25d4b8747c8 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/RootType.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Types/RootType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record RootType diff --git a/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/circular-references/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/circular-references/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/circular-references/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/circular-references/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/circular-references/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/A/AClient.cs b/seed/csharp-sdk/circular-references/src/SeedApi/A/AClient.cs index a5fb32db2f9..c531b2451ae 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/A/AClient.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/A/AClient.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class AClient diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/A/Types/A.cs b/seed/csharp-sdk/circular-references/src/SeedApi/A/Types/A.cs index 69d7b900f2e..fa458ab2976 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/A/Types/A.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/A/Types/A.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record A diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Ast/AstClient.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Ast/AstClient.cs index fe71768db8b..8fe39c6dd6a 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Ast/AstClient.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Ast/AstClient.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class AstClient diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/ObjectValue.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/ObjectValue.cs index 024f8a34366..3248ebd9ed4 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/ObjectValue.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/ObjectValue.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ObjectValue diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/PrimitiveValue.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/PrimitiveValue.cs index 6a2aa14cfed..982eabd97f6 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/PrimitiveValue.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Ast/Types/PrimitiveValue.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/ClientOptions.cs index f20d80e0f4b..271bd19ea9a 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs index 0f8bfd7c7ca..846da19984b 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/circular-references/src/SeedApi/SeedApiClient.cs index 2ad4c4a5846..7e9843d8a28 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/SeedApiClient.cs @@ -1,12 +1,10 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Types/ImportingA.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Types/ImportingA.cs index 5f1f36a679b..8b7d8c16020 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Types/ImportingA.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Types/ImportingA.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record ImportingA diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Types/RootType.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Types/RootType.cs index bbc1e5b6715..25d4b8747c8 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Types/RootType.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Types/RootType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record RootType diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs index 28e1c388aef..504b5b3440a 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedCrossPackageTypeNames.Core; -namespace SeedCrossPackageTypeNames.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedCrossPackageTypeNames.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs index 58651c4dff2..514967c4754 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedCrossPackageTypeNames.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedCrossPackageTypeNames.Test.Core +namespace SeedCrossPackageTypeNames.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj index 7b7fe7b3690..d8737dd6bcc 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/SeedCrossPackageTypeNames.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/TestClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/TestClient.cs index 15151f916f9..3158524ef26 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/TestClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedCrossPackageTypeNames.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/BaseMockServerTest.cs index 0697fca6538..d5b94333bdc 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedCrossPackageTypeNames.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/FindTest.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/FindTest.cs index 0cdca215a64..f1d2f8cee50 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/FindTest.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/FindTest.cs @@ -5,8 +5,6 @@ using SeedCrossPackageTypeNames; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/GetDirectThreadTest.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/GetDirectThreadTest.cs index c1d035bbb52..cccab88601f 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/GetDirectThreadTest.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Unit/MockServer/GetDirectThreadTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Commons/CommonsClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Commons/CommonsClient.cs index 0420e2a0d27..ddc46f8779c 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Commons/CommonsClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Commons/CommonsClient.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames; public partial class CommonsClient diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs index 6fd34a6009c..c99302b576a 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/IRequestOptions.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/IRequestOptions.cs index dbca1e20867..edf1dece9c6 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedCrossPackageTypeNames.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/ClientOptions.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/ClientOptions.cs index c4267bdb48a..fd10a3678ae 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames; public partial class ClientOptions diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/RequestOptions.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/RequestOptions.cs index 842f021fc5b..7a32f591d79 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/SeedCrossPackageTypeNamesException.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/SeedCrossPackageTypeNamesException.cs index 03ce9636782..fc789c38ff4 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/SeedCrossPackageTypeNamesException.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/Public/SeedCrossPackageTypeNamesException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedCrossPackageTypeNames; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedCrossPackageTypeNamesException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs index 40a181952c9..50ffc120c24 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedCrossPackageTypeNames.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/FolderAClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/FolderAClient.cs index 59d4c419d6e..f6ec29cc50f 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/FolderAClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/FolderAClient.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderA; public partial class FolderAClient diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs index 3af1af20b54..d6792d52531 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedCrossPackageTypeNames; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderA; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task GetDirectThreadAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Types/Response.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Types/Response.cs index d61b1c303f2..18b7203c172 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Types/Response.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/Types/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderA; public record Response diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/CommonClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/CommonClient.cs index c6f6b997a64..985aa2bdece 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/CommonClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/CommonClient.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderB; public partial class CommonClient diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Types/Foo.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Types/Foo.cs index dffad53cf90..fbee494b479 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Types/Foo.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/Common/Types/Foo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderB; public record Foo diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/FolderBClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/FolderBClient.cs index f788fa33414..28a35fc4f54 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/FolderBClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderB/FolderBClient.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderB; public partial class FolderBClient diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/CommonClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/CommonClient.cs index 25ef730e17e..a38ee26e85b 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/CommonClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/CommonClient.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderC; public partial class CommonClient diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Types/Foo.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Types/Foo.cs index 1eb772dfc0e..c6686edc528 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Types/Foo.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/Common/Types/Foo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderC; public record Foo diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/FolderCClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/FolderCClient.cs index d3dc5fe300d..20a526ab8e0 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/FolderCClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderC/FolderCClient.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderC; public partial class FolderCClient diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/FolderDClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/FolderDClient.cs index c8b7a3ca010..e2662b901c7 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/FolderDClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/FolderDClient.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderD; public partial class FolderDClient diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs index 7f8e313f03b..797df5dd0ac 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedCrossPackageTypeNames; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderD; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task GetDirectThreadAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Types/Response.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Types/Response.cs index 165702c2518..b54a83d8039 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Types/Response.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/Types/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames.FolderD; public record Response diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs index c876d288b28..7a8e5188aca 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames; public partial class FooClient @@ -44,18 +42,20 @@ public async Task FindAsync( { "publicProperty", request.PublicProperty }, { "privateProperty", request.PrivateProperty }, }; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = requestBody, - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = requestBody, + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Requests/FindRequest.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Requests/FindRequest.cs index d99ccbb6912..13696d1b6e5 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Requests/FindRequest.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Requests/FindRequest.cs @@ -1,7 +1,5 @@ using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames; public record FindRequest diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Types/ImportingType.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Types/ImportingType.cs index f7780b85dc9..b73590469fd 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Types/ImportingType.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/Types/ImportingType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCrossPackageTypeNames.Core; -#nullable enable - namespace SeedCrossPackageTypeNames; public record ImportingType diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/SeedCrossPackageTypeNamesClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/SeedCrossPackageTypeNamesClient.cs index 6ac07b28416..277ca0aac30 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/SeedCrossPackageTypeNamesClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/SeedCrossPackageTypeNamesClient.cs @@ -4,13 +4,11 @@ using SeedCrossPackageTypeNames.FolderC; using SeedCrossPackageTypeNames.FolderD; -#nullable enable - namespace SeedCrossPackageTypeNames; public partial class SeedCrossPackageTypeNamesClient { - private RawClient _client; + private readonly RawClient _client; public SeedCrossPackageTypeNamesClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml new file mode 100644 index 00000000000..bb5cf163d4e --- /dev/null +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/__package__.yml @@ -0,0 +1,132 @@ +types: + Column: + properties: + enumProp: optional + id: string + indexedData: optional + metadata: optional + values: list + source: + proto: proto/data/v1/data.proto + DeleteResponse: + properties: {} + source: + proto: proto/data/v1/data.proto + DescribeResponse: + properties: + dimension: optional + fullness: optional + namespaces: optional> + totalCount: optional + source: + proto: proto/data/v1/data.proto + FetchResponse: + properties: + columns: optional> + namespace: optional + usage: optional + source: + proto: proto/data/v1/data.proto + IndexedData: + properties: + indices: list + values: list + source: + proto: proto/data/v1/data.proto + ListElement: + properties: + id: optional + source: + proto: proto/data/v1/data.proto + ListResponse: + properties: + columns: optional> + namespace: optional + pagination: optional + usage: optional + source: + proto: proto/data/v1/data.proto + Metadata: + discriminated: false + encoding: + proto: + type: google.protobuf.Struct + source: + proto: proto/data/v1/data.proto + union: + - map + - map + MetadataValue: + discriminated: false + encoding: + proto: + type: google.protobuf.Value + source: + proto: proto/data/v1/data.proto + union: + - double + - string + - boolean + NamespaceSummary: + properties: + count: optional + source: + proto: proto/data/v1/data.proto + Pagination: + properties: + next: optional + source: + proto: proto/data/v1/data.proto + QueryColumn: + properties: + filter: optional + indexedData: optional + namespace: optional + topK: optional + values: list + source: + proto: proto/data/v1/data.proto + QueryResponse: + properties: + matches: optional> + namespace: optional + results: optional> + usage: optional + source: + proto: proto/data/v1/data.proto + QueryResult: + properties: + matches: optional> + namespace: optional + source: + proto: proto/data/v1/data.proto + ScoredColumn: + properties: + id: string + indexedData: optional + metadata: optional + score: optional + values: optional> + source: + proto: proto/data/v1/data.proto + TestEnum: + enum: + - A + - B + - C + source: + proto: proto/data/v1/data.proto + UpdateResponse: + properties: {} + source: + proto: proto/data/v1/data.proto + UploadResponse: + properties: + count: optional + source: + proto: proto/data/v1/data.proto + Usage: + properties: + units: optional + source: + proto: proto/data/v1/data.proto diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml new file mode 100644 index 00000000000..f1168231caf --- /dev/null +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/api.yml @@ -0,0 +1,7 @@ +default-environment: Default +display-name: Test API +environments: + Default: https://localhost +error-discrimination: + strategy: status-code +name: api diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml new file mode 100644 index 00000000000..d57fc987ef7 --- /dev/null +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/.mock/.definition/dataservice.yml @@ -0,0 +1,233 @@ +imports: + root: __package__.yml +service: + auth: false + base-path: '' + display-name: DataService + endpoints: + delete: + auth: false + examples: + - request: {} + response: + body: {} + method: POST + path: /data/delete + request: + body: + properties: + deleteAll: optional + filter: optional + ids: optional> + namespace: optional + content-type: application/json + name: DeleteRequest + response: + docs: OK + status-code: 200 + type: root.DeleteResponse + source: + proto: proto/data/v1/data.proto + describe: + auth: false + examples: + - request: {} + response: + body: + dimension: 1 + fullness: 1.1 + namespaces: + key: + count: 1 + totalCount: 1 + method: POST + path: /data/describe + request: + body: + properties: + filter: optional + content-type: application/json + name: DescribeRequest + response: + docs: OK + status-code: 200 + type: root.DescribeResponse + source: + proto: proto/data/v1/data.proto + fetch: + auth: false + examples: + - response: + body: + columns: + key: + enumProp: A + id: id + indexedData: + indices: + - 1 + values: + - 1.1 + metadata: + key: 1.1 + values: + - 1.1 + namespace: namespace + usage: + units: 1 + method: GET + path: /data/fetch + request: + name: FetchRequest + query-parameters: + ids: + allow-multiple: true + type: optional + namespace: optional + response: + docs: OK + status-code: 200 + type: root.FetchResponse + source: + proto: proto/data/v1/data.proto + foo: + auth: false + examples: + - response: + body: + key: value + method: POST + path: /foo + response: + status-code: 200 + type: map + source: + openapi: openapi/openapi.yml + list: + auth: false + examples: + - response: + body: + columns: + - id: id + namespace: namespace + pagination: + next: next + usage: + units: 1 + method: GET + path: /data/list + request: + name: ListRequest + query-parameters: + limit: optional + namespace: optional + paginationToken: optional + prefix: optional + response: + docs: OK + status-code: 200 + type: root.ListResponse + source: + proto: proto/data/v1/data.proto + query: + auth: false + examples: + - request: + topK: 1 + response: + body: + matches: + - id: id + indexedData: + indices: + - 1 + values: + - 1.1 + metadata: + key: 1.1 + score: 1.1 + values: + - 1.1 + namespace: namespace + results: + - matches: + - id: id + namespace: namespace + usage: + units: 1 + method: POST + path: /data/query + request: + body: + properties: + column: optional> + filter: optional + id: optional + includeMetadata: optional + includeValues: optional + indexedData: optional + namespace: optional + queries: optional> + topK: uint + content-type: application/json + name: QueryRequest + response: + docs: OK + status-code: 200 + type: root.QueryResponse + source: + proto: proto/data/v1/data.proto + update: + auth: false + examples: + - request: + id: id + response: + body: {} + method: POST + path: /data/update + request: + body: + properties: + id: string + indexedData: optional + namespace: optional + setMetadata: optional + values: optional> + content-type: application/json + name: UpdateRequest + response: + docs: OK + status-code: 200 + type: root.UpdateResponse + source: + proto: proto/data/v1/data.proto + upload: + auth: false + examples: + - request: + columns: + - id: id + values: + - 1.1 + response: + body: + count: 1 + method: POST + path: /data + request: + body: + properties: + columns: list + namespace: optional + content-type: application/json + name: UploadRequest + response: + docs: OK + status-code: 200 + type: root.UploadResponse + source: + proto: proto/data/v1/data.proto + source: + proto: proto/data/v1/data.proto diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/ClientOptions.cs index 74bdc0d1a84..8bd68695a45 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/ClientOptions.cs @@ -3,8 +3,6 @@ using Grpc.Net.Client; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/GrpcRequestOptions.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/GrpcRequestOptions.cs index 48c37927ea1..25f74c606a9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/GrpcRequestOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/GrpcRequestOptions.cs @@ -1,12 +1,8 @@ -using System; -using System.Net.Http; using Grpc.Core; using SeedApi.Core; namespace SeedApi; -#nullable enable - public partial class GrpcRequestOptions { /// diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiEnvironment.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiEnvironment.cs index 14ffe5ab6c8..b7d2cf1fae7 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiEnvironment.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiEnvironment.cs @@ -2,5 +2,5 @@ namespace SeedApi; public class SeedApiEnvironment { - public static string Default = "https://localhost"; + public const string Default = "https://localhost"; } diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs index 8cff8b09a01..095da2f377b 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -38,7 +36,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -91,7 +89,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -99,8 +99,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawGrpcClient.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawGrpcClient.cs index 657be1d946d..1d6677f759e 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawGrpcClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawGrpcClient.cs @@ -1,4 +1,3 @@ -using System; using Grpc.Core; using Grpc.Net.Client; @@ -53,7 +52,7 @@ public CallOptions CreateCallOptions( ); } - private void SetHeaders(global::Grpc.Core.Metadata metadata, Headers headers) + private static void SetHeaders(global::Grpc.Core.Metadata metadata, Headers headers) { foreach (var header in headers) { diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs index 9bd2a610bf3..9fa2f94c52f 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs @@ -5,8 +5,6 @@ using Grpc.Core; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class DataserviceClient @@ -34,16 +32,18 @@ public async Task FooAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "foo", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "foo", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DeleteRequest.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DeleteRequest.cs index 10d785c72b7..18c4efd85d2 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DeleteRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DeleteRequest.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record DeleteRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DescribeRequest.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DescribeRequest.cs index a9de06c69f4..eb3e9c513bf 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DescribeRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/DescribeRequest.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record DescribeRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/FetchRequest.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/FetchRequest.cs index 70ea06edfc4..3540748c4f5 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/FetchRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/FetchRequest.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record FetchRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/ListRequest.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/ListRequest.cs index afc15a6b93d..70f97ce4e88 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/ListRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/ListRequest.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record ListRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/QueryRequest.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/QueryRequest.cs index a47fc99c7a4..1c13a328e4e 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/QueryRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/QueryRequest.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record QueryRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UpdateRequest.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UpdateRequest.cs index 4f4977cddc3..076816abb0b 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UpdateRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UpdateRequest.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record UpdateRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UploadRequest.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UploadRequest.cs index 8421016d0df..764dac26fb4 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UploadRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/Requests/UploadRequest.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record UploadRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/SeedApiClient.cs index 34ed4743dfe..2a333050f65 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/SeedApiClient.cs @@ -1,12 +1,10 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Column.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Column.cs index 602200b6dfb..653baa00125 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Column.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Column.cs @@ -1,9 +1,8 @@ +using System.Linq; using System.Text.Json.Serialization; using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record Column @@ -55,7 +54,7 @@ internal static Column FromProto(Proto.Column value) return new Column { Id = value.Id, - Values = value.Values?.ToList() ?? new List(), + Values = value.Values?.ToList() ?? Enumerable.Empty(), Metadata = value.Metadata != null ? Metadata.FromProto(value.Metadata) : null, IndexedData = value.IndexedData != null ? IndexedData.FromProto(value.IndexedData) : null, diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DeleteResponse.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DeleteResponse.cs index def64fbd896..24a4b7eee69 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DeleteResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DeleteResponse.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record DeleteResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DescribeResponse.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DescribeResponse.cs index fbd45c674b7..cef14b6869a 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DescribeResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/DescribeResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record DescribeResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/FetchResponse.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/FetchResponse.cs index ae595dfdc41..92c1e501e2b 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/FetchResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/FetchResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record FetchResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/IndexedData.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/IndexedData.cs index 242c4d0b135..9a98dc849ee 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/IndexedData.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/IndexedData.cs @@ -1,9 +1,8 @@ +using System.Linq; using System.Text.Json.Serialization; using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record IndexedData @@ -43,8 +42,8 @@ internal static IndexedData FromProto(Proto.IndexedData value) { return new IndexedData { - Indices = value.Indices?.ToList() ?? new List(), - Values = value.Values?.ToList() ?? new List(), + Indices = value.Indices?.ToList() ?? Enumerable.Empty(), + Values = value.Values?.ToList() ?? Enumerable.Empty(), }; } } diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListElement.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListElement.cs index 2044bd62e56..f59e8955603 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListElement.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListElement.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record ListElement diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListResponse.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListResponse.cs index 9d691519a85..569349ec122 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ListResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record ListResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Metadata.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Metadata.cs index 2e16aa50b3f..cdd7693bcd9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Metadata.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Metadata.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class Metadata : Dictionary diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/MetadataValue.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/MetadataValue.cs index 2308676e891..04b807303a8 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/MetadataValue.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/MetadataValue.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class MetadataValue( diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/NamespaceSummary.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/NamespaceSummary.cs index da0573827da..0990961de09 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/NamespaceSummary.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/NamespaceSummary.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record NamespaceSummary diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Pagination.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Pagination.cs index 87a67db48af..7cd5c933090 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Pagination.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Pagination.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record Pagination diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryColumn.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryColumn.cs index 94c3d4f14af..3a5dc0cc032 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryColumn.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryColumn.cs @@ -1,9 +1,8 @@ +using System.Linq; using System.Text.Json.Serialization; using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record QueryColumn @@ -64,7 +63,7 @@ internal static QueryColumn FromProto(Proto.QueryColumn value) { return new QueryColumn { - Values = value.Values?.ToList() ?? new List(), + Values = value.Values?.ToList() ?? Enumerable.Empty(), TopK = value.TopK, Namespace = value.Namespace, Filter = value.Filter != null ? Metadata.FromProto(value.Filter) : null, diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResponse.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResponse.cs index c4786b94639..d6cff38f268 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record QueryResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResult.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResult.cs index 8c8988af1fd..66470a8dae7 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResult.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/QueryResult.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record QueryResult diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ScoredColumn.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ScoredColumn.cs index 5ca5fa6e2f6..58389dee12d 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ScoredColumn.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/ScoredColumn.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record ScoredColumn diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UpdateResponse.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UpdateResponse.cs index 0d7e3f61b18..fcf4566d81e 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UpdateResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UpdateResponse.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record UpdateResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UploadResponse.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UploadResponse.cs index 23286a04145..d160e4597aa 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UploadResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/UploadResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record UploadResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Usage.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Usage.cs index e5921bf2191..0c8db76ee8f 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Usage.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Types/Usage.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Data.V1.Grpc; -#nullable enable - namespace SeedApi; public record Usage diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/ClientOptions.cs index 5c12019c489..ea5429e6590 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/ClientOptions.cs @@ -3,8 +3,6 @@ using Grpc.Net.Client; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/GrpcRequestOptions.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/GrpcRequestOptions.cs index 48c37927ea1..25f74c606a9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/GrpcRequestOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/GrpcRequestOptions.cs @@ -1,12 +1,8 @@ -using System; -using System.Net.Http; using Grpc.Core; using SeedApi.Core; namespace SeedApi; -#nullable enable - public partial class GrpcRequestOptions { /// diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs index 8cff8b09a01..095da2f377b 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -38,7 +36,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -91,7 +89,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -99,8 +99,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawGrpcClient.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawGrpcClient.cs index 657be1d946d..1d6677f759e 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawGrpcClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawGrpcClient.cs @@ -1,4 +1,3 @@ -using System; using Grpc.Core; using Grpc.Net.Client; @@ -53,7 +52,7 @@ public CallOptions CreateCallOptions( ); } - private void SetHeaders(global::Grpc.Core.Metadata metadata, Headers headers) + private static void SetHeaders(global::Grpc.Core.Metadata metadata, Headers headers) { foreach (var header in headers) { diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/SeedApiClient.cs index 896fdd03f18..7b7d07faaea 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/SeedApiClient.cs @@ -1,12 +1,10 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/CreateResponse.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/CreateResponse.cs index 608e09ded5f..8fb44ed3167 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/CreateResponse.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/CreateResponse.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = User.V1; -#nullable enable - namespace SeedApi; public record CreateResponse diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/Metadata.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/Metadata.cs index 2e16aa50b3f..cdd7693bcd9 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/Metadata.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/Metadata.cs @@ -1,8 +1,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class Metadata : Dictionary diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/MetadataValue.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/MetadataValue.cs index 2308676e891..04b807303a8 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/MetadataValue.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/MetadataValue.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = Google.Protobuf.WellKnownTypes; -#nullable enable - namespace SeedApi; public sealed class MetadataValue( diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/UserModel.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/UserModel.cs index 986ace0fbd1..e7f7745de2f 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/UserModel.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Types/UserModel.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = User.V1; -#nullable enable - namespace SeedApi; public record UserModel diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/Requests/CreateRequest.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/Requests/CreateRequest.cs index f441a389685..30091dafc87 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/Requests/CreateRequest.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/Requests/CreateRequest.cs @@ -2,8 +2,6 @@ using SeedApi.Core; using Proto = User.V1; -#nullable enable - namespace SeedApi; public record CreateRequest diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs index b742ef024a2..922efa17146 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs @@ -3,8 +3,6 @@ using SeedApi.Core; using User.V1; -#nullable enable - namespace SeedApi; public partial class UserserviceClient diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs index dfbfba5f6c5..90edcdca44d 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedCsharpNamespaceConflict.Core; -namespace SeedCsharpNamespaceConflict.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedCsharpNamespaceConflict.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs index b3b08e5c7f5..90593dfe689 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedCsharpNamespaceConflict.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedCsharpNamespaceConflict.Test.Core +namespace SeedCsharpNamespaceConflict.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj index 653ea9acc8e..bfbacc65e04 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/SeedCsharpNamespaceConflict.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/TestClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/TestClient.cs index 3c761d6c5af..50fc00871a1 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/TestClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedCsharpNamespaceConflict.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/BaseMockServerTest.cs index bfc6bd60871..e8ab8923e8d 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedCsharpNamespaceConflict.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/HelloTest.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/HelloTest.cs index 080a4ab250f..9b0bfe61524 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/HelloTest.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Unit/MockServer/HelloTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedCsharpNamespaceConflict.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/AClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/AClient.cs index ca45154d766..a3f9ee4a22d 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/AClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/AClient.cs @@ -1,8 +1,6 @@ using SeedCsharpNamespaceConflict.A.Aa; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A; public partial class AClient diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/AaClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/AaClient.cs index 35b2f272510..643770a8196 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/AaClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/AaClient.cs @@ -1,7 +1,5 @@ using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A.Aa; public partial class AaClient diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/A.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/A.cs index 7c41d5537e5..999168ba90b 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/A.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/A.cs @@ -1,7 +1,5 @@ using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A.Aa; public record A diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/B.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/B.cs index 25671f8d2eb..304bd9b04bc 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/B.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/B.cs @@ -1,7 +1,5 @@ using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A.Aa; public record B diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/SubTestType.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/SubTestType.cs index deefd6e44b8..54b1bea68df 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/SubTestType.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/A/Aa/Types/SubTestType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.A.Aa; public record SubTestType diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/BClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/BClient.cs index dc03ce66cba..ddb428802b0 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/BClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/BClient.cs @@ -1,7 +1,5 @@ using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.B; public partial class BClient diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/Types/TestType.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/Types/TestType.cs index 3f088f0310b..c7b02ddd74a 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/Types/TestType.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/B/Types/TestType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict.B; public record TestType diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs index 00b04b5365d..6b004409175 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/IRequestOptions.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/IRequestOptions.cs index 005ebfbc79a..dffaf23de57 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedCsharpNamespaceConflict.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/ClientOptions.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/ClientOptions.cs index 99282de19cb..bf97ce2a78b 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict; public partial class ClientOptions diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/RequestOptions.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/RequestOptions.cs index 8a4b1278081..b4dffdac405 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/SeedCsharpNamespaceConflictException.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/SeedCsharpNamespaceConflictException.cs index 61bd4b0a826..6f498c66b37 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/SeedCsharpNamespaceConflictException.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/Public/SeedCsharpNamespaceConflictException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedCsharpNamespaceConflict; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedCsharpNamespaceConflictException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs index fb9525fe329..b28e93fc14d 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedCsharpNamespaceConflict.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/SeedCsharpNamespaceConflictClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/SeedCsharpNamespaceConflictClient.cs index cacf630e2d3..f3a55f631d4 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/SeedCsharpNamespaceConflictClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/SeedCsharpNamespaceConflictClient.cs @@ -2,13 +2,11 @@ using SeedCsharpNamespaceConflict.B; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict; public partial class SeedCsharpNamespaceConflictClient { - private RawClient _client; + private readonly RawClient _client; public SeedCsharpNamespaceConflictClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/TasktestClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/TasktestClient.cs index ae9237df195..301d52442dc 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/TasktestClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/TasktestClient.cs @@ -2,8 +2,6 @@ using System.Threading; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict; public partial class TasktestClient @@ -25,16 +23,18 @@ public async System.Threading.Tasks.Task HelloAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "hello", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "hello", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Types/Task.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Types/Task.cs index 16ebcf9794c..e7abd88d8a9 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Types/Task.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Tasktest/Types/Task.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCsharpNamespaceConflict.Core; -#nullable enable - namespace SeedCsharpNamespaceConflict; public record Task diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs index 4cc169e0b1e..0661cb167cf 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedCustomAuth.Core; -namespace SeedCustomAuth.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedCustomAuth.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs index 8bfc92f4fef..31de8fc63a6 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedCustomAuth.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedCustomAuth.Test.Core +namespace SeedCustomAuth.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj index 1138d192410..e7fb0a4fb1b 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/SeedCustomAuth.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/TestClient.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/TestClient.cs index 103bd83ff47..79abbdf8f69 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/TestClient.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedCustomAuth.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/BaseMockServerTest.cs index 71d46dd24e3..089ecac8c54 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedCustomAuth.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/GetWithCustomAuthTest.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/GetWithCustomAuthTest.cs index afe36624db1..5ee19fb8e6c 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/GetWithCustomAuthTest.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/GetWithCustomAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/PostWithCustomAuthTest.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/PostWithCustomAuthTest.cs index 96e8978fc23..da8713dcd2d 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/PostWithCustomAuthTest.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Unit/MockServer/PostWithCustomAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs index 9a6eaa380bb..b3c89f5a917 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/IRequestOptions.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/IRequestOptions.cs index 84c55d34915..98544185c56 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedCustomAuth.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/ClientOptions.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/ClientOptions.cs index 4e57d4e990c..05d778b0746 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth; public partial class ClientOptions diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/RequestOptions.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/RequestOptions.cs index 82a930bf0c7..e8ce2763fb8 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/SeedCustomAuthException.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/SeedCustomAuthException.cs index 1a1d1540ad4..2d3bf41da99 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/SeedCustomAuthException.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/Public/SeedCustomAuthException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedCustomAuth; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedCustomAuthException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs index 6df5390f10d..53fbd531a76 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedCustomAuth.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs index 7f083b11885..27ffaa59f53 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth; public partial class CustomAuthClient @@ -29,16 +27,18 @@ public async Task GetWithCustomAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "custom-auth", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "custom-auth", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -89,17 +89,19 @@ public async Task PostWithCustomAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "custom-auth", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "custom-auth", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/ErrorsClient.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/ErrorsClient.cs index e2e1786cd28..3edf7e0c897 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/ErrorsClient.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/ErrorsClient.cs @@ -1,7 +1,5 @@ using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth; public partial class ErrorsClient diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Exceptions/BadRequest.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Exceptions/BadRequest.cs index 8b0f044321d..059d0911dc3 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Exceptions/BadRequest.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Exceptions/BadRequest.cs @@ -3,4 +3,4 @@ namespace SeedCustomAuth; /// /// This exception type will be thrown for any non-2XX API responses. /// -public class BadRequest(object body) : SeedCustomAuthApiException("BadRequest", 400, body) { } +public class BadRequest(object body) : SeedCustomAuthApiException("BadRequest", 400, body); diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Types/UnauthorizedRequestErrorBody.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Types/UnauthorizedRequestErrorBody.cs index e2a884845d2..70625d40d6f 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Types/UnauthorizedRequestErrorBody.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Errors/Types/UnauthorizedRequestErrorBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth; public record UnauthorizedRequestErrorBody diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/SeedCustomAuthClient.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/SeedCustomAuthClient.cs index 9dacec1a757..ee03b5e028b 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/SeedCustomAuthClient.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/SeedCustomAuthClient.cs @@ -1,12 +1,10 @@ using SeedCustomAuth.Core; -#nullable enable - namespace SeedCustomAuth; public partial class SeedCustomAuthClient { - private RawClient _client; + private readonly RawClient _client; public SeedCustomAuthClient( string? customAuthScheme = null, diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs index 9269c960a89..39ee73331b7 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedEnum.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedEnum.Test.Core +namespace SeedEnum.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs index 7bfa7756e3e..504885eb46d 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/StringEnumSerializerTests.cs @@ -1,137 +1,133 @@ -using System; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedEnum.Core; -namespace SeedEnum.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - - private static readonly DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private static readonly DummyEnum UnknownEnumValue = DummyEnum.Custom("unknown_value"); +namespace SeedEnum.Test.Core; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2}}" - } - """; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithUnknownEnum = $$""" - { - "enum_property": "{{UnknownEnumValue}}" - } - """; + private static readonly DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private static readonly DummyEnum UnknownEnumValue = DummyEnum.Custom("unknown_value"); - [Test] - public void ShouldParseKnownEnumValue2() + private static readonly string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2}}" } + """; - [Test] - public void ShouldParseUnknownEnum() + private static readonly string JsonWithUnknownEnum = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithUnknownEnum, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(UnknownEnumValue)); + "enum_property": "{{UnknownEnumValue}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + } - [Test] - public void ShouldSerializeUnknownEnum() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = UnknownEnumValue }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(UnknownEnumValue)); - } + [Test] + public void ShouldParseUnknownEnum() + { + var obj = JsonSerializer.Deserialize(JsonWithUnknownEnum, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(UnknownEnumValue)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2)); } - [JsonConverter(typeof(StringEnumSerializer))] - public readonly record struct DummyEnum : IStringEnum + [Test] + public void ShouldSerializeUnknownEnum() { - public DummyEnum(string value) - { - Value = value; - } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = UnknownEnumValue }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(UnknownEnumValue)); + } +} - /// - /// The string value of the enum. - /// - public string Value { get; } +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - public static readonly DummyEnum KnownValue1 = Custom(Values.KnownValue1); +[JsonConverter(typeof(StringEnumSerializer))] +public readonly record struct DummyEnum : IStringEnum +{ + public DummyEnum(string value) + { + Value = value; + } - public static readonly DummyEnum KnownValue2 = Custom(Values.KnownValue2); + /// + /// The string value of the enum. + /// + public string Value { get; } - /// - /// Constant strings for enum values - /// - public static class Values - { - public const string KnownValue1 = "known_value1"; + public static readonly DummyEnum KnownValue1 = Custom(Values.KnownValue1); - public const string KnownValue2 = "known_value2"; - } + public static readonly DummyEnum KnownValue2 = Custom(Values.KnownValue2); - /// - /// Create a string enum with the given value. - /// - public static DummyEnum Custom(string value) - { - return new DummyEnum(value); - } + /// + /// Constant strings for enum values + /// + public static class Values + { + public const string KnownValue1 = "known_value1"; - /// - /// Returns the string value of the enum. - /// - public override string ToString() - { - return Value; - } + public const string KnownValue2 = "known_value2"; + } - public bool Equals(string? other) - { - return Value.Equals(other); - } + /// + /// Create a string enum with the given value. + /// + public static DummyEnum Custom(string value) + { + return new DummyEnum(value); + } - public override int GetHashCode() - { - return Value.GetHashCode(); - } + /// + /// Returns the string value of the enum. + /// + public override string ToString() + { + return Value; + } - public static bool operator ==(DummyEnum value1, string value2) => - value1.Value.Equals(value2); + public bool Equals(string? other) + { + return Value.Equals(other); + } - public static bool operator !=(DummyEnum value1, string value2) => - !value1.Value.Equals(value2); + public override int GetHashCode() + { + return Value.GetHashCode(); } + + public static bool operator ==(DummyEnum value1, string value2) => value1.Value.Equals(value2); + + public static bool operator !=(DummyEnum value1, string value2) => !value1.Value.Equals(value2); } diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj index d6faf892575..07807e2bf2a 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/SeedEnum.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/TestClient.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/TestClient.cs index 411ebc05944..2bf028df3df 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/TestClient.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedEnum.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs index fd55b8e46cd..4c9d0e695e9 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedEnum.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs index b745df9ceea..8c0e6bbf5e0 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedEnum; -#nullable enable - namespace SeedEnum.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs index 076fcb05034..6984a7f2711 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedEnum; -#nullable enable - namespace SeedEnum.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs index 2635b505ee0..51496ff2905 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/IRequestOptions.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/IRequestOptions.cs index a30385e9a7b..a8a174fb0e5 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedEnum.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/ClientOptions.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/ClientOptions.cs index d9705f55b03..d12d66b4925 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class ClientOptions diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/RequestOptions.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/RequestOptions.cs index d9ca6cbf099..8e4842d523f 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/SeedEnumException.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/SeedEnumException.cs index 52db06992a8..88ede7ef850 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/SeedEnumException.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/Public/SeedEnumException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedEnum; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedEnumException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs index ccd4d30cb2f..3e175e29131 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedEnum.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs index 0b35afcb0fb..bb44a059383 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class InlinedRequestClient @@ -29,17 +27,19 @@ public async Task SendAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "inlined", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "inlined", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs index c3b205f4f7c..b098c8883fb 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs @@ -2,8 +2,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public record SendEnumInlinedRequest diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/PathParam/PathParamClient.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/PathParam/PathParamClient.cs index 5b03ab48d8a..73cf419e221 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/PathParam/PathParamClient.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/PathParam/PathParamClient.cs @@ -4,8 +4,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class PathParamClient @@ -29,16 +27,18 @@ public async Task SendAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"path/{operand}/{operandOrColor}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"path/{operand}/{operandOrColor}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/QueryParamClient.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/QueryParamClient.cs index cbbdfa1155c..8d6699bbba8 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/QueryParamClient.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/QueryParamClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class QueryParamClient @@ -40,17 +38,19 @@ public async Task SendAsync( { _query["maybeOperandOrColor"] = JsonUtils.Serialize(request.MaybeOperandOrColor); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "query", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "query", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -91,17 +91,19 @@ public async Task SendListAsync( _query["maybeOperandOrColor"] = request .MaybeOperandOrColor.Select(_value => JsonUtils.Serialize(_value)) .ToList(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "query-list", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "query-list", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs index 8952f56494a..ada70aff059 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs @@ -1,8 +1,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public record SendEnumAsQueryParamRequest diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs index f3f04a179ba..bad4032cbec 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs @@ -1,8 +1,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public record SendEnumListAsQueryParamRequest diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/SeedEnumClient.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/SeedEnumClient.cs index d236ff7b0a3..1435b1c43bd 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/SeedEnumClient.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/SeedEnumClient.cs @@ -1,12 +1,10 @@ using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class SeedEnumClient { - private RawClient _client; + private readonly RawClient _client; public SeedEnumClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Color.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Color.cs index e7d5e7234ad..1e6a98ee12d 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Color.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Color.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(StringEnumSerializer))] diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Operand.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Operand.cs index 66620a36071..6c607d30cad 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Operand.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Types/Operand.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(StringEnumSerializer))] diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs index 3df258e0757..4289917addd 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedEnum.Core; -namespace SeedEnum.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedEnum.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs index 9269c960a89..39ee73331b7 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedEnum.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedEnum.Test.Core +namespace SeedEnum.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj index d6faf892575..07807e2bf2a 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/SeedEnum.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/TestClient.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/TestClient.cs index 411ebc05944..2bf028df3df 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/TestClient.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedEnum.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs index fd55b8e46cd..4c9d0e695e9 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedEnum.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs index b745df9ceea..8c0e6bbf5e0 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendListTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedEnum; -#nullable enable - namespace SeedEnum.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs index 076fcb05034..6984a7f2711 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Unit/MockServer/SendTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedEnum; -#nullable enable - namespace SeedEnum.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs index 2635b505ee0..51496ff2905 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/IRequestOptions.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/IRequestOptions.cs index a30385e9a7b..a8a174fb0e5 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedEnum.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/ClientOptions.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/ClientOptions.cs index d9705f55b03..d12d66b4925 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class ClientOptions diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/RequestOptions.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/RequestOptions.cs index d9ca6cbf099..8e4842d523f 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/SeedEnumException.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/SeedEnumException.cs index 52db06992a8..88ede7ef850 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/SeedEnumException.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/Public/SeedEnumException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedEnum; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedEnumException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs index ccd4d30cb2f..3e175e29131 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedEnum.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs index 0b35afcb0fb..bb44a059383 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/InlinedRequestClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class InlinedRequestClient @@ -29,17 +27,19 @@ public async Task SendAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "inlined", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "inlined", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs index c3b205f4f7c..b098c8883fb 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/InlinedRequest/Requests/SendEnumInlinedRequest.cs @@ -2,8 +2,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public record SendEnumInlinedRequest diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/PathParam/PathParamClient.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/PathParam/PathParamClient.cs index 5b03ab48d8a..73cf419e221 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/PathParam/PathParamClient.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/PathParam/PathParamClient.cs @@ -4,8 +4,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class PathParamClient @@ -29,16 +27,18 @@ public async Task SendAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"path/{operand}/{operandOrColor}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"path/{operand}/{operandOrColor}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/QueryParamClient.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/QueryParamClient.cs index cbbdfa1155c..8d6699bbba8 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/QueryParamClient.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/QueryParamClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class QueryParamClient @@ -40,17 +38,19 @@ public async Task SendAsync( { _query["maybeOperandOrColor"] = JsonUtils.Serialize(request.MaybeOperandOrColor); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "query", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "query", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -91,17 +91,19 @@ public async Task SendListAsync( _query["maybeOperandOrColor"] = request .MaybeOperandOrColor.Select(_value => JsonUtils.Serialize(_value)) .ToList(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "query-list", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "query-list", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs index 8952f56494a..ada70aff059 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumAsQueryParamRequest.cs @@ -1,8 +1,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public record SendEnumAsQueryParamRequest diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs index f3f04a179ba..bad4032cbec 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/QueryParam/Requests/SendEnumListAsQueryParamRequest.cs @@ -1,8 +1,6 @@ using OneOf; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public record SendEnumListAsQueryParamRequest diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/SeedEnumClient.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/SeedEnumClient.cs index d236ff7b0a3..1435b1c43bd 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/SeedEnumClient.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/SeedEnumClient.cs @@ -1,12 +1,10 @@ using SeedEnum.Core; -#nullable enable - namespace SeedEnum; public partial class SeedEnumClient { - private RawClient _client; + private readonly RawClient _client; public SeedEnumClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Color.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Color.cs index 8e4dedbd383..754f0effaed 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Color.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Color.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Operand.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Operand.cs index 6fc1d1ca7f3..f4f5e3d6770 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Operand.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Types/Operand.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedEnum.Core; -#nullable enable - namespace SeedEnum; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs index 15f6b535439..18c4a291f00 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedErrorProperty.Core; -namespace SeedErrorProperty.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedErrorProperty.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs index cb17cb65fa4..085758aacc7 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedErrorProperty.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedErrorProperty.Test.Core +namespace SeedErrorProperty.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj index 0afa998e413..65d1a9d334c 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/SeedErrorProperty.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/TestClient.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/TestClient.cs index b2f9999743f..9706ee31328 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/TestClient.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedErrorProperty.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/BaseMockServerTest.cs index 13d0fa449ae..82f3ba56e6e 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedErrorProperty.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/ThrowErrorTest.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/ThrowErrorTest.cs index b296559f565..467b3f2a3a1 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/ThrowErrorTest.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Unit/MockServer/ThrowErrorTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs index 7c49bed64d3..4dcc28c216a 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/IRequestOptions.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/IRequestOptions.cs index 9938d48c75d..ac4f6ad0fb8 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedErrorProperty.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/ClientOptions.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/ClientOptions.cs index e9315f2c33b..43821f2e831 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty; public partial class ClientOptions diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/RequestOptions.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/RequestOptions.cs index 2b145eb8f93..1321b17aec2 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/SeedErrorPropertyException.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/SeedErrorPropertyException.cs index dc09a020025..14f67e522ef 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/SeedErrorPropertyException.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/Public/SeedErrorPropertyException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedErrorProperty; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedErrorPropertyException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs index b932e1569fd..d50cfa2cad6 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedErrorProperty.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/ErrorsClient.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/ErrorsClient.cs index 4ff57c25ec7..d9f5f878f62 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/ErrorsClient.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/ErrorsClient.cs @@ -1,7 +1,5 @@ using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty; public partial class ErrorsClient diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/Types/PropertyBasedErrorTestBody.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/Types/PropertyBasedErrorTestBody.cs index c4c8e668ab0..1705ff1a018 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/Types/PropertyBasedErrorTestBody.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Errors/Types/PropertyBasedErrorTestBody.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty; public record PropertyBasedErrorTestBody diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs index 85b6f5a2caf..27be2ce65fe 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty; public partial class PropertyBasedErrorClient @@ -29,16 +27,18 @@ public async Task ThrowErrorAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "property-based-error", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "property-based-error", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/SeedErrorPropertyClient.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/SeedErrorPropertyClient.cs index 87bf499b01e..94bbb3a5e00 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/SeedErrorPropertyClient.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/SeedErrorPropertyClient.cs @@ -1,12 +1,10 @@ using SeedErrorProperty.Core; -#nullable enable - namespace SeedErrorProperty; public partial class SeedErrorPropertyClient { - private RawClient _client; + private readonly RawClient _client; public SeedErrorPropertyClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs index 054ee62a369..fa8bfc6a0f5 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExamples.Core; -namespace SeedExamples.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExamples.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs index c675148a28a..c93ceee7828 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedExamples.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedExamples.Test.Core +namespace SeedExamples.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/SeedExamples.Test.csproj b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/SeedExamples.Test.csproj index dbba8aeb890..66cdda4c1f2 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/SeedExamples.Test.csproj +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/SeedExamples.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/TestClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/TestClient.cs index 037ff4cf31b..4ab09e277c4 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/TestClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedExamples.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs index 9f99a233f5b..f79db84070f 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs index b900c05c933..5f107841cb0 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs index 2d9da0e157f..59fc2d2b4fb 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs index c4baa2ec41d..76b839ef298 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs index ead2269dd92..e32dab95298 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs index 612b7bc70d6..9a560e5a70d 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs @@ -4,8 +4,6 @@ using Newtonsoft.Json.Linq; using NUnit.Framework; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs index 2968e34e91d..d2e0bcdb640 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs @@ -4,8 +4,6 @@ using Newtonsoft.Json.Linq; using NUnit.Framework; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs index 197a84b71fb..3bc04572d27 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs index 9dcaf71bd1d..818cc007e8d 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs index ec13e70ba70..c43cf6cd56b 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs index b1b999f28b3..65d6cdeef08 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs index 15fd768f021..53a1561b15b 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs index 3fc7cdc6c88..9fdce50d609 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs index 32fd152312e..d276f11ecc4 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/CommonsClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/CommonsClient.cs index dab8cec5b56..a8ac51e24e7 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/CommonsClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/CommonsClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Commons; public partial class CommonsClient diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/Types/Metadata.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/Types/Metadata.cs index 8ad6843f153..97ec7b64640 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/Types/Metadata.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/Types/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Commons; public record Metadata diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/TypesClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/TypesClient.cs index 2dd11922c06..c1c1cd4e6e4 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/TypesClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Commons/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Commons; public partial class TypesClient diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/CollectionItemSerializer.cs index 5b343e38d30..2d0000064ef 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/IRequestOptions.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/IRequestOptions.cs index 7f6fdd0c982..7fd2d6ca6a2 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExamples.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/ClientOptions.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/ClientOptions.cs index 5177ca6af98..8aa19d57c98 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class ClientOptions diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/RequestOptions.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/RequestOptions.cs index 16ee31f1dc3..d7fd49c8499 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs index bd90994ce8a..30dc8ce958d 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs @@ -2,7 +2,7 @@ namespace SeedExamples; public class SeedExamplesEnvironment { - public static string Production = "https://production.com/api"; + public const string Production = "https://production.com/api"; - public static string Staging = "https://staging.com/api"; + public const string Staging = "https://staging.com/api"; } diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesException.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesException.cs index 904c59e7bc3..f8b59c4a609 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesException.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/Public/SeedExamplesException.cs @@ -4,4 +4,4 @@ namespace SeedExamples; /// Base exception class for all exceptions thrown by the SDK. /// public class SeedExamplesException(string message, System.Exception? innerException = null) - : System.Exception(message, innerException) { } + : System.Exception(message, innerException); diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs index 730c31beff1..d86cc9b06f2 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedExamples.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/FileClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/FileClient.cs index 5a5d48ccb61..4caf27e995a 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/FileClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/FileClient.cs @@ -1,8 +1,6 @@ using SeedExamples.Core; using SeedExamples.File.Notification; -#nullable enable - namespace SeedExamples.File; public partial class FileClient diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/NotificationClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/NotificationClient.cs index dd4717ecd6d..d4bcd3b729a 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/NotificationClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/NotificationClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File.Notification; public partial class NotificationClient diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs index 2a429a85b8e..4f658f7a87a 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedExamples; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File.Notification; public partial class ServiceClient @@ -28,16 +26,18 @@ public async Task GetExceptionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/file/notification/{notificationId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/file/notification/{notificationId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs index 4657cba1536..324b6b6a82a 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File; public record GetFileRequest diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs index 1e59b115d5e..a2593733499 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedExamples; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File; public partial class ServiceClient @@ -38,17 +36,19 @@ public async Task GetFileAsync( var _headers = new Headers( new Dictionary() { { "X-File-API-Version", request.XFileApiVersion } } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/file/{filename}", - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/file/{filename}", + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/HealthClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/HealthClient.cs index b1f850183d0..da631ae0d6d 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/HealthClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/HealthClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Health; public partial class HealthClient diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/Service/ServiceClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/Service/ServiceClient.cs index 144243c5944..0a105c97afa 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Health/Service/ServiceClient.cs @@ -5,8 +5,6 @@ using SeedExamples; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Health; public partial class ServiceClient @@ -32,16 +30,18 @@ public async Task CheckAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/check/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/check/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -67,16 +67,18 @@ public async Task PingAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/ping", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/ping", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs index 5ff8af40bf9..fb6760d104d 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs @@ -7,13 +7,11 @@ using SeedExamples.File; using SeedExamples.Health; -#nullable enable - namespace SeedExamples; public partial class SeedExamplesClient { - private RawClient _client; + private readonly RawClient _client; public SeedExamplesClient(string token, ClientOptions? clientOptions = null) { @@ -63,17 +61,19 @@ public async Task EchoAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -105,17 +105,19 @@ public async Task CreateTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs index 8945a96d1a0..dc8752f5507 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record GetMetadataRequest diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs index 2e41a759fbf..403f46154e1 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task GetMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/movie/{movieId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/movie/{movieId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -92,17 +92,19 @@ public async Task CreateMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -150,18 +152,20 @@ public async Task GetMetadataAsync( var _headers = new Headers( new Dictionary() { { "X-API-Version", request.XApiVersion } } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/metadata", - Query = _query, - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/metadata", + Query = _query, + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -385,17 +389,19 @@ public async Task CreateBigEntityAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/big-entity", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/big-entity", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/BasicType.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/BasicType.cs index 8d5331c5768..1efab4080b8 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/BasicType.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/BasicType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/ComplexType.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/ComplexType.cs index a37769291b3..d4eb1734da9 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/ComplexType.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/ComplexType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Identifier.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Identifier.cs index 683cfc8a085..925b557cd4c 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Identifier.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Identifier.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Identifier diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actor.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actor.cs index e62c1c90b0a..64958177dc0 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actor.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actor.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Actor diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actress.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actress.cs index c068eedba2c..abf9b8a2e70 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actress.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Actress.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Actress diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/BigEntity.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/BigEntity.cs index e9910b5378d..c24bef22315 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/BigEntity.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/BigEntity.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record BigEntity diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Directory.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Directory.cs index d6d51f8ba97..e88d3314545 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Directory.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Directory.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Directory diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Entity.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Entity.cs index 65ecb066289..67850b2fee0 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Entity.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Entity.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Entity diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExceptionInfo.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExceptionInfo.cs index 46f2628f5e3..098b775871f 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExceptionInfo.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExceptionInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ExceptionInfo diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExtendedMovie.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExtendedMovie.cs index 394e9668152..133dff1ed7c 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExtendedMovie.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ExtendedMovie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ExtendedMovie diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/File.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/File.cs index 31bca74d974..a7559f87ed1 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/File.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/File.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record File diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Migration.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Migration.cs index b08ab0d5cc7..24bd7b80ad0 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Migration.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Migration.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Migration diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/MigrationStatus.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/MigrationStatus.cs index aae6966f878..56000a8b04a 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/MigrationStatus.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/MigrationStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Moment.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Moment.cs index 4d5ed5a8095..cefae0ad70e 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Moment.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Moment.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Moment diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Movie.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Movie.cs index 942cf8a4ff6..2b97618994e 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Movie.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Movie diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Node.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Node.cs index 9849435643b..223f25bb4bf 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Node.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Node.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Node diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Request.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Request.cs index 42fd9d0f0cb..86c11ee43b8 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Request.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Request.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Request diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Response.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Response.cs index 253a09a77f0..0bbaeb95405 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Response.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Response diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ResponseType.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ResponseType.cs index c785297bb03..43efa937d03 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ResponseType.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/ResponseType.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ResponseType diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/StuntDouble.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/StuntDouble.cs index 2be2c7ca21c..1eacc3553be 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/StuntDouble.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/StuntDouble.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record StuntDouble diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Tree.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Tree.cs index 49c3f225678..9ec51da3f94 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Tree.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/Types/Tree.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Tree diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/TypesClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/TypesClient.cs index 2be986b3702..0deba681872 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/TypesClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class TypesClient diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs index 054ee62a369..fa8bfc6a0f5 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExamples.Core; -namespace SeedExamples.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExamples.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs index c675148a28a..c93ceee7828 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedExamples.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedExamples.Test.Core +namespace SeedExamples.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/SeedExamples.Test.csproj b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/SeedExamples.Test.csproj index dbba8aeb890..66cdda4c1f2 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/SeedExamples.Test.csproj +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/SeedExamples.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/TestClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/TestClient.cs index 037ff4cf31b..4ab09e277c4 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/TestClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedExamples.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs index 9f99a233f5b..f79db84070f 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ActressTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs index b900c05c933..5f107841cb0 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/DirectoryTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs index 2d9da0e157f..59fc2d2b4fb 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/EntityTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs index c4baa2ec41d..76b839ef298 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExceptionInfoTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs index ead2269dd92..e32dab95298 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ExtendedMovieTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs index 612b7bc70d6..9a560e5a70d 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/FileTest.cs @@ -4,8 +4,6 @@ using Newtonsoft.Json.Linq; using NUnit.Framework; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs index 2968e34e91d..d2e0bcdb640 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MetadataTest.cs @@ -4,8 +4,6 @@ using Newtonsoft.Json.Linq; using NUnit.Framework; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs index 197a84b71fb..3bc04572d27 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MigrationTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs index 9dcaf71bd1d..818cc007e8d 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MomentTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs index ec13e70ba70..c43cf6cd56b 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/MovieTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs index b1b999f28b3..65d6cdeef08 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/NodeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs index 15fd768f021..53a1561b15b 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/RequestTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs index 3fc7cdc6c88..9fdce50d609 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/ResponseTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs index 32fd152312e..d276f11ecc4 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Unit/Serialization/TreeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExamples; -#nullable enable - namespace SeedExamples.Test; [TestFixture] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/CommonsClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/CommonsClient.cs index dab8cec5b56..a8ac51e24e7 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/CommonsClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/CommonsClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Commons; public partial class CommonsClient diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/Types/Metadata.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/Types/Metadata.cs index 8ad6843f153..97ec7b64640 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/Types/Metadata.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/Types/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Commons; public record Metadata diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/TypesClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/TypesClient.cs index 2dd11922c06..c1c1cd4e6e4 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/TypesClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Commons/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Commons; public partial class TypesClient diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/CollectionItemSerializer.cs index 5b343e38d30..2d0000064ef 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/IRequestOptions.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/IRequestOptions.cs index 7f6fdd0c982..7fd2d6ca6a2 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExamples.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/ClientOptions.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/ClientOptions.cs index 5177ca6af98..8aa19d57c98 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class ClientOptions diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/RequestOptions.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/RequestOptions.cs index 16ee31f1dc3..d7fd49c8499 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs index bd90994ce8a..30dc8ce958d 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesEnvironment.cs @@ -2,7 +2,7 @@ namespace SeedExamples; public class SeedExamplesEnvironment { - public static string Production = "https://production.com/api"; + public const string Production = "https://production.com/api"; - public static string Staging = "https://staging.com/api"; + public const string Staging = "https://staging.com/api"; } diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesException.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesException.cs index 904c59e7bc3..f8b59c4a609 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesException.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/Public/SeedExamplesException.cs @@ -4,4 +4,4 @@ namespace SeedExamples; /// Base exception class for all exceptions thrown by the SDK. /// public class SeedExamplesException(string message, System.Exception? innerException = null) - : System.Exception(message, innerException) { } + : System.Exception(message, innerException); diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs index 730c31beff1..d86cc9b06f2 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedExamples.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/FileClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/FileClient.cs index 5a5d48ccb61..4caf27e995a 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/FileClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/FileClient.cs @@ -1,8 +1,6 @@ using SeedExamples.Core; using SeedExamples.File.Notification; -#nullable enable - namespace SeedExamples.File; public partial class FileClient diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/NotificationClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/NotificationClient.cs index dd4717ecd6d..d4bcd3b729a 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/NotificationClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/NotificationClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File.Notification; public partial class NotificationClient diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs index 2a429a85b8e..4f658f7a87a 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedExamples; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File.Notification; public partial class ServiceClient @@ -28,16 +26,18 @@ public async Task GetExceptionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/file/notification/{notificationId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/file/notification/{notificationId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs index 4657cba1536..324b6b6a82a 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/Requests/GetFileRequest.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File; public record GetFileRequest diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs index 1e59b115d5e..a2593733499 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs @@ -4,8 +4,6 @@ using SeedExamples; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.File; public partial class ServiceClient @@ -38,17 +36,19 @@ public async Task GetFileAsync( var _headers = new Headers( new Dictionary() { { "X-File-API-Version", request.XFileApiVersion } } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/file/{filename}", - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/file/{filename}", + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/HealthClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/HealthClient.cs index b1f850183d0..da631ae0d6d 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/HealthClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/HealthClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Health; public partial class HealthClient diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/Service/ServiceClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/Service/ServiceClient.cs index 144243c5944..0a105c97afa 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Health/Service/ServiceClient.cs @@ -5,8 +5,6 @@ using SeedExamples; using SeedExamples.Core; -#nullable enable - namespace SeedExamples.Health; public partial class ServiceClient @@ -32,16 +30,18 @@ public async Task CheckAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/check/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/check/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -67,16 +67,18 @@ public async Task PingAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/ping", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/ping", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs index 5ff8af40bf9..fb6760d104d 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs @@ -7,13 +7,11 @@ using SeedExamples.File; using SeedExamples.Health; -#nullable enable - namespace SeedExamples; public partial class SeedExamplesClient { - private RawClient _client; + private readonly RawClient _client; public SeedExamplesClient(string token, ClientOptions? clientOptions = null) { @@ -63,17 +61,19 @@ public async Task EchoAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -105,17 +105,19 @@ public async Task CreateTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs index 8945a96d1a0..dc8752f5507 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/Requests/GetMetadataRequest.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record GetMetadataRequest diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs index 2e41a759fbf..403f46154e1 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task GetMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/movie/{movieId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/movie/{movieId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -92,17 +92,19 @@ public async Task CreateMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -150,18 +152,20 @@ public async Task GetMetadataAsync( var _headers = new Headers( new Dictionary() { { "X-API-Version", request.XApiVersion } } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/metadata", - Query = _query, - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/metadata", + Query = _query, + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -385,17 +389,19 @@ public async Task CreateBigEntityAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/big-entity", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/big-entity", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/BasicType.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/BasicType.cs index 8d5331c5768..1efab4080b8 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/BasicType.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/BasicType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/ComplexType.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/ComplexType.cs index a37769291b3..d4eb1734da9 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/ComplexType.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/ComplexType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Identifier.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Identifier.cs index 683cfc8a085..925b557cd4c 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Identifier.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Identifier.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Identifier diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actor.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actor.cs index e62c1c90b0a..64958177dc0 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actor.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actor.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Actor diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actress.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actress.cs index c068eedba2c..abf9b8a2e70 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actress.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Actress.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Actress diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/BigEntity.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/BigEntity.cs index e9910b5378d..c24bef22315 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/BigEntity.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/BigEntity.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record BigEntity diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Directory.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Directory.cs index d6d51f8ba97..e88d3314545 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Directory.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Directory.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Directory diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Entity.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Entity.cs index 65ecb066289..67850b2fee0 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Entity.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Entity.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Entity diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExceptionInfo.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExceptionInfo.cs index 46f2628f5e3..098b775871f 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExceptionInfo.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExceptionInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ExceptionInfo diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExtendedMovie.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExtendedMovie.cs index 394e9668152..133dff1ed7c 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExtendedMovie.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ExtendedMovie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ExtendedMovie diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/File.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/File.cs index 31bca74d974..a7559f87ed1 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/File.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/File.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record File diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Migration.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Migration.cs index b08ab0d5cc7..24bd7b80ad0 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Migration.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Migration.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Migration diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/MigrationStatus.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/MigrationStatus.cs index aae6966f878..56000a8b04a 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/MigrationStatus.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/MigrationStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Moment.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Moment.cs index 4d5ed5a8095..cefae0ad70e 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Moment.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Moment.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Moment diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Movie.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Movie.cs index 942cf8a4ff6..2b97618994e 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Movie.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Movie diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Node.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Node.cs index 9849435643b..223f25bb4bf 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Node.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Node.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Node diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Request.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Request.cs index 42fd9d0f0cb..86c11ee43b8 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Request.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Request.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Request diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Response.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Response.cs index 253a09a77f0..0bbaeb95405 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Response.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Response diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ResponseType.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ResponseType.cs index c785297bb03..43efa937d03 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ResponseType.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/ResponseType.cs @@ -2,8 +2,6 @@ using OneOf; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record ResponseType diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/StuntDouble.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/StuntDouble.cs index 2be2c7ca21c..1eacc3553be 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/StuntDouble.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/StuntDouble.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record StuntDouble diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Tree.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Tree.cs index 49c3f225678..9ec51da3f94 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Tree.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/Types/Tree.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public record Tree diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/TypesClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/TypesClient.cs index 2be986b3702..0deba681872 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/TypesClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedExamples.Core; -#nullable enable - namespace SeedExamples; public partial class TypesClient diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs index 5572de663e2..e28d715a6f0 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExhaustive.Core; -namespace SeedExhaustive.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExhaustive.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs index 88eeb39ee8b..16ff462bb81 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedExhaustive.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedExhaustive.Test.Core +namespace SeedExhaustive.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj index cc628bfe61c..bfc55417f03 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/TestClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/TestClient.cs index acd74bcc5fd..dc4eb9d26d3 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/TestClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedExhaustive.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs index 39f52430b49..882247529d2 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs index f45a0d3c6e0..241a3e8aa85 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs index c36572e7105..f09f08dfb90 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs index dadb8360570..30eb9cb6d4c 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs index 719c80e40da..8758bc0422b 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs index e68a8efa247..0d9afbf0d75 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs index f5aeb5ac4ad..e9c98f32dc6 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Enum; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs index d2f2cca30a7..d854ad0216a 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs index 814394b5569..ffd6a27d215 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs index 6023f326c7f..16195e9cfb0 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs index 22088f03a48..a75fd2aab1d 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs index 594b2c1f71c..8397c5bb42f 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs index 87a3fc01f0b..4be70c091e8 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs index 08e979d2f86..3bc1b511f1f 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs index 94315ceb11a..bca3830a33e 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs index 1b4d198ef16..49b9c922bd2 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs index 8e575a96aa0..388dbc84568 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs index 715bff97509..52f11c228c9 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs index 5209b8d82db..46a37d66cf8 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs index db41b9213b3..3170dcd036b 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs index ed3f0ca3f84..fb700dbf7cc 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Union; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs index 63e753be663..633e8efcbca 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs index 34fd26eaacb..aa2ef14594d 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs index 1e042cb060a..b2bced41226 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs index a5b86e02f54..ff5c7792dc2 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs index 249a548bfbd..0d3690cb15c 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints.Params; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs index 8213d526750..80969634192 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs index 34e2cbdf47c..922428fff9f 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints.Params; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs index f957c9638f6..2299503f41e 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Endpoints.Params; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs index bd6638b6c36..852c32f0143 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs index 911d3a84811..8581b090128 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints.Params; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs index 04e95e7a7e0..647008b7a5c 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs index f98baa636ab..08bcd7b0bfa 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints.Params; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs index f05b44f5547..15f46fe417f 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Endpoints.Params; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs index 5ef74d9eb5f..c8a70c6519f 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs index f25b845f7db..bf0d9ec4b63 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs index 5ad3a5a4b6d..27d62c08d78 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs index a2c7376d549..48cb7adcf89 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs index a2093443e8c..5aa4c82bb21 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs index 13e3df8a6d5..60b6bec0138 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs @@ -7,8 +7,6 @@ using SeedExhaustive.InlinedRequests; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs index e5f20856ddb..9419abca1d7 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs index 4a26bf835e0..9423da64e0d 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs index bd992aa0124..bf4ff7bbabe 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs index cdb0a002737..a6e5af805ae 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs index 520c5510548..a40fdf33caa 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/CollectionItemSerializer.cs index 1eb2ec5b2e4..e217143fcbf 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/IRequestOptions.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/IRequestOptions.cs index dd7c00d659f..f9366c0b75f 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExhaustive.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/ClientOptions.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/ClientOptions.cs index c3bdd379152..ab4bf6c1c02 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class ClientOptions diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/RequestOptions.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/RequestOptions.cs index 2f0a3c40b9d..9b766ec300a 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs index 9211fe41e3e..ea7b7866caa 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedExhaustive; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedExhaustiveException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs index 272d0788af9..75867430311 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedExhaustive.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs index 322b0c713f4..53a2ecb1e4d 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Endpoints.Container; public partial class ContainerClient @@ -31,17 +29,19 @@ public async Task> GetAndReturnListOfPrimitivesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/list-of-primitives", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/list-of-primitives", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -79,17 +79,19 @@ public async Task> GetAndReturnListOfObject CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/list-of-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/list-of-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -123,17 +125,19 @@ public async Task> GetAndReturnSetOfPrimitivesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/set-of-primitives", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/set-of-primitives", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -167,17 +171,19 @@ public async Task> GetAndReturnSetOfObjectsAsyn CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/set-of-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/set-of-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -211,17 +217,19 @@ public async Task> GetAndReturnMapPrimToPrimAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/map-prim-to-prim", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/map-prim-to-prim", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -263,17 +271,19 @@ public async Task< CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/map-prim-to-object", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/map-prim-to-object", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -309,17 +319,19 @@ public async Task< CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/opt-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/opt-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs index 314c2d6a4ff..d62af3c9648 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Endpoints.ContentType; public partial class ContentTypeClient @@ -46,18 +44,20 @@ public async Task PostJsonPatchContentTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/foo/bar", - Body = request, - ContentType = "application/json-patch+json", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/foo/bar", + Body = request, + ContentType = "application/json-patch+json", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -98,18 +98,20 @@ public async Task PostJsonPatchContentWithCharsetTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/foo/baz", - Body = request, - ContentType = "application/json-patch+json; charset=utf-8", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/foo/baz", + Body = request, + ContentType = "application/json-patch+json; charset=utf-8", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/EndpointsClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/EndpointsClient.cs index 928fe6b2473..9d4fdcf9b7d 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/EndpointsClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/EndpointsClient.cs @@ -8,8 +8,6 @@ using SeedExhaustive.Endpoints.Primitive; using SeedExhaustive.Endpoints.Union; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class EndpointsClient diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs index e36125ab837..72c4c2d26d2 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Enum; -#nullable enable - namespace SeedExhaustive.Endpoints.Enum; public partial class EnumClient @@ -29,17 +27,19 @@ public async Task GetAndReturnEnumAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/enum", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/enum", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs index e0eab29d1bf..586b6eab8a3 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Endpoints.HttpMethods; public partial class HttpMethodsClient @@ -29,16 +27,18 @@ public async Task TestGetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/http-methods/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/http-methods/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -70,17 +70,19 @@ public async Task TestPostAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/http-methods", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/http-methods", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -116,17 +118,19 @@ public async Task TestPutAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/http-methods/{id}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/http-methods/{id}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -177,17 +181,19 @@ public async Task TestPatchAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethodExtensions.Patch, - Path = $"/http-methods/{id}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethodExtensions.Patch, + Path = $"/http-methods/{id}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -219,16 +225,18 @@ public async Task TestDeleteAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = $"/http-methods/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = $"/http-methods/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs index 919c15bffa5..8e994c983ea 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.Endpoints.Object; public partial class ObjectClient @@ -46,17 +44,19 @@ public async Task GetAndReturnWithOptionalFieldAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-optional-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-optional-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -90,17 +90,19 @@ public async Task GetAndReturnWithRequiredFieldAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-required-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-required-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -143,17 +145,19 @@ public async Task GetAndReturnWithMapOfMapAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-map-of-map", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-map-of-map", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -206,17 +210,19 @@ public async Task GetAndReturnNestedWithOptionalF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-nested-with-optional-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-nested-with-optional-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -271,17 +277,19 @@ public async Task GetAndReturnNestedWithRequiredF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/object/get-and-return-nested-with-required-field/{string_}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/object/get-and-return-nested-with-required-field/{string_}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -357,17 +365,19 @@ public async Task GetAndReturnNestedWithRequiredF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-nested-with-required-field-list", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-nested-with-required-field-list", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs index a83b6e21741..5bcd0e39821 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Params; public partial class ParamsClient @@ -32,16 +30,18 @@ public async Task GetWithPathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path/{param}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path/{param}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -77,16 +77,18 @@ public async Task GetWithInlinePathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path/{param}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path/{param}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -124,17 +126,19 @@ public async Task GetWithQueryAsync( var _query = new Dictionary(); _query["query"] = request.Query; _query["number"] = request.Number.ToString(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/params", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/params", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -166,17 +170,19 @@ public async Task GetWithAllowMultipleQueryAsync( var _query = new Dictionary(); _query["query"] = request.Query; _query["number"] = request.Number.Select(_value => _value.ToString()).ToList(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/params", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/params", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -209,17 +215,19 @@ public async Task GetWithPathAndQueryAsync( { var _query = new Dictionary(); _query["query"] = request.Query; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path-query/{param}", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path-query/{param}", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -252,17 +260,19 @@ public async Task GetWithInlinePathAndQueryAsync( { var _query = new Dictionary(); _query["query"] = request.Query; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path-query/{param}", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path-query/{param}", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -290,17 +300,19 @@ public async Task ModifyWithPathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/params/path/{param}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/params/path/{param}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -339,17 +351,19 @@ public async Task ModifyWithInlinePathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/params/path/{param}", - Body = request.Body, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/params/path/{param}", + Body = request.Body, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs index 2f43cdbed32..1d8b76fdbcb 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Params; public record GetWithInlinePath diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs index 7ef4da12b5e..a7c973969a5 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Params; public record GetWithInlinePathAndQuery diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs index 342e366dcf8..f34680ad00c 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Params; public record GetWithMultipleQuery diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs index 0eacde6e621..c15aaef1783 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Params; public record GetWithPathAndQuery diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs index a7e0b660ce5..12ab8d9d8f0 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Params; public record GetWithQuery diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs index 1065ae6015d..bca255e01ae 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Params; public record ModifyResourceAtInlinedPath diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs index 576cd2c6a73..8dbd6a63425 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Primitive; public partial class PrimitiveClient @@ -28,17 +26,19 @@ public async Task GetAndReturnStringAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/string", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/string", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -70,17 +70,19 @@ public async Task GetAndReturnIntAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/integer", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/integer", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -112,17 +114,19 @@ public async Task GetAndReturnLongAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/long", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/long", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -154,17 +158,19 @@ public async Task GetAndReturnDoubleAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/double", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/double", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -196,17 +202,19 @@ public async Task GetAndReturnBoolAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/boolean", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/boolean", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -240,17 +248,19 @@ public async Task GetAndReturnDatetimeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/datetime", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/datetime", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -282,17 +292,19 @@ public async Task GetAndReturnDateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/date", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/date", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -324,17 +336,19 @@ public async Task GetAndReturnUuidAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/uuid", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/uuid", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -366,17 +380,19 @@ public async Task GetAndReturnBase64Async( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/base64", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/base64", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs index 112b16fd67b..a5e445e5164 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints.Union; public partial class UnionClient @@ -28,17 +26,19 @@ public async Task GetAndReturnUnionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/union", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/union", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs index b61d132adb2..55da3a65469 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs @@ -1,7 +1,5 @@ using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.GeneralErrors; /// diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs index 7a5efc323f0..fc6c966689a 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.GeneralErrors; public partial class GeneralErrorsClient diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs index f13ced1e7a0..427d4cb263a 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.GeneralErrors; public record BadObjectRequestInfo diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs index 5725be9a523..4cb751c57f8 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs @@ -6,8 +6,6 @@ using SeedExhaustive.GeneralErrors; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.InlinedRequests; public partial class InlinedRequestsClient @@ -55,17 +53,19 @@ public async Task PostWithObjectBodyandResponseAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/req-bodies/object", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/req-bodies/object", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs index c3a28981ba6..5d5b6027756 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs @@ -2,8 +2,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.InlinedRequests; public record PostWithObjectBody diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs index a5bb09ccba9..a5ebe4e61df 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.GeneralErrors; -#nullable enable - namespace SeedExhaustive.NoAuth; public partial class NoAuthClient @@ -32,17 +30,19 @@ public async Task PostWithNoAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/no-auth", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/no-auth", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs index 2edf98c091a..c40ea71971b 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types.Object; -#nullable enable - namespace SeedExhaustive.NoReqBody; public partial class NoReqBodyClient @@ -28,16 +26,18 @@ public async Task GetWithNoRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/no-req-body", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/no-req-body", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -68,16 +68,18 @@ public async Task PostWithNoRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/no-req-body", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/no-req-body", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs index 404d0a40a15..edf5ceabdef 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.ReqWithHeaders; public partial class ReqWithHeadersClient @@ -42,18 +40,20 @@ public async Task GetWithCustomHeaderAsync( { "X-TEST-ENDPOINT-HEADER", request.XTestEndpointHeader }, } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/test-headers/custom-header", - Body = request.Body, - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/test-headers/custom-header", + Body = request.Body, + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs index ea266b3ff2e..2fa7901c4bc 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.ReqWithHeaders; public record ReqWithHeaders diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/SeedExhaustiveClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/SeedExhaustiveClient.cs index 6ab5a2aac1d..4ef2117aa2d 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/SeedExhaustiveClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/SeedExhaustiveClient.cs @@ -7,13 +7,11 @@ using SeedExhaustive.ReqWithHeaders; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public partial class SeedExhaustiveClient { - private RawClient _client; + private readonly RawClient _client; public SeedExhaustiveClient(string token, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/EnumClient.cs index cf8c50c0026..3d1e1515ad7 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/EnumClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Enum; public partial class EnumClient diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs index bc1b39101e1..ddfd37cdf78 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs @@ -1,7 +1,5 @@ using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Types.Enum; /// diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs index db219c16652..bd70d3be7b8 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Enum; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs index a320324e4a7..bf70271b61c 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Types.Object; /// diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs index 50c7a051046..0b9e3ef9251 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Types.Object; /// diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs index fce9f0f22e9..1f651f75ee1 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Types.Object; /// diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs index 869b949a4aa..244d9adeada 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Types.Object; /// diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/ObjectClient.cs index d7c48613f9b..dc1962ea098 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/ObjectClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Object; public partial class ObjectClient diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs index cdba35eccf4..d93ab6a0b0a 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Object; public record DoubleOptional diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs index 7d92780f857..5bd2a0b850e 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Object; public record NestedObjectWithOptionalField diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs index 596cfdaa764..e3783874531 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Object; public record NestedObjectWithRequiredField diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs index 8737168013d..250c209f950 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Object; public record ObjectWithMapOfMap diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs index d3a580ab815..0a251382597 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Object; public record ObjectWithOptionalField diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs index cbeba293a2a..b2c3e3c3e75 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Object; public record ObjectWithRequiredField diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/TypesClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/TypesClient.cs index 071b84cfa75..64733e4b01a 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/TypesClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/TypesClient.cs @@ -3,8 +3,6 @@ using SeedExhaustive.Types.Object; using SeedExhaustive.Types.Union; -#nullable enable - namespace SeedExhaustive.Types; public partial class TypesClient diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs index 58678a0e234..5c423dbb568 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs @@ -1,7 +1,5 @@ using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Types.Union; /// diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Cat.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Cat.cs index 5454e37251f..2efa7215f63 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Cat.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Cat.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Union; public record Cat diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Dog.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Dog.cs index a09c7bafa83..dae1a667ced 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Dog.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/Types/Dog.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Union; public record Dog diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/UnionClient.cs index 74991cae87e..eea0cca2a71 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Types/Union/UnionClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types.Union; public partial class UnionClient diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs index 5572de663e2..e28d715a6f0 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExhaustive.Core; -namespace SeedExhaustive.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExhaustive.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs index 88eeb39ee8b..16ff462bb81 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedExhaustive.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedExhaustive.Test.Core +namespace SeedExhaustive.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj index cc628bfe61c..bfc55417f03 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/TestClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/TestClient.cs index acd74bcc5fd..dc4eb9d26d3 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/TestClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedExhaustive.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs index 39f52430b49..882247529d2 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs index f45a0d3c6e0..241a3e8aa85 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs index c36572e7105..f09f08dfb90 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs index dadb8360570..30eb9cb6d4c 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs index 719c80e40da..8758bc0422b 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs index e68a8efa247..0d9afbf0d75 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs index 9f43420fbfb..353d276b092 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs index d2f2cca30a7..d854ad0216a 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs index ef19d625ff8..03f09bdaaaa 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs index 6023f326c7f..16195e9cfb0 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs index 22088f03a48..a75fd2aab1d 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs index 2f05d92bff7..aa30a4b1df0 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs index 87a3fc01f0b..4be70c091e8 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs index e50ddbaaf87..768c1eb3491 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs index 5a01880f039..2b66be8418b 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs index e1970a6f144..42155c37973 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs index f06ee4936f3..e3f5f2ae422 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs index 2c274f108f0..78fb116c1da 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs index 5209b8d82db..46a37d66cf8 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs index db41b9213b3..3170dcd036b 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs index 78b75dc9cd3..9da46094488 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs index 63e753be663..633e8efcbca 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs index 14c00d6b296..b66d2224f26 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs index 68fcf98506b..f4910cccaf7 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs index 340d19f5a9d..b45ca96960e 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs index 929721dab48..b6c052a9ef0 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs index 7fa65233a8f..d0f4cf12f90 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs index 70ad30b3afb..691e6f15e95 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs index 5c7c4039f30..ebe8212f455 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs index bd6638b6c36..852c32f0143 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs index ce5892dd319..bc45ea26c92 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs index 04e95e7a7e0..647008b7a5c 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs index 41a8e0c65ec..c2e011893fd 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs index 97847d894a8..fdadc331d86 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs index 5ef74d9eb5f..c8a70c6519f 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs index 8d6063177ad..a6806160f3d 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs index cea949f8ad2..b78eccfa41f 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs index a2c7376d549..48cb7adcf89 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs index a2093443e8c..5aa4c82bb21 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs index 17d707fd085..6bafc674b31 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs @@ -7,8 +7,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs index e5f20856ddb..9419abca1d7 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs index 4a26bf835e0..9423da64e0d 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs index a5a295e3e95..cc0140b5340 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs index 855c2ebc474..84d645a6b77 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs index 54408f57d21..513cf14715c 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/CollectionItemSerializer.cs index 1eb2ec5b2e4..e217143fcbf 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/IRequestOptions.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/IRequestOptions.cs index dd7c00d659f..f9366c0b75f 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExhaustive.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/ClientOptions.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/ClientOptions.cs index c3bdd379152..ab4bf6c1c02 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class ClientOptions diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/RequestOptions.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/RequestOptions.cs index 2f0a3c40b9d..9b766ec300a 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs index 9211fe41e3e..ea7b7866caa 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedExhaustive; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedExhaustiveException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs index 272d0788af9..75867430311 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedExhaustive.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs index 1bec750ed6b..5562ab42d99 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ContainerClient @@ -31,17 +29,19 @@ public async Task> GetAndReturnListOfPrimitivesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/list-of-primitives", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/list-of-primitives", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -79,17 +79,19 @@ public async Task> GetAndReturnListOfObject CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/list-of-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/list-of-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -123,17 +125,19 @@ public async Task> GetAndReturnSetOfPrimitivesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/set-of-primitives", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/set-of-primitives", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -167,17 +171,19 @@ public async Task> GetAndReturnSetOfObjectsAsyn CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/set-of-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/set-of-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -211,17 +217,19 @@ public async Task> GetAndReturnMapPrimToPrimAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/map-prim-to-prim", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/map-prim-to-prim", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -263,17 +271,19 @@ public async Task< CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/map-prim-to-object", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/map-prim-to-object", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -309,17 +319,19 @@ public async Task< CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/opt-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/opt-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs index a10bac9e23f..48ca6d3f053 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ContentTypeClient @@ -46,18 +44,20 @@ public async Task PostJsonPatchContentTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/foo/bar", - Body = request, - ContentType = "application/json-patch+json", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/foo/bar", + Body = request, + ContentType = "application/json-patch+json", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -98,18 +98,20 @@ public async Task PostJsonPatchContentWithCharsetTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/foo/baz", - Body = request, - ContentType = "application/json-patch+json; charset=utf-8", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/foo/baz", + Body = request, + ContentType = "application/json-patch+json; charset=utf-8", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/EndpointsClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/EndpointsClient.cs index f5ecb942e8c..57f2305fa53 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/EndpointsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/EndpointsClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class EndpointsClient diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs index 0fc3dfe34c3..f6e0093e60c 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class EnumClient @@ -29,17 +27,19 @@ public async Task GetAndReturnEnumAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/enum", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/enum", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs index 39b72149ef1..4b4de8f2cc8 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class HttpMethodsClient @@ -29,16 +27,18 @@ public async Task TestGetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/http-methods/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/http-methods/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -70,17 +70,19 @@ public async Task TestPostAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/http-methods", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/http-methods", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -116,17 +118,19 @@ public async Task TestPutAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/http-methods/{id}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/http-methods/{id}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -177,17 +181,19 @@ public async Task TestPatchAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethodExtensions.Patch, - Path = $"/http-methods/{id}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethodExtensions.Patch, + Path = $"/http-methods/{id}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -219,16 +225,18 @@ public async Task TestDeleteAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = $"/http-methods/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = $"/http-methods/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs index 198d63cf81c..6a55770094d 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ObjectClient @@ -46,17 +44,19 @@ public async Task GetAndReturnWithOptionalFieldAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-optional-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-optional-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -90,17 +90,19 @@ public async Task GetAndReturnWithRequiredFieldAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-required-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-required-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -143,17 +145,19 @@ public async Task GetAndReturnWithMapOfMapAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-map-of-map", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-map-of-map", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -206,17 +210,19 @@ public async Task GetAndReturnNestedWithOptionalF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-nested-with-optional-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-nested-with-optional-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -271,17 +277,19 @@ public async Task GetAndReturnNestedWithRequiredF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/object/get-and-return-nested-with-required-field/{string_}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/object/get-and-return-nested-with-required-field/{string_}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -357,17 +365,19 @@ public async Task GetAndReturnNestedWithRequiredF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-nested-with-required-field-list", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-nested-with-required-field-list", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs index 26795596e9c..6f0c31197af 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs @@ -5,8 +5,6 @@ using SeedExhaustive; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ParamsClient @@ -32,16 +30,18 @@ public async Task GetWithPathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path/{param}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path/{param}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -77,16 +77,18 @@ public async Task GetWithInlinePathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path/{param}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path/{param}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -124,17 +126,19 @@ public async Task GetWithQueryAsync( var _query = new Dictionary(); _query["query"] = request.Query; _query["number"] = request.Number.ToString(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/params", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/params", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -166,17 +170,19 @@ public async Task GetWithAllowMultipleQueryAsync( var _query = new Dictionary(); _query["query"] = request.Query; _query["number"] = request.Number.Select(_value => _value.ToString()).ToList(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/params", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/params", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -209,17 +215,19 @@ public async Task GetWithPathAndQueryAsync( { var _query = new Dictionary(); _query["query"] = request.Query; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path-query/{param}", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path-query/{param}", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -252,17 +260,19 @@ public async Task GetWithInlinePathAndQueryAsync( { var _query = new Dictionary(); _query["query"] = request.Query; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path-query/{param}", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path-query/{param}", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -290,17 +300,19 @@ public async Task ModifyWithPathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/params/path/{param}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/params/path/{param}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -339,17 +351,19 @@ public async Task ModifyWithInlinePathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/params/path/{param}", - Body = request.Body, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/params/path/{param}", + Body = request.Body, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs index 25e5239a53e..3fe4ad975df 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithInlinePath diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs index e5dc88dab23..ad92464f7ce 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithInlinePathAndQuery diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs index cea3a85a4bb..fbba966f6d3 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithMultipleQuery diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs index 98456c7ca47..123a966953b 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithPathAndQuery diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs index 18e37345ae8..0eb62f9888b 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithQuery diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs index 781ec36a1b9..ef96e9cab04 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record ModifyResourceAtInlinedPath diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs index 8503c2b79a0..80ed29af3f5 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class PrimitiveClient @@ -28,17 +26,19 @@ public async Task GetAndReturnStringAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/string", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/string", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -70,17 +70,19 @@ public async Task GetAndReturnIntAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/integer", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/integer", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -112,17 +114,19 @@ public async Task GetAndReturnLongAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/long", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/long", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -154,17 +158,19 @@ public async Task GetAndReturnDoubleAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/double", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/double", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -196,17 +202,19 @@ public async Task GetAndReturnBoolAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/boolean", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/boolean", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -240,17 +248,19 @@ public async Task GetAndReturnDatetimeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/datetime", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/datetime", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -282,17 +292,19 @@ public async Task GetAndReturnDateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/date", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/date", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -324,17 +336,19 @@ public async Task GetAndReturnUuidAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/uuid", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/uuid", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -366,17 +380,19 @@ public async Task GetAndReturnBase64Async( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/base64", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/base64", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs index 6b43a8a3dfe..db34914a5ce 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class UnionClient @@ -28,17 +26,19 @@ public async Task GetAndReturnUnionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/union", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/union", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs index a04569eb739..880ca88aa27 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class GeneralErrorsClient diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs index 113e406247d..628b604ebea 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public record BadObjectRequestInfo diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs index 0f45980a80e..d3b1fd18bab 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public partial class InlinedRequestsClient @@ -53,17 +51,19 @@ public async Task PostWithObjectBodyandResponseAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/req-bodies/object", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/req-bodies/object", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs index 22d8dcfca2d..e0e975c21ee 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs @@ -2,8 +2,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public record PostWithObjectBody diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs index 892a3949fa9..8db33b3f440 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class NoAuthClient @@ -30,17 +28,19 @@ public async Task PostWithNoAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/no-auth", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/no-auth", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs index 4c318174872..1663ce528a8 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public partial class NoReqBodyClient @@ -27,16 +25,18 @@ public async Task GetWithNoRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/no-req-body", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/no-req-body", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -67,16 +67,18 @@ public async Task PostWithNoRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/no-req-body", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/no-req-body", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs index 35a2363c634..5d5ea017d95 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class ReqWithHeadersClient @@ -41,18 +39,20 @@ public async Task GetWithCustomHeaderAsync( { "X-TEST-ENDPOINT-HEADER", request.XTestEndpointHeader }, } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/test-headers/custom-header", - Body = request.Body, - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/test-headers/custom-header", + Body = request.Body, + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs index a206975ca5e..ab373001395 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public record ReqWithHeaders diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/SeedExhaustiveClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/SeedExhaustiveClient.cs index 9d54cd04e43..1f4db9bedad 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/SeedExhaustiveClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/SeedExhaustiveClient.cs @@ -2,13 +2,11 @@ using SeedExhaustive.Endpoints; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public partial class SeedExhaustiveClient { - private RawClient _client; + private readonly RawClient _client; public SeedExhaustiveClient(string token, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/EnumClient.cs index f97bb4da70c..8cf473c36dc 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/EnumClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class EnumClient diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs index 7bd06508285..c6e4ae0f4a2 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/ObjectClient.cs index a2abe56ce61..39cc4f792aa 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/ObjectClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class ObjectClient diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs index bf24f3faf30..fa81e762ef4 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record DoubleOptional diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs index 0008325ca2e..a9320f689b8 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record NestedObjectWithOptionalField diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs index 8ae53582b64..308327cb559 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record NestedObjectWithRequiredField diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs index 46f014df943..27bb6eab31f 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithMapOfMap diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs index 1636cafd0c2..f2d33ba9fda 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithOptionalField diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs index 85d230e3e60..038fa2d4c06 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithRequiredField diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/TypesClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/TypesClient.cs index a510756d571..7a596650a9d 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/TypesClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class TypesClient diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Cat.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Cat.cs index 37558d18f11..6bd08c08663 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Cat.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Cat.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record Cat diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Dog.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Dog.cs index 94f0de05624..f5851bd4d76 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Dog.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/Types/Dog.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record Dog diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/UnionClient.cs index c9f9aca9e05..84d600c9dd1 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Types/Union/UnionClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class UnionClient diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs index 5572de663e2..e28d715a6f0 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExhaustive.Core; -namespace SeedExhaustive.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExhaustive.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs index 88eeb39ee8b..16ff462bb81 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedExhaustive.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedExhaustive.Test.Core +namespace SeedExhaustive.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj index cc628bfe61c..bfc55417f03 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/SeedExhaustive.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/TestClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/TestClient.cs index acd74bcc5fd..dc4eb9d26d3 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/TestClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedExhaustive.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs index 1ea66db04d3..cfa1065354e 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/BaseMockServerTest.cs @@ -5,8 +5,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs index f45a0d3c6e0..241a3e8aa85 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBase64Test.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs index c36572e7105..f09f08dfb90 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnBoolTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs index dadb8360570..30eb9cb6d4c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDateTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs index 719c80e40da..8758bc0422b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDatetimeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs index e68a8efa247..0d9afbf0d75 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnDoubleTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs index 9f43420fbfb..353d276b092 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnEnumTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs index d2f2cca30a7..d854ad0216a 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnIntTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs index ef19d625ff8..03f09bdaaaa 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfObjectsTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs index 6023f326c7f..16195e9cfb0 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnListOfPrimitivesTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs index 22088f03a48..a75fd2aab1d 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnLongTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs index 2f05d92bff7..aa30a4b1df0 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapOfPrimToObjectTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs index 87a3fc01f0b..4be70c091e8 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnMapPrimToPrimTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs index e50ddbaaf87..768c1eb3491 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithOptionalFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs index 5a01880f039..2b66be8418b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldAsListTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs index e1970a6f144..42155c37973 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnNestedWithRequiredFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs index f06ee4936f3..e3f5f2ae422 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnOptionalTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs index 2c274f108f0..78fb116c1da 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfObjectsTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs index 5209b8d82db..46a37d66cf8 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnSetOfPrimitivesTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs index db41b9213b3..3170dcd036b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnStringTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs index 78b75dc9cd3..9da46094488 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUnionTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs index 63e753be663..633e8efcbca 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnUuidTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs index 14c00d6b296..b66d2224f26 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithMapOfMapTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs index 68fcf98506b..f4910cccaf7 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithOptionalFieldTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs index 340d19f5a9d..b45ca96960e 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetAndReturnWithRequiredFieldTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs index 929721dab48..b6c052a9ef0 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithAllowMultipleQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs index 7fa65233a8f..d0f4cf12f90 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithCustomHeaderTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs index 70ad30b3afb..691e6f15e95 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathAndQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs index 5c7c4039f30..ebe8212f455 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithInlinePathTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs index bd6638b6c36..852c32f0143 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithNoRequestBodyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs index ce5892dd319..bc45ea26c92 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathAndQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs index 04e95e7a7e0..647008b7a5c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithPathTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs index 41a8e0c65ec..c2e011893fd 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/GetWithQueryTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs index 97847d894a8..fdadc331d86 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithInlinePathTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Endpoints; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs index 5ef74d9eb5f..c8a70c6519f 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/ModifyWithPathTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs index 8d6063177ad..a6806160f3d 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentTypeTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs index cea949f8ad2..b78eccfa41f 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostJsonPatchContentWithCharsetTypeTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs index a2c7376d549..48cb7adcf89 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoAuthTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs index a2093443e8c..5aa4c82bb21 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithNoRequestBodyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs index 17d707fd085..6bafc674b31 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/PostWithObjectBodyandResponseTest.cs @@ -7,8 +7,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs index e5f20856ddb..9419abca1d7 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestDeleteTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs index 4a26bf835e0..9423da64e0d 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestGetTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs index a5a295e3e95..cc0140b5340 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPatchTest.cs @@ -6,8 +6,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs index 855c2ebc474..84d645a6b77 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPostTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs index 54408f57d21..513cf14715c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Unit/MockServer/TestPutTest.cs @@ -5,8 +5,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/CollectionItemSerializer.cs index 1eb2ec5b2e4..e217143fcbf 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/IRequestOptions.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/IRequestOptions.cs index dd7c00d659f..f9366c0b75f 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExhaustive.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/ClientOptions.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/ClientOptions.cs index ffb6d4b28d2..18c6ff4452c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/ClientOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExhaustive.Core; public partial class ClientOptions diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/RequestOptions.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/RequestOptions.cs index b74f72a7c34..c1a4c852209 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/RequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExhaustive.Core; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs index a2bece433e6..027ef7b6e9b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/Public/SeedExhaustiveException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedExhaustive.Core; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedExhaustiveException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs index 272d0788af9..75867430311 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedExhaustive.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs index 95820ec2ced..716bd955d85 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ContainerClient @@ -30,17 +28,19 @@ public async Task> GetAndReturnListOfPrimitivesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/list-of-primitives", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/list-of-primitives", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -78,17 +78,19 @@ public async Task> GetAndReturnListOfObject CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/list-of-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/list-of-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -122,17 +124,19 @@ public async Task> GetAndReturnSetOfPrimitivesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/set-of-primitives", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/set-of-primitives", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -166,17 +170,19 @@ public async Task> GetAndReturnSetOfObjectsAsyn CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/set-of-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/set-of-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -210,17 +216,19 @@ public async Task> GetAndReturnMapPrimToPrimAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/map-prim-to-prim", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/map-prim-to-prim", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -262,17 +270,19 @@ public async Task< CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/map-prim-to-object", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/map-prim-to-object", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -308,17 +318,19 @@ public async Task< CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/container/opt-objects", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/container/opt-objects", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs index 06ed0b7194b..8370d9dfcc7 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/ContentType/ContentTypeClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ContentTypeClient @@ -45,18 +43,20 @@ public async Task PostJsonPatchContentTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/foo/bar", - Body = request, - ContentType = "application/json-patch+json", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/foo/bar", + Body = request, + ContentType = "application/json-patch+json", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -97,18 +97,20 @@ public async Task PostJsonPatchContentWithCharsetTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/foo/baz", - Body = request, - ContentType = "application/json-patch+json; charset=utf-8", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/foo/baz", + Body = request, + ContentType = "application/json-patch+json; charset=utf-8", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/EndpointsClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/EndpointsClient.cs index f5ecb942e8c..57f2305fa53 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/EndpointsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/EndpointsClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class EndpointsClient diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs index 88ab61c2639..dee40d752a1 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class EnumClient @@ -28,17 +26,19 @@ public async Task GetAndReturnEnumAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/enum", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/enum", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs index 37b2160080a..3bd5abf7f70 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class HttpMethodsClient @@ -28,16 +26,18 @@ public async Task TestGetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/http-methods/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/http-methods/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -69,17 +69,19 @@ public async Task TestPostAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/http-methods", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/http-methods", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -115,17 +117,19 @@ public async Task TestPutAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/http-methods/{id}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/http-methods/{id}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -176,17 +180,19 @@ public async Task TestPatchAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethodExtensions.Patch, - Path = $"/http-methods/{id}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethodExtensions.Patch, + Path = $"/http-methods/{id}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -218,16 +224,18 @@ public async Task TestDeleteAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = $"/http-methods/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = $"/http-methods/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs index 0b1d8a8a92b..31e645e8a1d 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ObjectClient @@ -45,17 +43,19 @@ public async Task GetAndReturnWithOptionalFieldAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-optional-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-optional-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -89,17 +89,19 @@ public async Task GetAndReturnWithRequiredFieldAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-required-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-required-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -142,17 +144,19 @@ public async Task GetAndReturnWithMapOfMapAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-with-map-of-map", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-with-map-of-map", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -205,17 +209,19 @@ public async Task GetAndReturnNestedWithOptionalF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-nested-with-optional-field", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-nested-with-optional-field", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -270,17 +276,19 @@ public async Task GetAndReturnNestedWithRequiredF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/object/get-and-return-nested-with-required-field/{string_}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/object/get-and-return-nested-with-required-field/{string_}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -356,17 +364,19 @@ public async Task GetAndReturnNestedWithRequiredF CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/object/get-and-return-nested-with-required-field-list", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/object/get-and-return-nested-with-required-field-list", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs index 5ea38ca8f3a..4d7a00bcf37 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/ParamsClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class ParamsClient @@ -31,16 +29,18 @@ public async Task GetWithPathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path/{param}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path/{param}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -76,16 +76,18 @@ public async Task GetWithInlinePathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path/{param}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path/{param}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -123,17 +125,19 @@ public async Task GetWithQueryAsync( var _query = new Dictionary(); _query["query"] = request.Query; _query["number"] = request.Number.ToString(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/params", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/params", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -165,17 +169,19 @@ public async Task GetWithAllowMultipleQueryAsync( var _query = new Dictionary(); _query["query"] = request.Query; _query["number"] = request.Number.Select(_value => _value.ToString()).ToList(); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/params", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/params", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -208,17 +214,19 @@ public async Task GetWithPathAndQueryAsync( { var _query = new Dictionary(); _query["query"] = request.Query; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path-query/{param}", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path-query/{param}", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -251,17 +259,19 @@ public async Task GetWithInlinePathAndQueryAsync( { var _query = new Dictionary(); _query["query"] = request.Query; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/params/path-query/{param}", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/params/path-query/{param}", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -289,17 +299,19 @@ public async Task ModifyWithPathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/params/path/{param}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/params/path/{param}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -338,17 +350,19 @@ public async Task ModifyWithInlinePathAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/params/path/{param}", - Body = request.Body, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/params/path/{param}", + Body = request.Body, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs index 25e5239a53e..3fe4ad975df 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePath.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithInlinePath diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs index e5dc88dab23..ad92464f7ce 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithInlinePathAndQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithInlinePathAndQuery diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs index cea3a85a4bb..fbba966f6d3 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithMultipleQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithMultipleQuery diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs index 98456c7ca47..123a966953b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithPathAndQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithPathAndQuery diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs index 18e37345ae8..0eb62f9888b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/GetWithQuery.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record GetWithQuery diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs index 781ec36a1b9..ef96e9cab04 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Params/Requests/ModifyResourceAtInlinedPath.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public record ModifyResourceAtInlinedPath diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs index 0c2de21bc35..3a348312ac8 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class PrimitiveClient @@ -27,17 +25,19 @@ public async Task GetAndReturnStringAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/string", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/string", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -69,17 +69,19 @@ public async Task GetAndReturnIntAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/integer", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/integer", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -111,17 +113,19 @@ public async Task GetAndReturnLongAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/long", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/long", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -153,17 +157,19 @@ public async Task GetAndReturnDoubleAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/double", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/double", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -195,17 +201,19 @@ public async Task GetAndReturnBoolAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/boolean", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/boolean", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -239,17 +247,19 @@ public async Task GetAndReturnDatetimeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/datetime", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/datetime", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -281,17 +291,19 @@ public async Task GetAndReturnDateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/date", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/date", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -323,17 +335,19 @@ public async Task GetAndReturnUuidAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/uuid", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/uuid", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -365,17 +379,19 @@ public async Task GetAndReturnBase64Async( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/primitive/base64", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/primitive/base64", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs index 5db8bd1fdd0..09cdc02557a 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Endpoints; public partial class UnionClient @@ -27,17 +25,19 @@ public async Task GetAndReturnUnionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/union", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/union", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs index 6aa2508101e..79535849a5c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Exceptions/BadRequestBody.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; /// diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs index a04569eb739..880ca88aa27 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/GeneralErrorsClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class GeneralErrorsClient diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs index 113e406247d..628b604ebea 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/GeneralErrors/Types/BadObjectRequestInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public record BadObjectRequestInfo diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs index 86594b31c4f..0013bdf794c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public partial class InlinedRequestsClient @@ -53,17 +51,19 @@ public async Task PostWithObjectBodyandResponseAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/req-bodies/object", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/req-bodies/object", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs index 22d8dcfca2d..e0e975c21ee 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/Requests/PostWithObjectBody.cs @@ -2,8 +2,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public record PostWithObjectBody diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs index 3b964d66be1..c84c94ce662 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class NoAuthClient @@ -30,17 +28,19 @@ public async Task PostWithNoAuthAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/no-auth", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/no-auth", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs index 4c318174872..1663ce528a8 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs @@ -4,8 +4,6 @@ using SeedExhaustive.Core; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public partial class NoReqBodyClient @@ -27,16 +25,18 @@ public async Task GetWithNoRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/no-req-body", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/no-req-body", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -67,16 +67,18 @@ public async Task PostWithNoRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/no-req-body", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/no-req-body", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs index 35a2363c634..5d5ea017d95 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/ReqWithHeadersClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public partial class ReqWithHeadersClient @@ -41,18 +39,20 @@ public async Task GetWithCustomHeaderAsync( { "X-TEST-ENDPOINT-HEADER", request.XTestEndpointHeader }, } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/test-headers/custom-header", - Body = request.Body, - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/test-headers/custom-header", + Body = request.Body, + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs index a206975ca5e..ab373001395 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/ReqWithHeaders/Requests/ReqWithHeaders.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive; public record ReqWithHeaders diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/SeedExhaustiveClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/SeedExhaustiveClient.cs index 9d54cd04e43..1f4db9bedad 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/SeedExhaustiveClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/SeedExhaustiveClient.cs @@ -2,13 +2,11 @@ using SeedExhaustive.Endpoints; using SeedExhaustive.Types; -#nullable enable - namespace SeedExhaustive; public partial class SeedExhaustiveClient { - private RawClient _client; + private readonly RawClient _client; public SeedExhaustiveClient(string token, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/EnumClient.cs index f97bb4da70c..8cf473c36dc 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/EnumClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class EnumClient diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs index 048580f64ad..5f96fc8c409 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Exceptions/ErrorWithEnumBody.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; /// diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs index 7bd06508285..c6e4ae0f4a2 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Enum/Types/WeatherReport.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs index 2c5476c62fe..b006de055d5 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithOptionalFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; /// diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs index 9d1c868cb56..dd99bad625b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/NestedObjectWithRequiredFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; /// diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs index 8d469db08bc..36f9ab06b9c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithOptionalFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; /// diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs index 3ad0ab392d2..0beadcfb2d1 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Exceptions/ObjectWithRequiredFieldError.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; /// diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/ObjectClient.cs index a2abe56ce61..39cc4f792aa 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/ObjectClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class ObjectClient diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs index bf24f3faf30..fa81e762ef4 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/DoubleOptional.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record DoubleOptional diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs index 0008325ca2e..a9320f689b8 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record NestedObjectWithOptionalField diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs index 8ae53582b64..308327cb559 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/NestedObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record NestedObjectWithRequiredField diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs index 46f014df943..27bb6eab31f 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithMapOfMap.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithMapOfMap diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs index 1636cafd0c2..f2d33ba9fda 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithOptionalField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithOptionalField diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs index 85d230e3e60..038fa2d4c06 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Object/Types/ObjectWithRequiredField.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record ObjectWithRequiredField diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/TypesClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/TypesClient.cs index a510756d571..7a596650a9d 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/TypesClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class TypesClient diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs index 8a264e6ecf3..7eaed2a0ee0 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Exceptions/ErrorWithUnionBody.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; /// diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Cat.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Cat.cs index 37558d18f11..6bd08c08663 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Cat.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Cat.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record Cat diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Dog.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Dog.cs index 94f0de05624..f5851bd4d76 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Dog.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/Types/Dog.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public record Dog diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/UnionClient.cs index c9f9aca9e05..84d600c9dd1 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Types/Union/UnionClient.cs @@ -1,7 +1,5 @@ using SeedExhaustive.Core; -#nullable enable - namespace SeedExhaustive.Types; public partial class UnionClient diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs index 6d9b555b690..dcc9f130682 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExtends.Core; -namespace SeedExtends.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExtends.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs index 851e3821aee..37b8a3f9946 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedExtends.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedExtends.Test.Core +namespace SeedExtends.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/SeedExtends.Test.csproj b/seed/csharp-sdk/extends/src/SeedExtends.Test/SeedExtends.Test.csproj index b460424eab6..c45d61e8f80 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/SeedExtends.Test.csproj +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/SeedExtends.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/TestClient.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/TestClient.cs index a592c9efebd..e45f8f48f3f 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/TestClient.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedExtends.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/BaseMockServerTest.cs index 4e8e2b940a9..358fc86efa1 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedExtends.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs index 66314abf2cd..4d0aff29510 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/MockServer/ExtendedInlineRequestBodyTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedExtends; -#nullable enable - namespace SeedExtends.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/DocsTest.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/DocsTest.cs index 3a3b5b8c4f6..c954d353232 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/DocsTest.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/DocsTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExtends; -#nullable enable - namespace SeedExtends.Test; [TestFixture] diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/ExampleTypeTest.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/ExampleTypeTest.cs index f97855b7a44..5696621a64e 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/ExampleTypeTest.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/ExampleTypeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExtends; -#nullable enable - namespace SeedExtends.Test; [TestFixture] diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/JsonTest.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/JsonTest.cs index fd6b0cadab4..522dccd721f 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/JsonTest.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/JsonTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExtends; -#nullable enable - namespace SeedExtends.Test; [TestFixture] diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/NestedTypeTest.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/NestedTypeTest.cs index f16df6752de..cc55ede2e66 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/NestedTypeTest.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Unit/Serialization/NestedTypeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedExtends; -#nullable enable - namespace SeedExtends.Test; [TestFixture] diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/extends/src/SeedExtends/Core/CollectionItemSerializer.cs index 9197622f661..8c3b002b8f2 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Core/IRequestOptions.cs b/seed/csharp-sdk/extends/src/SeedExtends/Core/IRequestOptions.cs index 29fc0c0f310..52e944970af 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExtends.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/ClientOptions.cs b/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/ClientOptions.cs index 04b5c82229f..38a3fee0295 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public partial class ClientOptions diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/RequestOptions.cs b/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/RequestOptions.cs index d46faad0bfa..9466ef20642 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/SeedExtendsException.cs b/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/SeedExtendsException.cs index 26d8bef4181..2d86ea5e073 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/SeedExtendsException.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Core/Public/SeedExtendsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedExtends; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedExtendsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs b/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs index d3df990fcc9..3d0f455303e 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedExtends.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Requests/Inlined.cs b/seed/csharp-sdk/extends/src/SeedExtends/Requests/Inlined.cs index f8c6c0f5ca5..ce9f14a8dc4 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Requests/Inlined.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Requests/Inlined.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record Inlined diff --git a/seed/csharp-sdk/extends/src/SeedExtends/SeedExtendsClient.cs b/seed/csharp-sdk/extends/src/SeedExtends/SeedExtendsClient.cs index a37f936f3b3..5eaf8de3dd2 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/SeedExtendsClient.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/SeedExtendsClient.cs @@ -3,13 +3,11 @@ using System.Threading.Tasks; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public partial class SeedExtendsClient { - private RawClient _client; + private readonly RawClient _client; public SeedExtendsClient(ClientOptions? clientOptions = null) { @@ -44,17 +42,19 @@ public async Task ExtendedInlineRequestBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/extends/extended-inline-request-body", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/extends/extended-inline-request-body", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Types/Docs.cs b/seed/csharp-sdk/extends/src/SeedExtends/Types/Docs.cs index f3112c72575..2d97fcc3baa 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Types/Docs.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Types/Docs.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record Docs diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Types/ExampleType.cs b/seed/csharp-sdk/extends/src/SeedExtends/Types/ExampleType.cs index 36c0fd4b9bb..5f17cb9f37d 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Types/ExampleType.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Types/ExampleType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record ExampleType diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Types/Json.cs b/seed/csharp-sdk/extends/src/SeedExtends/Types/Json.cs index c3846eaca36..f29d5cd1ac6 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Types/Json.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Types/Json.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record Json diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Types/NestedType.cs b/seed/csharp-sdk/extends/src/SeedExtends/Types/NestedType.cs index be88994a050..e32371c4ada 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Types/NestedType.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Types/NestedType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtends.Core; -#nullable enable - namespace SeedExtends; public record NestedType diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs index 7c571946c86..551d0446073 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedExtraProperties.Core; -namespace SeedExtraProperties.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedExtraProperties.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs index 59d61fbe82c..79d7f71c6d0 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedExtraProperties.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedExtraProperties.Test.Core +namespace SeedExtraProperties.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj index 4b6eae5a36b..68953f666bc 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/SeedExtraProperties.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/TestClient.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/TestClient.cs index ab71d6a571d..799e50629e6 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/TestClient.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedExtraProperties.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/BaseMockServerTest.cs index ed9ff2d8d16..5bead66240b 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedExtraProperties.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/CreateUserTest.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/CreateUserTest.cs index a35e9922a8c..2ce555fb842 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/CreateUserTest.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Unit/MockServer/CreateUserTest.cs @@ -5,8 +5,6 @@ using SeedExtraProperties; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs index 060a687f2ca..c3415164ef7 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/IRequestOptions.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/IRequestOptions.cs index dd2f557cb0a..df381388b89 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedExtraProperties.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/ClientOptions.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/ClientOptions.cs index 7fbd2cb650e..4af063b0a13 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public partial class ClientOptions diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/RequestOptions.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/RequestOptions.cs index 8fde462b831..939c9804ae7 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/SeedExtraPropertiesException.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/SeedExtraPropertiesException.cs index 600c7b744fb..42a6f16fb62 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/SeedExtraPropertiesException.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/Public/SeedExtraPropertiesException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedExtraProperties; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedExtraPropertiesException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs index 41b2a481547..18690228413 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedExtraProperties.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/SeedExtraPropertiesClient.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/SeedExtraPropertiesClient.cs index 1ad818db414..50a53d364ed 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/SeedExtraPropertiesClient.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/SeedExtraPropertiesClient.cs @@ -1,12 +1,10 @@ using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public partial class SeedExtraPropertiesClient { - private RawClient _client; + private readonly RawClient _client; public SeedExtraPropertiesClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Types/Failure.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Types/Failure.cs index 3fcdc224624..20b768344cc 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Types/Failure.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Types/Failure.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public record Failure diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Requests/CreateUserRequest.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Requests/CreateUserRequest.cs index aee52c4caf4..73ed765cda3 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Requests/CreateUserRequest.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Requests/CreateUserRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public record CreateUserRequest diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Types/User.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Types/User.cs index a6a26894c0a..6b36611b16f 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Types/User.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public record User diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs index 5ff0ec6a5ab..13f9696fca0 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedExtraProperties.Core; -#nullable enable - namespace SeedExtraProperties; public partial class UserClient @@ -34,17 +32,19 @@ public async Task CreateUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/user", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/user", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs index 43ce3eef991..911299a45b6 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedFileDownload.Core; -namespace SeedFileDownload.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedFileDownload.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs index f54217e1a19..c44b8ed1473 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedFileDownload.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedFileDownload.Test.Core +namespace SeedFileDownload.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj index 92f414fcfb7..116662e13d7 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/SeedFileDownload.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/TestClient.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/TestClient.cs index 1bc041af64b..53421b1159c 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/TestClient.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedFileDownload.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs index c03b50c6cc1..902a7679055 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/IRequestOptions.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/IRequestOptions.cs index 75a7ce22ec3..12b49e344c3 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedFileDownload.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/ClientOptions.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/ClientOptions.cs index 84628621b17..b4925d2ecb8 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedFileDownload.Core; -#nullable enable - namespace SeedFileDownload; public partial class ClientOptions diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/RequestOptions.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/RequestOptions.cs index 896cba6b453..612f6c6f06c 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedFileDownload.Core; -#nullable enable - namespace SeedFileDownload; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/SeedFileDownloadException.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/SeedFileDownloadException.cs index 0a3b17dd108..7b322499d11 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/SeedFileDownloadException.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/Public/SeedFileDownloadException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedFileDownload; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedFileDownloadException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs index 19bbfed986e..28a6eaa997e 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedFileDownload.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/SeedFileDownloadClient.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/SeedFileDownloadClient.cs index 4d9c3f9ecf0..0faf9a99cfa 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/SeedFileDownloadClient.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/SeedFileDownloadClient.cs @@ -1,12 +1,10 @@ using SeedFileDownload.Core; -#nullable enable - namespace SeedFileDownload; public partial class SeedFileDownloadClient { - private RawClient _client; + private readonly RawClient _client; public SeedFileDownloadClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Service/ServiceClient.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Service/ServiceClient.cs index c938b04fed9..d303e1ce36c 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Service/ServiceClient.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedFileDownload.Core; -#nullable enable - namespace SeedFileDownload; public partial class ServiceClient @@ -21,16 +19,18 @@ public async Task DownloadFileAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); throw new SeedFileDownloadApiException( $"Error with status code {response.StatusCode}", diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs index a97647b8b1b..e79ad3e3df9 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedFileUpload.Core; -namespace SeedFileUpload.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedFileUpload.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs index 23bac6d834f..59d6b17d928 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedFileUpload.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedFileUpload.Test.Core +namespace SeedFileUpload.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj index e17786a850b..2fb59eb1141 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/SeedFileUpload.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/TestClient.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/TestClient.cs index 322cca66eb8..75e10c0a3d0 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/TestClient.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedFileUpload.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs index dd3ca2d0635..7b1fef8e0d8 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/IRequestOptions.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/IRequestOptions.cs index 60bcfb9db44..7892281fd08 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedFileUpload.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/ClientOptions.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/ClientOptions.cs index 216c6d4d7db..145b8f8235b 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public partial class ClientOptions diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/RequestOptions.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/RequestOptions.cs index 18b4c26dd65..e4d57cfd49e 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/SeedFileUploadException.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/SeedFileUploadException.cs index ee752d49549..a7e98ed0d01 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/SeedFileUploadException.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/Public/SeedFileUploadException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedFileUpload; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedFileUploadException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs index bea34742453..136b69af54c 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedFileUpload.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/SeedFileUploadClient.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/SeedFileUploadClient.cs index 92537a8a526..0f4054aae59 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/SeedFileUploadClient.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/SeedFileUploadClient.cs @@ -1,12 +1,10 @@ using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public partial class SeedFileUploadClient { - private RawClient _client; + private readonly RawClient _client; public SeedFileUploadClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileRequest.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileRequest.cs index e3649fcf983..40e035041b8 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileRequest.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileRequest.cs @@ -1,7 +1,5 @@ using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public record JustFileRequest diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileWithQueryParamsRequest.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileWithQueryParamsRequest.cs index 33ba98cd4a4..706062d72e3 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileWithQueryParamsRequest.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/JustFileWithQueryParamsRequest.cs @@ -1,7 +1,5 @@ using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public record JustFileWithQueryParamsRequest diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/MyRequest.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/MyRequest.cs index 0abec9c2f65..61b021b5082 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/MyRequest.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/MyRequest.cs @@ -1,7 +1,5 @@ using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public record MyRequest diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/WithContentTypeRequest.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/WithContentTypeRequest.cs index 5b74237c2ae..39f016d3fd4 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/WithContentTypeRequest.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Requests/WithContentTypeRequest.cs @@ -1,7 +1,5 @@ using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public record WithContentTypeRequest diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/ServiceClient.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/ServiceClient.cs index 6fd10dce8df..343773a36fb 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/ServiceClient.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public partial class ServiceClient @@ -22,16 +20,18 @@ public async Task PostAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -50,16 +50,18 @@ public async Task JustFileAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/just-file", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/just-file", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -90,17 +92,19 @@ public async Task JustFileWithQueryParamsAsync( { _query["maybeInteger"] = request.MaybeInteger.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/just-file-with-query-params", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/just-file-with-query-params", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -119,16 +123,18 @@ public async Task WithContentTypeAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/with-content-type", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/with-content-type", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/MyObject.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/MyObject.cs index 8f7f94be6a2..59308874d86 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/MyObject.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/MyObject.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; public record MyObject diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/ObjectType.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/ObjectType.cs index 30daf94aee8..5f4097b92ea 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/ObjectType.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Service/Types/ObjectType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedFileUpload.Core; -#nullable enable - namespace SeedFileUpload; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/folders/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs index 564aee6a060..6bf4f545127 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/EndpointTest.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/EndpointTest.cs index b12b35e1c9c..ed82a3c67b4 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/EndpointTest.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/EndpointTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/FooTest.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/FooTest.cs index ad02b9d0a80..2b6ed93cf9b 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/FooTest.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/FooTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/UnknownRequestTest.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/UnknownRequestTest.cs index 5f6e9d10558..5db56316961 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/UnknownRequestTest.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/Unit/MockServer/UnknownRequestTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/folders/src/SeedApi/A/AClient.cs b/seed/csharp-sdk/folders/src/SeedApi/A/AClient.cs index 3297b2881db..8bcc9f71a48 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/A/AClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/A/AClient.cs @@ -3,8 +3,6 @@ using SeedApi.A.D; using SeedApi.Core; -#nullable enable - namespace SeedApi.A; public partial class AClient diff --git a/seed/csharp-sdk/folders/src/SeedApi/A/B/BClient.cs b/seed/csharp-sdk/folders/src/SeedApi/A/B/BClient.cs index 8f42cfa4ee8..9040d890659 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/A/B/BClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/A/B/BClient.cs @@ -4,8 +4,6 @@ using SeedApi; using SeedApi.Core; -#nullable enable - namespace SeedApi.A.B; public partial class BClient @@ -27,16 +25,18 @@ public async Task FooAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/folders/src/SeedApi/A/C/CClient.cs b/seed/csharp-sdk/folders/src/SeedApi/A/C/CClient.cs index 41eae261939..27fb074768b 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/A/C/CClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/A/C/CClient.cs @@ -4,8 +4,6 @@ using SeedApi; using SeedApi.Core; -#nullable enable - namespace SeedApi.A.C; public partial class CClient @@ -27,16 +25,18 @@ public async Task FooAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/folders/src/SeedApi/A/D/DClient.cs b/seed/csharp-sdk/folders/src/SeedApi/A/D/DClient.cs index 7af1066a72c..9ae21535d9a 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/A/D/DClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/A/D/DClient.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi.A.D; public partial class DClient diff --git a/seed/csharp-sdk/folders/src/SeedApi/A/D/Types/TypesClient.cs b/seed/csharp-sdk/folders/src/SeedApi/A/D/Types/TypesClient.cs index f3e8ee56470..1e9144cb1e2 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/A/D/Types/TypesClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/A/D/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi.A.D; public partial class TypesClient diff --git a/seed/csharp-sdk/folders/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/folders/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/folders/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/folders/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/folders/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/folders/src/SeedApi/Core/Public/ClientOptions.cs index f20d80e0f4b..271bd19ea9a 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/folders/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/folders/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/folders/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/folders/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs index 0f8bfd7c7ca..846da19984b 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/folders/src/SeedApi/Folder/FolderClient.cs b/seed/csharp-sdk/folders/src/SeedApi/Folder/FolderClient.cs index 9aa70bb1381..65ba8276dae 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Folder/FolderClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Folder/FolderClient.cs @@ -4,8 +4,6 @@ using SeedApi; using SeedApi.Core; -#nullable enable - namespace SeedApi.Folder; public partial class FolderClient @@ -30,16 +28,18 @@ public async Task FooAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/Exceptions/NotFoundError.cs b/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/Exceptions/NotFoundError.cs index f8e4324591b..62700539863 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/Exceptions/NotFoundError.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/Exceptions/NotFoundError.cs @@ -1,7 +1,5 @@ using SeedApi; -#nullable enable - namespace SeedApi.Folder; /// diff --git a/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/ServiceClient.cs b/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/ServiceClient.cs index c60b1ca9e1f..1b5f489c7e1 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/ServiceClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Folder/Service/ServiceClient.cs @@ -5,8 +5,6 @@ using SeedApi; using SeedApi.Core; -#nullable enable - namespace SeedApi.Folder; public partial class ServiceClient @@ -28,16 +26,18 @@ public async Task EndpointAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/service", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/service", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -63,17 +63,19 @@ public async Task UnknownRequestAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/service", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/service", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/folders/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/folders/src/SeedApi/SeedApiClient.cs index 21910d53664..dcba99a8062 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/SeedApiClient.cs @@ -5,13 +5,11 @@ using SeedApi.Core; using SeedApi.Folder; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(ClientOptions? clientOptions = null) { @@ -51,16 +49,18 @@ public async Task FooAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs index 05021088ba4..3c06d160a91 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedIdempotencyHeaders.Core; -namespace SeedIdempotencyHeaders.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedIdempotencyHeaders.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs index 645610bfa0e..7f24fc6232f 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedIdempotencyHeaders.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedIdempotencyHeaders.Test.Core +namespace SeedIdempotencyHeaders.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj index 3178b30c679..35be81f4ad5 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/SeedIdempotencyHeaders.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/TestClient.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/TestClient.cs index cd7dda17fe5..938fdf23846 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/TestClient.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedIdempotencyHeaders.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/BaseMockServerTest.cs index f9a8ccaa86d..84cbb9e2815 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedIdempotencyHeaders.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/CreateTest.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/CreateTest.cs index 57fc5acbc6e..fb2578c7264 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/CreateTest.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/CreateTest.cs @@ -5,8 +5,6 @@ using SeedIdempotencyHeaders; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/DeleteTest.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/DeleteTest.cs index 2ab23577035..e867409b6e6 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/DeleteTest.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Unit/MockServer/DeleteTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedIdempotencyHeaders.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs index a7c1a780e58..baf731238d8 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/IRequestOptions.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/IRequestOptions.cs index 51dabf86814..5a4f9819fb5 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedIdempotencyHeaders.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/ClientOptions.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/ClientOptions.cs index ed045e48df9..e04c779a8ae 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; public partial class ClientOptions diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/IdempotentRequestOptions.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/IdempotentRequestOptions.cs index 6a8002a2574..89fa9a0d870 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/IdempotentRequestOptions.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/IdempotentRequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; public partial class IdempotentRequestOptions : IIdempotentRequestOptions diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/RequestOptions.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/RequestOptions.cs index 251441ef812..f158cfef706 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/SeedIdempotencyHeadersException.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/SeedIdempotencyHeadersException.cs index 6cc1ddb3dfa..5feeeaa5b50 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/SeedIdempotencyHeadersException.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/Public/SeedIdempotencyHeadersException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedIdempotencyHeaders; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedIdempotencyHeadersException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs index ffe409c3fda..e033a81904a 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedIdempotencyHeaders.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/PaymentClient.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/PaymentClient.cs index 96e9cb2cd32..08236a2700e 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/PaymentClient.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/PaymentClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; public partial class PaymentClient @@ -28,17 +26,19 @@ public async Task CreateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/payment", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/payment", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -70,16 +70,18 @@ public async Task DeleteAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = $"/payment/{paymentId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = $"/payment/{paymentId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Requests/CreatePaymentRequest.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Requests/CreatePaymentRequest.cs index 5c61253e619..8ac4256c709 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Requests/CreatePaymentRequest.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Requests/CreatePaymentRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; public record CreatePaymentRequest diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Types/Currency.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Types/Currency.cs index e1e940df051..26a9a122e7a 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Types/Currency.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Payment/Types/Currency.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/SeedIdempotencyHeadersClient.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/SeedIdempotencyHeadersClient.cs index ff8268598e5..9af6b8096bb 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/SeedIdempotencyHeadersClient.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/SeedIdempotencyHeadersClient.cs @@ -1,12 +1,10 @@ using SeedIdempotencyHeaders.Core; -#nullable enable - namespace SeedIdempotencyHeaders; public partial class SeedIdempotencyHeadersClient { - private RawClient _client; + private readonly RawClient _client; public SeedIdempotencyHeadersClient(string? token = null, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs index a332eb4c2f4..26ea631bf03 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs index c9f57a386fb..e53f16a9b3d 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs @@ -5,8 +5,6 @@ using SeedApi; using SeedApi.Core; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs index beb63458583..b5d6b9e352b 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedApi.Core; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/ClientOptions.cs index f20d80e0f4b..271bd19ea9a 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/CustomException.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/CustomException.cs index b4b89753efa..c03eb061518 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/CustomException.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/CustomException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class CustomException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs index 0f8bfd7c7ca..846da19984b 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs index 3e938586bad..f737b66fe1b 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ImdbClient @@ -30,17 +28,19 @@ public async Task CreateMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/movies/create-movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/movies/create-movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -72,16 +72,18 @@ public async Task GetMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/movies/{movieId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/movies/{movieId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/CreateMovieRequest.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/CreateMovieRequest.cs index 2bd982a277a..c4bb4e63947 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/CreateMovieRequest.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/CreateMovieRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record CreateMovieRequest diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/Movie.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/Movie.cs index 1a91c457a43..44a7229f593 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/Movie.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/Types/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Movie diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/SeedApiClient.cs index 7d47ea3d42e..d8dd560e314 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/SeedApiClient.cs @@ -1,12 +1,10 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(string token, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs index a332eb4c2f4..26ea631bf03 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs index c9f57a386fb..e53f16a9b3d 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs @@ -5,8 +5,6 @@ using SeedApi; using SeedApi.Core; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs index beb63458583..b5d6b9e352b 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedApi.Core; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/ClientOptions.cs index f20d80e0f4b..271bd19ea9a 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs index 0f8bfd7c7ca..846da19984b 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs index 159478f39cb..5540ece0c41 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ImdbClient @@ -30,17 +28,19 @@ public async Task CreateMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/movies/create-movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/movies/create-movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -72,16 +72,18 @@ public async Task GetMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/movies/{movieId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/movies/{movieId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/CreateMovieRequest.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/CreateMovieRequest.cs index 2bd982a277a..c4bb4e63947 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/CreateMovieRequest.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/CreateMovieRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record CreateMovieRequest diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/Movie.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/Movie.cs index 1a91c457a43..44a7229f593 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/Movie.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/Types/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Movie diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/SeedApiClient.cs index 7d47ea3d42e..d8dd560e314 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/SeedApiClient.cs @@ -1,12 +1,10 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(string token, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs index a332eb4c2f4..26ea631bf03 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs index c9f57a386fb..e53f16a9b3d 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/CreateMovieTest.cs @@ -5,8 +5,6 @@ using SeedApi; using SeedApi.Core; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs index beb63458583..b5d6b9e352b 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Unit/MockServer/GetMovieTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedApi.Core; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/ClientOptions.cs index f20d80e0f4b..271bd19ea9a 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs index 0f8bfd7c7ca..846da19984b 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs index 159478f39cb..5540ece0c41 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ImdbClient @@ -30,17 +28,19 @@ public async Task CreateMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/movies/create-movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/movies/create-movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -72,16 +72,18 @@ public async Task GetMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/movies/{movieId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/movies/{movieId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/CreateMovieRequest.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/CreateMovieRequest.cs index 2bd982a277a..c4bb4e63947 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/CreateMovieRequest.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/CreateMovieRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record CreateMovieRequest diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/Movie.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/Movie.cs index 1a91c457a43..44a7229f593 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/Movie.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/Types/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Movie diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/SeedApiClient.cs index 7d47ea3d42e..d8dd560e314 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/SeedApiClient.cs @@ -1,12 +1,10 @@ using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(string token, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs index 95eb4f28c3e..2545c03f5ff 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedLicense.Core; -namespace SeedLicense.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedLicense.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs index a75431da3b2..134b6fed85e 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedLicense.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedLicense.Test.Core +namespace SeedLicense.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/SeedLicense.Test.csproj b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/SeedLicense.Test.csproj index 48c2149242c..e823326875e 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/SeedLicense.Test.csproj +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/SeedLicense.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/TestClient.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/TestClient.cs index 8ab8bbf73a3..5460821c9b3 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/TestClient.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedLicense.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs index 348ab3eb0c0..7a01fedca28 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedLicense.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs index c8677b0c5a5..31278c3a0a8 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedLicense.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/CollectionItemSerializer.cs index 0f6f15a62e9..12494d8b316 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/IRequestOptions.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/IRequestOptions.cs index 6f0a9e05681..b090011d65f 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedLicense.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/ClientOptions.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/ClientOptions.cs index 275b97fbe2b..c6ef826bb2c 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public partial class ClientOptions diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/RequestOptions.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/RequestOptions.cs index 190762f98a6..ad9921502ea 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/SeedLicenseException.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/SeedLicenseException.cs index b22cd3584ca..4e238a33646 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/SeedLicenseException.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/Public/SeedLicenseException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedLicense; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedLicenseException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs index 10b98253cf1..ebb3564e7db 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedLicense.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/SeedLicenseClient.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/SeedLicenseClient.cs index 46995523606..b0088ead2f5 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/SeedLicenseClient.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/SeedLicenseClient.cs @@ -3,13 +3,11 @@ using System.Threading.Tasks; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public partial class SeedLicenseClient { - private RawClient _client; + private readonly RawClient _client; public SeedLicenseClient(ClientOptions? clientOptions = null) { @@ -43,16 +41,18 @@ public async Task GetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Types/Type.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Types/Type.cs index 297ed9c7bb8..6a51443c5db 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Types/Type.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Types/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public record Type diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs index 95eb4f28c3e..2545c03f5ff 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedLicense.Core; -namespace SeedLicense.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedLicense.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs index a75431da3b2..134b6fed85e 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedLicense.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedLicense.Test.Core +namespace SeedLicense.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/SeedLicense.Test.csproj b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/SeedLicense.Test.csproj index 48c2149242c..e823326875e 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/SeedLicense.Test.csproj +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/SeedLicense.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/TestClient.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/TestClient.cs index 8ab8bbf73a3..5460821c9b3 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/TestClient.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedLicense.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs index 348ab3eb0c0..7a01fedca28 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedLicense.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs index c8677b0c5a5..31278c3a0a8 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Unit/MockServer/GetTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedLicense.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/CollectionItemSerializer.cs index 0f6f15a62e9..12494d8b316 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/IRequestOptions.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/IRequestOptions.cs index 6f0a9e05681..b090011d65f 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedLicense.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/ClientOptions.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/ClientOptions.cs index 275b97fbe2b..c6ef826bb2c 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public partial class ClientOptions diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/RequestOptions.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/RequestOptions.cs index 190762f98a6..ad9921502ea 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/SeedLicenseException.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/SeedLicenseException.cs index b22cd3584ca..4e238a33646 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/SeedLicenseException.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/Public/SeedLicenseException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedLicense; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedLicenseException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs index 10b98253cf1..ebb3564e7db 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedLicense.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/SeedLicenseClient.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/SeedLicenseClient.cs index 46995523606..b0088ead2f5 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/SeedLicenseClient.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/SeedLicenseClient.cs @@ -3,13 +3,11 @@ using System.Threading.Tasks; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public partial class SeedLicenseClient { - private RawClient _client; + private readonly RawClient _client; public SeedLicenseClient(ClientOptions? clientOptions = null) { @@ -43,16 +41,18 @@ public async Task GetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Types/Type.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Types/Type.cs index 297ed9c7bb8..6a51443c5db 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Types/Type.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Types/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLicense.Core; -#nullable enable - namespace SeedLicense; public record Type diff --git a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs index 591b1211e15..247fefa9aff 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedLiteral.Core; -namespace SeedLiteral.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedLiteral.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs index 1af9633f27a..bbb12b7bf2a 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedLiteral.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedLiteral.Test.Core +namespace SeedLiteral.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj b/seed/csharp-sdk/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj index 9acd0732fca..f30185ff996 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj +++ b/seed/csharp-sdk/literal/src/SeedLiteral.Test/SeedLiteral.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/literal/src/SeedLiteral.Test/TestClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral.Test/TestClient.cs index 27e4e9edbf4..b817e213721 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral.Test/TestClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedLiteral.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/BaseMockServerTest.cs index 12429730b85..1ecce642e13 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedLiteral.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/SendTest.cs b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/SendTest.cs index 5fb40cd82b7..eb04aa015a9 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/SendTest.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Unit/MockServer/SendTest.cs @@ -5,8 +5,6 @@ using SeedLiteral; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs index 28795fa5ec3..ad97a1e8b0d 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Core/IRequestOptions.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Core/IRequestOptions.cs index 6968a8aa717..1634b790492 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedLiteral.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/ClientOptions.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/ClientOptions.cs index 7baec296e10..4d39374ad0b 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class ClientOptions diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/RequestOptions.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/RequestOptions.cs index 4ff8957266f..0992c05886f 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/SeedLiteralException.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/SeedLiteralException.cs index 1829e1ef399..69f068eca1d 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/SeedLiteralException.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Core/Public/SeedLiteralException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedLiteral; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedLiteralException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs index 9628d0d684f..4aedae54d45 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedLiteral.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs index 247e842cf11..e735f6cbbf6 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class HeadersClient @@ -42,18 +40,20 @@ public async Task SendAsync( } ); var requestBody = new Dictionary() { { "query", request.Query } }; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "headers", - Body = requestBody, - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "headers", + Body = requestBody, + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Headers/Requests/SendLiteralsInHeadersRequest.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Headers/Requests/SendLiteralsInHeadersRequest.cs index b159020c46b..33cf6b9027f 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Headers/Requests/SendLiteralsInHeadersRequest.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Headers/Requests/SendLiteralsInHeadersRequest.cs @@ -1,7 +1,5 @@ using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record SendLiteralsInHeadersRequest diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs index 76cd3e30498..3c430a40db6 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class InlinedClient @@ -42,17 +40,19 @@ public async Task SendAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "inlined", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "inlined", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Requests/SendLiteralsInlinedRequest.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Requests/SendLiteralsInlinedRequest.cs index 2067000d071..9e77d525c39 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Requests/SendLiteralsInlinedRequest.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Requests/SendLiteralsInlinedRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record SendLiteralsInlinedRequest diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ANestedLiteral.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ANestedLiteral.cs index c57cc4daa06..b363088db33 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ANestedLiteral.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ANestedLiteral.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record ANestedLiteral diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ATopLevelLiteral.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ATopLevelLiteral.cs index 8076cba7c70..3e7fccecb63 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ATopLevelLiteral.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/Types/ATopLevelLiteral.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record ATopLevelLiteral diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs index 92da52c12da..632cd8c39a9 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class PathClient @@ -27,16 +25,18 @@ public async Task SendAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"path/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"path/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs index 5c3b07a19a9..ba1a187d6ca 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class QueryClient @@ -64,17 +62,19 @@ public async Task SendAsync( request.AliasOptionalStream.Value ); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "query", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "query", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Query/Requests/SendLiteralsInQueryRequest.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Query/Requests/SendLiteralsInQueryRequest.cs index daf132ca702..23e3b92a067 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Query/Requests/SendLiteralsInQueryRequest.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Query/Requests/SendLiteralsInQueryRequest.cs @@ -1,7 +1,5 @@ using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record SendLiteralsInQueryRequest diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs index faaa3a6c7ee..95f32636077 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class ReferenceClient @@ -47,17 +45,19 @@ public async Task SendAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "reference", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "reference", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/ContainerObject.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/ContainerObject.cs index 48b753397b7..b152fd23461 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/ContainerObject.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/ContainerObject.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record ContainerObject diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/NestedObjectWithLiterals.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/NestedObjectWithLiterals.cs index 500d0c030d6..9d68eb6a26c 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/NestedObjectWithLiterals.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/NestedObjectWithLiterals.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record NestedObjectWithLiterals diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/SendRequest.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/SendRequest.cs index db8b1d39d79..56e609ab0ba 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/SendRequest.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/Types/SendRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record SendRequest diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/SeedLiteralClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/SeedLiteralClient.cs index 3dfb2ca9b5b..18694eac5a2 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/SeedLiteralClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/SeedLiteralClient.cs @@ -1,12 +1,10 @@ using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public partial class SeedLiteralClient { - private RawClient _client; + private readonly RawClient _client; public SeedLiteralClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Types/SendResponse.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Types/SendResponse.cs index 55cf4340438..47ad6aa086d 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Types/SendResponse.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Types/SendResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedLiteral.Core; -#nullable enable - namespace SeedLiteral; public record SendResponse diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs index 387a195f32b..e48de8dd380 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMixedCase.Core; -namespace SeedMixedCase.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMixedCase.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs index 6979aab589f..d92676872f7 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedMixedCase.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedMixedCase.Test.Core +namespace SeedMixedCase.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj index 0cd79747a61..07c21b28922 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/SeedMixedCase.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/TestClient.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/TestClient.cs index 7ee0a7043c7..6eb774148f7 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/TestClient.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedMixedCase.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/NestedUserTest.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/NestedUserTest.cs index 07e4252c7af..f46c5c8b46a 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/NestedUserTest.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/NestedUserTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedMixedCase; -#nullable enable - namespace SeedMixedCase.Test; [TestFixture] diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/OrganizationTest.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/OrganizationTest.cs index 0ea646904d5..3bad096b92b 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/OrganizationTest.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/OrganizationTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedMixedCase; -#nullable enable - namespace SeedMixedCase.Test; [TestFixture] diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/UserTest.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/UserTest.cs index 67a9e6bbc7f..5213ff76c5f 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/UserTest.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Unit/Serialization/UserTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedMixedCase; -#nullable enable - namespace SeedMixedCase.Test; [TestFixture] diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs index 71ca866a503..fa05e3c02c8 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/IRequestOptions.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/IRequestOptions.cs index 68b672d474d..63b9b3e5ec1 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedMixedCase.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/ClientOptions.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/ClientOptions.cs index 313d60e300f..f8296af768b 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public partial class ClientOptions diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/RequestOptions.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/RequestOptions.cs index 4f80e9fef44..f513f9690f5 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/SeedMixedCaseException.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/SeedMixedCaseException.cs index d3059dfe1af..d9c69aa96b1 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/SeedMixedCaseException.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/Public/SeedMixedCaseException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedMixedCase; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedMixedCaseException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs index 699ab6ebcd9..13ea14f0cb2 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedMixedCase.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/SeedMixedCaseClient.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/SeedMixedCaseClient.cs index 4695aff1208..d5194d59450 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/SeedMixedCaseClient.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/SeedMixedCaseClient.cs @@ -1,12 +1,10 @@ using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public partial class SeedMixedCaseClient { - private RawClient _client; + private readonly RawClient _client; public SeedMixedCaseClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Requests/ListResourcesRequest.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Requests/ListResourcesRequest.cs index 972c9f9dcc3..4dd8f5af3e6 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Requests/ListResourcesRequest.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Requests/ListResourcesRequest.cs @@ -1,7 +1,5 @@ using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public record ListResourcesRequest diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs index 9bc1a605fa8..8ea2a30dd23 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task GetResourceAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/resource/{resourceId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/resource/{resourceId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -73,17 +73,19 @@ public async Task> ListResourcesAsync( var _query = new Dictionary(); _query["page_limit"] = request.PageLimit.ToString(); _query["beforeDate"] = request.BeforeDate.ToString(Constants.DateFormat); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/resource", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/resource", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/NestedUser.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/NestedUser.cs index d108cacb7aa..c3c29dba105 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/NestedUser.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/NestedUser.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public record NestedUser diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/Organization.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/Organization.cs index 74fcf40f860..fefb2c9f172 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/Organization.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/Organization.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public record Organization diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/ResourceStatus.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/ResourceStatus.cs index d55d0347f4c..9754dcf2f66 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/ResourceStatus.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/ResourceStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/User.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/User.cs index c9cebe371a9..c458961ba0f 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/User.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedCase.Core; -#nullable enable - namespace SeedMixedCase; public record User diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs index e866b8cf17c..6bca383f0cb 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMixedFileDirectory.Core; -namespace SeedMixedFileDirectory.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMixedFileDirectory.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs index baae38a585b..c95ad00cb2c 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedMixedFileDirectory.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedMixedFileDirectory.Test.Core +namespace SeedMixedFileDirectory.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj index e2d88fb3556..f3420efd113 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/SeedMixedFileDirectory.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/TestClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/TestClient.cs index e0dc80aad9f..ce4daaedfd2 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/TestClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedMixedFileDirectory.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/BaseMockServerTest.cs index b53508997cc..a388a8910d8 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedMixedFileDirectory.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/CreateTest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/CreateTest.cs index ddc64819350..b38199e75d7 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/CreateTest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/CreateTest.cs @@ -5,8 +5,6 @@ using SeedMixedFileDirectory; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/GetMetadataTest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/GetMetadataTest.cs index a8ceb6a0063..06e6a7c5d25 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/GetMetadataTest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/GetMetadataTest.cs @@ -5,8 +5,6 @@ using SeedMixedFileDirectory.Core; using SeedMixedFileDirectory.User.Events; -#nullable enable - namespace SeedMixedFileDirectory.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListEventsTest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListEventsTest.cs index 66ce0e2c1cf..06f5202c337 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListEventsTest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListEventsTest.cs @@ -5,8 +5,6 @@ using SeedMixedFileDirectory.Core; using SeedMixedFileDirectory.User; -#nullable enable - namespace SeedMixedFileDirectory.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListTest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListTest.cs index b349eae73f7..7235b105a8b 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListTest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Unit/MockServer/ListTest.cs @@ -5,8 +5,6 @@ using SeedMixedFileDirectory; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs index 87d4d84d1dc..2d32568274e 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/IRequestOptions.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/IRequestOptions.cs index a649f5843c0..ba345fe83bb 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedMixedFileDirectory.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/ClientOptions.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/ClientOptions.cs index 68b0f0f8877..a8aa08ff061 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public partial class ClientOptions diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/RequestOptions.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/RequestOptions.cs index 7f09dde282a..8eca63d045e 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/SeedMixedFileDirectoryException.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/SeedMixedFileDirectoryException.cs index 8125dc04369..1fa37fea775 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/SeedMixedFileDirectoryException.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/Public/SeedMixedFileDirectoryException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedMixedFileDirectory; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedMixedFileDirectoryException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs index f40c30a2447..10ec646e8f3 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedMixedFileDirectory.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs index 73aa0e0eb4f..378a12e3cdf 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public partial class OrganizationClient @@ -30,17 +28,19 @@ public async Task CreateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/organizations/", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/organizations/", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/CreateOrganizationRequest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/CreateOrganizationRequest.cs index 4fcaa5582cd..e9692f55626 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/CreateOrganizationRequest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/CreateOrganizationRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public record CreateOrganizationRequest diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/Organization.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/Organization.cs index 0c84627921c..a942e949ada 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/Organization.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/Types/Organization.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public record Organization diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/SeedMixedFileDirectoryClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/SeedMixedFileDirectoryClient.cs index 8f365b0064e..df1e8e317b4 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/SeedMixedFileDirectoryClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/SeedMixedFileDirectoryClient.cs @@ -1,12 +1,10 @@ using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public partial class SeedMixedFileDirectoryClient { - private RawClient _client; + private readonly RawClient _client; public SeedMixedFileDirectoryClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs index 37d660ba213..41a7dbc774f 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs @@ -5,8 +5,6 @@ using SeedMixedFileDirectory.Core; using SeedMixedFileDirectory.User.Events; -#nullable enable - namespace SeedMixedFileDirectory.User; public partial class EventsClient @@ -40,17 +38,19 @@ public async Task> ListEventsAsync( { _query["limit"] = request.Limit.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users/events/", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users/events/", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs index d4c4c21ec85..c3e85b8f735 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs @@ -4,8 +4,6 @@ using SeedMixedFileDirectory; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.User.Events; public partial class MetadataClient @@ -33,17 +31,19 @@ public async Task GetMetadataAsync( { var _query = new Dictionary(); _query["id"] = request.Id; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users/events/metadata/", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users/events/metadata/", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Requests/GetEventMetadataRequest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Requests/GetEventMetadataRequest.cs index 99b53cb4d15..b6236aa9bf0 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Requests/GetEventMetadataRequest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Requests/GetEventMetadataRequest.cs @@ -1,7 +1,5 @@ using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.User.Events; public record GetEventMetadataRequest diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Types/Metadata.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Types/Metadata.cs index 4529e495f9c..c6447e75678 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Types/Metadata.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/Types/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.User.Events; public record Metadata diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Requests/ListUserEventsRequest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Requests/ListUserEventsRequest.cs index 53ce12c4576..9f9338c2bba 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Requests/ListUserEventsRequest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Requests/ListUserEventsRequest.cs @@ -1,7 +1,5 @@ using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.User; public record ListUserEventsRequest diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Types/Event.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Types/Event.cs index d66c4e6434a..d612256c8aa 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Types/Event.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Types/Event.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory.User; public record Event diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Requests/ListUsersRequest.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Requests/ListUsersRequest.cs index e517db0f7c4..5ddeb28d6db 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Requests/ListUsersRequest.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Requests/ListUsersRequest.cs @@ -1,7 +1,5 @@ using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public record ListUsersRequest diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Types/User.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Types/User.cs index fa1e2e3a9b5..16f5738ddc0 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Types/User.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMixedFileDirectory.Core; -#nullable enable - namespace SeedMixedFileDirectory; public record User diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs index 06cf87c21f2..518dcd3d297 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs @@ -4,8 +4,6 @@ using SeedMixedFileDirectory.Core; using SeedMixedFileDirectory.User; -#nullable enable - namespace SeedMixedFileDirectory; public partial class UserClient @@ -39,17 +37,19 @@ public async Task> ListAsync( { _query["limit"] = request.Limit.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users/", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users/", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs index 2bd23e45c15..accf406a588 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMultiLineDocs.Core; -namespace SeedMultiLineDocs.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMultiLineDocs.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs index 1aaa5b89861..5312af6ebf8 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedMultiLineDocs.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedMultiLineDocs.Test.Core +namespace SeedMultiLineDocs.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj index 3c47b405159..3c647e7cd2f 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/SeedMultiLineDocs.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/TestClient.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/TestClient.cs index fa3b6f5adb1..cb425665dd3 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/TestClient.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedMultiLineDocs.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/BaseMockServerTest.cs index ba19ac81d8f..aba6f9d418b 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedMultiLineDocs.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/CreateUserTest.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/CreateUserTest.cs index 8d6567f2618..538fae4267e 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/CreateUserTest.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/CreateUserTest.cs @@ -5,8 +5,6 @@ using SeedMultiLineDocs; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/GetUserTest.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/GetUserTest.cs index c5ea51bd313..5b6e6d2cd2d 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/GetUserTest.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Unit/MockServer/GetUserTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedMultiLineDocs.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs index d080c3b8f55..4e659061c66 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/IRequestOptions.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/IRequestOptions.cs index 90e7bc5c93d..cc3e84f72d0 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedMultiLineDocs.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/ClientOptions.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/ClientOptions.cs index bdadd7241a0..92061992170 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; public partial class ClientOptions diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/RequestOptions.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/RequestOptions.cs index 66ed45c0f63..e5906d4b4db 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/SeedMultiLineDocsException.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/SeedMultiLineDocsException.cs index aabca190dae..38822642f0a 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/SeedMultiLineDocsException.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/Public/SeedMultiLineDocsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedMultiLineDocs; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedMultiLineDocsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs index 6d0a99600a5..ec4a8af8ffd 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedMultiLineDocs.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/SeedMultiLineDocsClient.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/SeedMultiLineDocsClient.cs index 6a320de7866..b2cb4a9c5d9 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/SeedMultiLineDocsClient.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/SeedMultiLineDocsClient.cs @@ -1,12 +1,10 @@ using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; public partial class SeedMultiLineDocsClient { - private RawClient _client; + private readonly RawClient _client; public SeedMultiLineDocsClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Types/Operand.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Types/Operand.cs index 5630c87b6f2..e7c4af1dadc 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Types/Operand.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Types/Operand.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Requests/CreateUserRequest.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Requests/CreateUserRequest.cs index 113d849097f..bfa5f7dac26 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Requests/CreateUserRequest.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Requests/CreateUserRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; public record CreateUserRequest diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Types/User.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Types/User.cs index 1e81060419f..d96bbaebca5 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Types/User.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; public record User diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/UserClient.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/UserClient.cs index e344de9c75a..a864b9be4db 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/UserClient.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/User/UserClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedMultiLineDocs.Core; -#nullable enable - namespace SeedMultiLineDocs; public partial class UserClient @@ -32,16 +30,18 @@ public async Task GetUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"users/{userId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"users/{userId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -69,17 +69,19 @@ public async Task CreateUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "users", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "users", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs index 77b2aa5e0f7..7baa875ea34 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMultiUrlEnvironmentNoDefault.Core; -namespace SeedMultiUrlEnvironmentNoDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMultiUrlEnvironmentNoDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs index 9cc3346747f..79359259208 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedMultiUrlEnvironmentNoDefault.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedMultiUrlEnvironmentNoDefault.Test.Core +namespace SeedMultiUrlEnvironmentNoDefault.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj index f2a46ae0ca2..ac12dbc3878 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/SeedMultiUrlEnvironmentNoDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/TestClient.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/TestClient.cs index f0f8288cf50..ad77c7c5fa4 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/TestClient.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs index 93c7c129de2..463ccf3cf33 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/IRequestOptions.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/IRequestOptions.cs index f9c47e3d62e..71e5d1858fb 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs index 584e2400381..676d906fbb4 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; public partial class ClientOptions diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs index bf9b4c7138f..1e72f86d87f 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultEnvironment.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultEnvironment.cs index d30c9d74c96..5cf9c20f50f 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultEnvironment.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultEnvironment.cs @@ -2,14 +2,14 @@ namespace SeedMultiUrlEnvironmentNoDefault; public class SeedMultiUrlEnvironmentNoDefaultEnvironment { - public static SeedMultiUrlEnvironmentNoDefaultEnvironment Production = + public static readonly SeedMultiUrlEnvironmentNoDefaultEnvironment Production = new SeedMultiUrlEnvironmentNoDefaultEnvironment { Ec2 = "https://ec2.aws.com", S3 = "https://s3.aws.com", }; - public static SeedMultiUrlEnvironmentNoDefaultEnvironment Staging = + public static readonly SeedMultiUrlEnvironmentNoDefaultEnvironment Staging = new SeedMultiUrlEnvironmentNoDefaultEnvironment { Ec2 = "https://staging.ec2.aws.com", diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultException.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultException.cs index 918ee22ea22..53582bc1157 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultException.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/Public/SeedMultiUrlEnvironmentNoDefaultException.cs @@ -1,7 +1,5 @@ using System; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; /// @@ -10,4 +8,4 @@ namespace SeedMultiUrlEnvironmentNoDefault; public class SeedMultiUrlEnvironmentNoDefaultException( string message, Exception? innerException = null -) : Exception(message, innerException) { } +) : Exception(message, innerException); diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs index 8fa7f6413a3..09d7c7825fe 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Ec2Client.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Ec2Client.cs index 54d4292eaa9..b1115dbc0e3 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Ec2Client.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Ec2Client.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; public partial class Ec2Client @@ -27,17 +25,19 @@ public async Task BootInstanceAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.Environment.Ec2, - Method = HttpMethod.Post, - Path = "/ec2/boot", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.Environment.Ec2, + Method = HttpMethod.Post, + Path = "/ec2/boot", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Requests/BootInstanceRequest.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Requests/BootInstanceRequest.cs index 482b9396ffd..f70a6f20df4 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Requests/BootInstanceRequest.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Ec2/Requests/BootInstanceRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; public record BootInstanceRequest diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/Requests/GetPresignedUrlRequest.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/Requests/GetPresignedUrlRequest.cs index 536a06fd612..f512ba9e1e1 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/Requests/GetPresignedUrlRequest.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/Requests/GetPresignedUrlRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; public record GetPresignedUrlRequest diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs index f9c8b66b174..9a03f1d8ae7 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; public partial class S3Client @@ -27,17 +25,19 @@ public async Task GetPresignedUrlAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.Environment.S3, - Method = HttpMethod.Post, - Path = "/s3/presigned-url", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.Environment.S3, + Method = HttpMethod.Post, + Path = "/s3/presigned-url", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/SeedMultiUrlEnvironmentNoDefaultClient.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/SeedMultiUrlEnvironmentNoDefaultClient.cs index ce3b98116e6..72ae7fbcea9 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/SeedMultiUrlEnvironmentNoDefaultClient.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/SeedMultiUrlEnvironmentNoDefaultClient.cs @@ -1,12 +1,10 @@ using SeedMultiUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedMultiUrlEnvironmentNoDefault; public partial class SeedMultiUrlEnvironmentNoDefaultClient { - private RawClient _client; + private readonly RawClient _client; public SeedMultiUrlEnvironmentNoDefaultClient( string? token = null, diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs index 776e5e0e276..5dfdfbbc7b9 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedMultiUrlEnvironment.Core; -namespace SeedMultiUrlEnvironment.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedMultiUrlEnvironment.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs index 195af73f8bc..8c97cde9b14 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedMultiUrlEnvironment.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedMultiUrlEnvironment.Test.Core +namespace SeedMultiUrlEnvironment.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj index 7ae35da5d41..7ffb55032c2 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/SeedMultiUrlEnvironment.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/TestClient.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/TestClient.cs index 39eb470be21..7c75180081c 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/TestClient.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedMultiUrlEnvironment.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs index 755b03129f2..88f62893531 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedMultiUrlEnvironment.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BootInstanceTest.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BootInstanceTest.cs index 65e5056cbc5..bb026dbdbbb 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BootInstanceTest.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/BootInstanceTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedMultiUrlEnvironment; -#nullable enable - namespace SeedMultiUrlEnvironment.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/GetPresignedUrlTest.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/GetPresignedUrlTest.cs index 7dce2f05cd6..eea8462d248 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/GetPresignedUrlTest.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Unit/MockServer/GetPresignedUrlTest.cs @@ -5,8 +5,6 @@ using SeedMultiUrlEnvironment; using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs index d93c631e545..cbf6e4e79bd 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/IRequestOptions.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/IRequestOptions.cs index 7d1de754f4e..5119671fa56 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedMultiUrlEnvironment.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/ClientOptions.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/ClientOptions.cs index b007873ece6..f3ef739b248 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment; public partial class ClientOptions diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/RequestOptions.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/RequestOptions.cs index b654da42d34..608688ae852 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentEnvironment.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentEnvironment.cs index 9530faa29d1..ac01012bc4d 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentEnvironment.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentEnvironment.cs @@ -2,14 +2,14 @@ namespace SeedMultiUrlEnvironment; public class SeedMultiUrlEnvironmentEnvironment { - public static SeedMultiUrlEnvironmentEnvironment PRODUCTION = + public static readonly SeedMultiUrlEnvironmentEnvironment PRODUCTION = new SeedMultiUrlEnvironmentEnvironment { Ec2 = "https://ec2.aws.com", S3 = "https://s3.aws.com", }; - public static SeedMultiUrlEnvironmentEnvironment STAGING = + public static readonly SeedMultiUrlEnvironmentEnvironment STAGING = new SeedMultiUrlEnvironmentEnvironment { Ec2 = "https://staging.ec2.aws.com", diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentException.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentException.cs index e539c283809..6095d22f20f 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentException.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/Public/SeedMultiUrlEnvironmentException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedMultiUrlEnvironment; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedMultiUrlEnvironmentException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs index 9f23361874f..edbee7489fc 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedMultiUrlEnvironment.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Ec2Client.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Ec2Client.cs index f34579c142d..fda322a2407 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Ec2Client.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Ec2Client.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment; public partial class Ec2Client @@ -27,17 +25,19 @@ public async Task BootInstanceAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.Environment.Ec2, - Method = HttpMethod.Post, - Path = "/ec2/boot", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.Environment.Ec2, + Method = HttpMethod.Post, + Path = "/ec2/boot", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Requests/BootInstanceRequest.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Requests/BootInstanceRequest.cs index 97b9863f6b2..e7a951a091c 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Requests/BootInstanceRequest.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Ec2/Requests/BootInstanceRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment; public record BootInstanceRequest diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/Requests/GetPresignedUrlRequest.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/Requests/GetPresignedUrlRequest.cs index 3a9c09c1501..317b1188822 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/Requests/GetPresignedUrlRequest.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/Requests/GetPresignedUrlRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment; public record GetPresignedUrlRequest diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs index cbb05e16bca..9879357981d 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment; public partial class S3Client @@ -27,17 +25,19 @@ public async Task GetPresignedUrlAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.Environment.S3, - Method = HttpMethod.Post, - Path = "/s3/presigned-url", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.Environment.S3, + Method = HttpMethod.Post, + Path = "/s3/presigned-url", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/SeedMultiUrlEnvironmentClient.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/SeedMultiUrlEnvironmentClient.cs index 492594a6f24..d14e3d734aa 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/SeedMultiUrlEnvironmentClient.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/SeedMultiUrlEnvironmentClient.cs @@ -1,12 +1,10 @@ using SeedMultiUrlEnvironment.Core; -#nullable enable - namespace SeedMultiUrlEnvironment; public partial class SeedMultiUrlEnvironmentClient { - private RawClient _client; + private readonly RawClient _client; public SeedMultiUrlEnvironmentClient(string? token = null, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs index 5639b53bf2e..3c0a8008643 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedNoEnvironment.Core; -namespace SeedNoEnvironment.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedNoEnvironment.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs index 9622c1daa3f..6ef92d56f58 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedNoEnvironment.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedNoEnvironment.Test.Core +namespace SeedNoEnvironment.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj index 9c5b00fd83a..2c9146c2f1f 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/SeedNoEnvironment.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/TestClient.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/TestClient.cs index 509fa5c8742..b167e3b3c72 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/TestClient.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedNoEnvironment.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs index 5bc6a6ef893..478f464dfbd 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedNoEnvironment.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/GetDummyTest.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/GetDummyTest.cs index 963afe8b336..1cdb3f5978e 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/GetDummyTest.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Unit/MockServer/GetDummyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedNoEnvironment.Core; -#nullable enable - namespace SeedNoEnvironment.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs index f40cc9ad17e..f64ed9df528 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/IRequestOptions.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/IRequestOptions.cs index 09806ac9311..9fd24d058cb 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedNoEnvironment.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/ClientOptions.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/ClientOptions.cs index 2d2368cb556..a4d537fc524 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedNoEnvironment.Core; -#nullable enable - namespace SeedNoEnvironment; public partial class ClientOptions diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/RequestOptions.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/RequestOptions.cs index 04838e2cc34..70db3aeaaeb 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedNoEnvironment.Core; -#nullable enable - namespace SeedNoEnvironment; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/SeedNoEnvironmentException.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/SeedNoEnvironmentException.cs index cdbe8185108..badae3851d4 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/SeedNoEnvironmentException.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/Public/SeedNoEnvironmentException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedNoEnvironment; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedNoEnvironmentException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs index a33c52e6fed..a1772ee38f3 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedNoEnvironment.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs index 0da5f91e2fe..196319a1437 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedNoEnvironment.Core; -#nullable enable - namespace SeedNoEnvironment; public partial class DummyClient @@ -26,16 +24,18 @@ public async Task GetDummyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "dummy", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "dummy", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/SeedNoEnvironmentClient.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/SeedNoEnvironmentClient.cs index 67e6e59e2e4..806e27ae0b1 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/SeedNoEnvironmentClient.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/SeedNoEnvironmentClient.cs @@ -1,12 +1,10 @@ using SeedNoEnvironment.Core; -#nullable enable - namespace SeedNoEnvironment; public partial class SeedNoEnvironmentClient { - private RawClient _client; + private readonly RawClient _client; public SeedNoEnvironmentClient(string? token = null, ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs index b8ac3f98ad1..3424285fa9c 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedNullable.Core; -namespace SeedNullable.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedNullable.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs index d71f97c8fce..4c0813a3244 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedNullable.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedNullable.Test.Core +namespace SeedNullable.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj b/seed/csharp-sdk/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj index a9388c38f7b..bf6f722a626 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/SeedNullable.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/TestClient.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/TestClient.cs index ae95d64b3c5..7c81f0ff705 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/TestClient.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedNullable.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/BaseMockServerTest.cs index 73442292d8e..7e383c927a4 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedNullable.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/CreateUserTest.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/CreateUserTest.cs index f6ad95c9863..07ea22d9ef6 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/CreateUserTest.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/CreateUserTest.cs @@ -6,8 +6,6 @@ using SeedNullable; using SeedNullable.Core; -#nullable enable - namespace SeedNullable.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/DeleteUserTest.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/DeleteUserTest.cs index 698895f687b..6fa0ab91a9f 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/DeleteUserTest.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/DeleteUserTest.cs @@ -5,8 +5,6 @@ using SeedNullable; using SeedNullable.Core; -#nullable enable - namespace SeedNullable.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/GetUsersTest.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/GetUsersTest.cs index ce9a1d40ad6..fddb97f2273 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/GetUsersTest.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Unit/MockServer/GetUsersTest.cs @@ -5,8 +5,6 @@ using SeedNullable; using SeedNullable.Core; -#nullable enable - namespace SeedNullable.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs index 1d778586517..dc3968ecfea 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Core/IRequestOptions.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Core/IRequestOptions.cs index 31d7b980e1b..327b9f606ea 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedNullable.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/ClientOptions.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/ClientOptions.cs index b2a8cbc1d24..aad0ea697af 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public partial class ClientOptions diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/RequestOptions.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/RequestOptions.cs index 7fa9262a0c9..fc4c0b496ec 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/SeedNullableException.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/SeedNullableException.cs index a4b17f8289e..f968784ca63 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/SeedNullableException.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Core/Public/SeedNullableException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedNullable; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedNullableException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs index 61b183b2ec6..6d1149b3016 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedNullable.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs index 25ced98964b..c7772275f92 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public partial class NullableClient @@ -50,17 +48,19 @@ public async Task> GetUsersAsync( { _query["extra"] = JsonUtils.Serialize(request.Extra.Value); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -106,17 +106,19 @@ public async Task CreateUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/users", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/users", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -148,17 +150,19 @@ public async Task DeleteUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = "/users", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = "/users", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/CreateUserRequest.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/CreateUserRequest.cs index a4b70372eff..9ba242e39c8 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/CreateUserRequest.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/CreateUserRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public record CreateUserRequest diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/DeleteUserRequest.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/DeleteUserRequest.cs index d1e5451b001..997765bd3f8 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/DeleteUserRequest.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/DeleteUserRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public record DeleteUserRequest diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/GetUsersRequest.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/GetUsersRequest.cs index 9988de25b61..971d4769b8e 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/GetUsersRequest.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Requests/GetUsersRequest.cs @@ -1,7 +1,5 @@ using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public record GetUsersRequest diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/Metadata.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/Metadata.cs index cbeb7e43984..d3870f380cd 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/Metadata.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public record Metadata diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/User.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/User.cs index 7c335a024eb..c4bbf613a5d 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/User.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public record User diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/SeedNullableClient.cs b/seed/csharp-sdk/nullable/src/SeedNullable/SeedNullableClient.cs index 0e6fb01ebf6..8e6723397a1 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/SeedNullableClient.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/SeedNullableClient.cs @@ -1,12 +1,10 @@ using SeedNullable.Core; -#nullable enable - namespace SeedNullable; public partial class SeedNullableClient { - private RawClient _client; + private readonly RawClient _client; public SeedNullableClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs index 6f72130b8d7..990fbb3c691 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentials.Core; -namespace SeedOauthClientCredentials.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentials.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs index 895c1667ec1..b16c6710839 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedOauthClientCredentials.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedOauthClientCredentials.Test.Core +namespace SeedOauthClientCredentials.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj index fd48c7fec2f..366ae949533 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/TestClient.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/TestClient.cs index 8cdad1f3979..1970135d572 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/TestClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedOauthClientCredentials.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs index 9e6f8a27c75..753714e1c7d 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs index 5e4a12b8395..e64034e27a9 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentials; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs index c055ec03c78..1595074f0f2 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentials; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs index 6b47f42039d..a0a09214ab8 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class AuthClient @@ -38,17 +36,19 @@ public async Task GetTokenWithClientCredentialsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -90,17 +90,19 @@ public async Task RefreshTokenAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs index e315d27db5f..bb1989dde2b 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record GetTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs index 86d4f36e0e5..aaf74337520 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record RefreshTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs index 6a744cf3571..72c5d2f7159 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record TokenResponse diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs index 511dcc0ba03..293c50235e6 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/IRequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/IRequestOptions.cs index 9f4ffbfc4c7..83514697091 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedOauthClientCredentials.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs index af63c45cc1f..c674898cc4a 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs @@ -1,7 +1,5 @@ using SeedOauthClientCredentials; -#nullable enable - namespace SeedOauthClientCredentials.Core; public partial class OAuthTokenProvider @@ -29,9 +27,11 @@ public async Task GetAccessTokenAsync() { if (_accessToken == null || DateTime.UtcNow >= _expiresAt) { - var tokenResponse = await _client.GetTokenWithClientCredentialsAsync( - new GetTokenRequest { Cid = _clientId, Csr = _clientSecret } - ); + var tokenResponse = await _client + .GetTokenWithClientCredentialsAsync( + new GetTokenRequest { Cid = _clientId, Csr = _clientSecret } + ) + .ConfigureAwait(false); _accessToken = tokenResponse.AccessToken; _expiresAt = DateTime .UtcNow.AddSeconds(tokenResponse.ExpiresIn) diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs index dcbd2a34e8f..2823a74fed5 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class ClientOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs index 9ca1ad9b716..85c849f737c 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs index 2bcbb952043..ab7a90a5181 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedOauthClientCredentials; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedOauthClientCredentialsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs index e0b45fb4450..fd3551fcb9c 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedOauthClientCredentials.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs index f032de79431..322e3e9e43f 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs @@ -1,12 +1,10 @@ using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class SeedOauthClientCredentialsClient { - private RawClient _client; + private readonly RawClient _client; public SeedOauthClientCredentialsClient( string clientId, diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs index 6b0e97c3b29..996501a4cde 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentialsDefault.Core; -namespace SeedOauthClientCredentialsDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentialsDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs index b50fa0718e5..be75b906d68 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedOauthClientCredentialsDefault.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedOauthClientCredentialsDefault.Test.Core +namespace SeedOauthClientCredentialsDefault.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj index 0b8603958fd..5bc814aaac1 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/SeedOauthClientCredentialsDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/TestClient.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/TestClient.cs index e2c1b89860c..42c91e4a564 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/TestClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedOauthClientCredentialsDefault.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/BaseMockServerTest.cs index 0210fce1e60..f4950189e48 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedOauthClientCredentialsDefault.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/GetTokenTest.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/GetTokenTest.cs index 68f74e42128..dd4faf40974 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/GetTokenTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Unit/MockServer/GetTokenTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentialsDefault; using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs index 41dd7c94b74..b293ca91d7e 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault; public partial class AuthClient @@ -34,17 +32,19 @@ public async Task GetTokenAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Requests/GetTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Requests/GetTokenRequest.cs index dfa995e0bba..71b84910f2f 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Requests/GetTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Requests/GetTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault; public record GetTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Types/TokenResponse.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Types/TokenResponse.cs index a97bc757840..7f62fabbb23 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Types/TokenResponse.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/Types/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault; public record TokenResponse diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs index 1026c75040f..2f885f2ad27 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/IRequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/IRequestOptions.cs index 3ef6c51c1f6..72d81a03a86 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedOauthClientCredentialsDefault.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs index e1495406b5f..56ceec6d928 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs @@ -1,7 +1,5 @@ using SeedOauthClientCredentialsDefault; -#nullable enable - namespace SeedOauthClientCredentialsDefault.Core; public partial class OAuthTokenProvider @@ -27,9 +25,11 @@ public async Task GetAccessTokenAsync() { if (_accessToken == null) { - var tokenResponse = await _client.GetTokenAsync( - new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } - ); + var tokenResponse = await _client + .GetTokenAsync( + new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } + ) + .ConfigureAwait(false); _accessToken = tokenResponse.AccessToken; } return $"Bearer {_accessToken}"; diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/ClientOptions.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/ClientOptions.cs index 6fa87350f13..c41f2445326 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault; public partial class ClientOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/RequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/RequestOptions.cs index fbf62f8b9d6..674c9fdf960 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/SeedOauthClientCredentialsDefaultException.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/SeedOauthClientCredentialsDefaultException.cs index 14462420d3d..078ceec5299 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/SeedOauthClientCredentialsDefaultException.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/Public/SeedOauthClientCredentialsDefaultException.cs @@ -1,7 +1,5 @@ using System; -#nullable enable - namespace SeedOauthClientCredentialsDefault; /// @@ -10,4 +8,4 @@ namespace SeedOauthClientCredentialsDefault; public class SeedOauthClientCredentialsDefaultException( string message, Exception? innerException = null -) : Exception(message, innerException) { } +) : Exception(message, innerException); diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs index 933ed4ecdaf..674bbce34f4 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedOauthClientCredentialsDefault.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/SeedOauthClientCredentialsDefaultClient.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/SeedOauthClientCredentialsDefaultClient.cs index ae0ae743120..9c176f0a88d 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/SeedOauthClientCredentialsDefaultClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/SeedOauthClientCredentialsDefaultClient.cs @@ -1,12 +1,10 @@ using SeedOauthClientCredentialsDefault.Core; -#nullable enable - namespace SeedOauthClientCredentialsDefault; public partial class SeedOauthClientCredentialsDefaultClient { - private RawClient _client; + private readonly RawClient _client; public SeedOauthClientCredentialsDefaultClient( string clientId, diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs index fadd40343c1..c1c4461a1cc 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentialsEnvironmentVariables.Core; -namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs index c8a350855b6..304c374dc71 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedOauthClientCredentialsEnvironmentVariables.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Core +namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj index 8b98b4fafd6..3c57d35504c 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/SeedOauthClientCredentialsEnvironmentVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/TestClient.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/TestClient.cs index c2e3cba0451..b5c7cf04f96 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/TestClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs index 1dcea4142f6..5c560d813cf 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs index 3c6eb48952c..d0857b95929 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentialsEnvironmentVariables; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/RefreshTokenTest.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/RefreshTokenTest.cs index 8e61f60eba1..16bd958fec4 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/RefreshTokenTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Unit/MockServer/RefreshTokenTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentialsEnvironmentVariables; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs index 460862f8af8..ba566beb06b 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public partial class AuthClient @@ -36,17 +34,19 @@ public async Task GetTokenWithClientCredentialsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -91,17 +91,19 @@ public async Task RefreshTokenAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/GetTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/GetTokenRequest.cs index d5654c85d81..6e9f174f172 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/GetTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/GetTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public record GetTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/RefreshTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/RefreshTokenRequest.cs index 7fc4fd38e5f..68b08f63883 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/RefreshTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Requests/RefreshTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public record RefreshTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Types/TokenResponse.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Types/TokenResponse.cs index 695c3596871..8a9856c23af 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Types/TokenResponse.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/Types/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public record TokenResponse diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs index 4a85565db19..7d16aa317fd 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/IRequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/IRequestOptions.cs index 2b90a9f1e8f..1fd17c0ea87 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs index d7a7d51cee7..2e4d838f439 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs @@ -1,7 +1,5 @@ using SeedOauthClientCredentialsEnvironmentVariables; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables.Core; public partial class OAuthTokenProvider @@ -29,9 +27,11 @@ public async Task GetAccessTokenAsync() { if (_accessToken == null || DateTime.UtcNow >= _expiresAt) { - var tokenResponse = await _client.GetTokenWithClientCredentialsAsync( - new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } - ); + var tokenResponse = await _client + .GetTokenWithClientCredentialsAsync( + new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } + ) + .ConfigureAwait(false); _accessToken = tokenResponse.AccessToken; _expiresAt = DateTime .UtcNow.AddSeconds(tokenResponse.ExpiresIn) diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/ClientOptions.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/ClientOptions.cs index 0d952a3eb98..198b58763da 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public partial class ClientOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/RequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/RequestOptions.cs index 969c2a1547c..dbe19c0fd1a 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/SeedOauthClientCredentialsEnvironmentVariablesException.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/SeedOauthClientCredentialsEnvironmentVariablesException.cs index 2a257611ac3..92a79f2db3b 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/SeedOauthClientCredentialsEnvironmentVariablesException.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/Public/SeedOauthClientCredentialsEnvironmentVariablesException.cs @@ -1,7 +1,5 @@ using System; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; /// @@ -10,4 +8,4 @@ namespace SeedOauthClientCredentialsEnvironmentVariables; public class SeedOauthClientCredentialsEnvironmentVariablesException( string message, Exception? innerException = null -) : Exception(message, innerException) { } +) : Exception(message, innerException); diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs index 70ebc0678c2..18edc7ac51b 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/SeedOauthClientCredentialsEnvironmentVariablesClient.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/SeedOauthClientCredentialsEnvironmentVariablesClient.cs index 4a05ad8d81c..bd32da483ea 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/SeedOauthClientCredentialsEnvironmentVariablesClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/SeedOauthClientCredentialsEnvironmentVariablesClient.cs @@ -1,12 +1,10 @@ using SeedOauthClientCredentialsEnvironmentVariables.Core; -#nullable enable - namespace SeedOauthClientCredentialsEnvironmentVariables; public partial class SeedOauthClientCredentialsEnvironmentVariablesClient { - private RawClient _client; + private readonly RawClient _client; public SeedOauthClientCredentialsEnvironmentVariablesClient( string? clientId = null, diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs index 6f72130b8d7..990fbb3c691 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentials.Core; -namespace SeedOauthClientCredentials.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentials.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs index 895c1667ec1..b16c6710839 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedOauthClientCredentials.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedOauthClientCredentials.Test.Core +namespace SeedOauthClientCredentials.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj index fd48c7fec2f..366ae949533 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/TestClient.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/TestClient.cs index 8cdad1f3979..1970135d572 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/TestClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedOauthClientCredentials.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs index 9e6f8a27c75..753714e1c7d 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenTest.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenTest.cs index 1c6f068090c..9c70f65b582 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentials.Auth; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs index 244e8c07351..e65fe9f53f2 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs @@ -4,8 +4,6 @@ using SeedOauthClientCredentials; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Auth; public partial class AuthClient @@ -37,17 +35,19 @@ public async Task GetTokenAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs index 22f36503e6e..da87872f12b 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Auth; public record GetTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs index feac7975171..e02d1dc3591 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Auth; public record TokenResponse diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs index 511dcc0ba03..293c50235e6 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/IRequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/IRequestOptions.cs index 9f4ffbfc4c7..83514697091 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedOauthClientCredentials.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs index c96b9fe86ad..e49b9ed9afd 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs @@ -1,7 +1,5 @@ using SeedOauthClientCredentials.Auth; -#nullable enable - namespace SeedOauthClientCredentials.Core; public partial class OAuthTokenProvider @@ -29,9 +27,11 @@ public async Task GetAccessTokenAsync() { if (_accessToken == null || DateTime.UtcNow >= _expiresAt) { - var tokenResponse = await _client.GetTokenAsync( - new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } - ); + var tokenResponse = await _client + .GetTokenAsync( + new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } + ) + .ConfigureAwait(false); _accessToken = tokenResponse.AccessToken; _expiresAt = DateTime .UtcNow.AddSeconds(tokenResponse.ExpiresIn) diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs index dcbd2a34e8f..2823a74fed5 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class ClientOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs index 9ca1ad9b716..85c849f737c 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs index 2bcbb952043..ab7a90a5181 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedOauthClientCredentials; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedOauthClientCredentialsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs index e0b45fb4450..fd3551fcb9c 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedOauthClientCredentials.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs index c67879ae8c6..bb2d3a6dfa0 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs @@ -1,13 +1,11 @@ using SeedOauthClientCredentials.Auth; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class SeedOauthClientCredentialsClient { - private RawClient _client; + private readonly RawClient _client; public SeedOauthClientCredentialsClient( string clientId, diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs index 6f72130b8d7..990fbb3c691 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedOauthClientCredentials.Core; -namespace SeedOauthClientCredentials.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedOauthClientCredentials.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs index 895c1667ec1..b16c6710839 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedOauthClientCredentials.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedOauthClientCredentials.Test.Core +namespace SeedOauthClientCredentials.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj index fd48c7fec2f..366ae949533 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/SeedOauthClientCredentials.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/TestClient.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/TestClient.cs index 8cdad1f3979..1970135d572 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/TestClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedOauthClientCredentials.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs index 9e6f8a27c75..753714e1c7d 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs index 1bb38f32c64..8f384314bb6 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/GetTokenWithClientCredentialsTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentials; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs index c055ec03c78..1595074f0f2 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Unit/MockServer/RefreshTokenTest.cs @@ -5,8 +5,6 @@ using SeedOauthClientCredentials; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs index 6d7ea5e26a2..2ae917064f7 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class AuthClient @@ -36,17 +34,19 @@ public async Task GetTokenWithClientCredentialsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -88,17 +88,19 @@ public async Task RefreshTokenAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/token", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/token", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs index e6157cfc949..82e4a3c74ae 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/GetTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record GetTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs index 86d4f36e0e5..aaf74337520 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Requests/RefreshTokenRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record RefreshTokenRequest diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs index 6a744cf3571..72c5d2f7159 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/Types/TokenResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public record TokenResponse diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs index 511dcc0ba03..293c50235e6 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/IRequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/IRequestOptions.cs index 9f4ffbfc4c7..83514697091 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedOauthClientCredentials.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs index cd2cdb451db..b76d56b4fe3 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs @@ -1,7 +1,5 @@ using SeedOauthClientCredentials; -#nullable enable - namespace SeedOauthClientCredentials.Core; public partial class OAuthTokenProvider @@ -29,9 +27,11 @@ public async Task GetAccessTokenAsync() { if (_accessToken == null || DateTime.UtcNow >= _expiresAt) { - var tokenResponse = await _client.GetTokenWithClientCredentialsAsync( - new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } - ); + var tokenResponse = await _client + .GetTokenWithClientCredentialsAsync( + new GetTokenRequest { ClientId = _clientId, ClientSecret = _clientSecret } + ) + .ConfigureAwait(false); _accessToken = tokenResponse.AccessToken; _expiresAt = DateTime .UtcNow.AddSeconds(tokenResponse.ExpiresIn) diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs index dcbd2a34e8f..2823a74fed5 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class ClientOptions diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs index 9ca1ad9b716..85c849f737c 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs index 2bcbb952043..ab7a90a5181 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/Public/SeedOauthClientCredentialsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedOauthClientCredentials; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedOauthClientCredentialsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs index e0b45fb4450..fd3551fcb9c 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedOauthClientCredentials.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs index e8531981a6d..ac194bfa831 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/SeedOauthClientCredentialsClient.cs @@ -1,12 +1,10 @@ using SeedOauthClientCredentials.Core; -#nullable enable - namespace SeedOauthClientCredentials; public partial class SeedOauthClientCredentialsClient { - private RawClient _client; + private readonly RawClient _client; public SeedOauthClientCredentialsClient( string clientId, diff --git a/seed/csharp-sdk/object/src/SeedObject.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/object/src/SeedObject.Test/Core/EnumSerializerTests.cs index 8abc0743d8c..85b91f52ef0 100644 --- a/seed/csharp-sdk/object/src/SeedObject.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/object/src/SeedObject.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedObject.Core; -namespace SeedObject.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedObject.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs b/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs index 4dd06c7b4b5..0fa8135130c 100644 --- a/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedObject.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedObject.Test.Core +namespace SeedObject.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/object/src/SeedObject.Test/SeedObject.Test.csproj b/seed/csharp-sdk/object/src/SeedObject.Test/SeedObject.Test.csproj index be19774f42e..a3c926c2935 100644 --- a/seed/csharp-sdk/object/src/SeedObject.Test/SeedObject.Test.csproj +++ b/seed/csharp-sdk/object/src/SeedObject.Test/SeedObject.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/object/src/SeedObject.Test/TestClient.cs b/seed/csharp-sdk/object/src/SeedObject.Test/TestClient.cs index 307591f8be5..33502f4bb79 100644 --- a/seed/csharp-sdk/object/src/SeedObject.Test/TestClient.cs +++ b/seed/csharp-sdk/object/src/SeedObject.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedObject.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/NameTest.cs b/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/NameTest.cs index ac73f9e3b98..c1996b78851 100644 --- a/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/NameTest.cs +++ b/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/NameTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedObject; -#nullable enable - namespace SeedObject.Test; [TestFixture] diff --git a/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/TypeTest.cs b/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/TypeTest.cs index 497d124310c..7391bf2420b 100644 --- a/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/TypeTest.cs +++ b/seed/csharp-sdk/object/src/SeedObject.Test/Unit/Serialization/TypeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedObject; -#nullable enable - namespace SeedObject.Test; [TestFixture] diff --git a/seed/csharp-sdk/object/src/SeedObject/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/object/src/SeedObject/Core/CollectionItemSerializer.cs index b3b87d895b3..cd1f70e03ae 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/object/src/SeedObject/Core/IRequestOptions.cs b/seed/csharp-sdk/object/src/SeedObject/Core/IRequestOptions.cs index eefa20f04bb..44e6636c8a2 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedObject.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/object/src/SeedObject/Core/Public/ClientOptions.cs b/seed/csharp-sdk/object/src/SeedObject/Core/Public/ClientOptions.cs index 31bcb5fab70..8462281716b 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedObject.Core; -#nullable enable - namespace SeedObject; public partial class ClientOptions diff --git a/seed/csharp-sdk/object/src/SeedObject/Core/Public/RequestOptions.cs b/seed/csharp-sdk/object/src/SeedObject/Core/Public/RequestOptions.cs index b3488378918..0bb374f1041 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedObject.Core; -#nullable enable - namespace SeedObject; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/object/src/SeedObject/Core/Public/SeedObjectException.cs b/seed/csharp-sdk/object/src/SeedObject/Core/Public/SeedObjectException.cs index 640dccfd79a..f974f98757c 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Core/Public/SeedObjectException.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Core/Public/SeedObjectException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedObject; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedObjectException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs b/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs index 2e42938980f..876646ed4e2 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedObject.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/object/src/SeedObject/SeedObjectClient.cs b/seed/csharp-sdk/object/src/SeedObject/SeedObjectClient.cs index 5ec58223328..091fbf10255 100644 --- a/seed/csharp-sdk/object/src/SeedObject/SeedObjectClient.cs +++ b/seed/csharp-sdk/object/src/SeedObject/SeedObjectClient.cs @@ -1,12 +1,10 @@ using SeedObject.Core; -#nullable enable - namespace SeedObject; public partial class SeedObjectClient { - private RawClient _client; + private readonly RawClient _client; public SeedObjectClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/object/src/SeedObject/Types/Name.cs b/seed/csharp-sdk/object/src/SeedObject/Types/Name.cs index 7053ea22bb5..8aae8ab9931 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Types/Name.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Types/Name.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObject.Core; -#nullable enable - namespace SeedObject; public record Name diff --git a/seed/csharp-sdk/object/src/SeedObject/Types/Type.cs b/seed/csharp-sdk/object/src/SeedObject/Types/Type.cs index a33c4f025b4..9bf409588d0 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Types/Type.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Types/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObject.Core; -#nullable enable - namespace SeedObject; public record Type diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs index 9f7eee6cff1..dac3eabbd69 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedObjectsWithImports.Core; -namespace SeedObjectsWithImports.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedObjectsWithImports.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs index 7dee2dffe52..91cdc958006 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedObjectsWithImports.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedObjectsWithImports.Test.Core +namespace SeedObjectsWithImports.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj index db71b5887ed..055b4626ac0 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/TestClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/TestClient.cs index eefba6c1723..9c9fbd2677d 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/TestClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedObjectsWithImports.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/DirectoryTest.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/DirectoryTest.cs index f544bf84e3f..e58d52e47cd 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/DirectoryTest.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/DirectoryTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedObjectsWithImports.File; -#nullable enable - namespace SeedObjectsWithImports.Test; [TestFixture] diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/FileTest.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/FileTest.cs index eed754972ae..21abc2ae697 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/FileTest.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/FileTest.cs @@ -4,8 +4,6 @@ using Newtonsoft.Json.Linq; using NUnit.Framework; -#nullable enable - namespace SeedObjectsWithImports.Test; [TestFixture] diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/MetadataTest.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/MetadataTest.cs index 92b13c937e5..ec0c0fe8f4c 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/MetadataTest.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/MetadataTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedObjectsWithImports.Commons; -#nullable enable - namespace SeedObjectsWithImports.Test; [TestFixture] diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/NodeTest.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/NodeTest.cs index f79e2c1a3c1..7ff82d1f167 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/NodeTest.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/NodeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedObjectsWithImports; -#nullable enable - namespace SeedObjectsWithImports.Test; [TestFixture] diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/TreeTest.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/TreeTest.cs index 37866407170..dce085d7ea2 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/TreeTest.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Unit/Serialization/TreeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedObjectsWithImports; -#nullable enable - namespace SeedObjectsWithImports.Test; [TestFixture] diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/CommonsClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/CommonsClient.cs index d7ce131db0c..fb0d56d0034 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/CommonsClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/CommonsClient.cs @@ -1,7 +1,5 @@ using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.Commons; public partial class CommonsClient diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/MetadataClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/MetadataClient.cs index b18d26a3d8c..86383e5aadb 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/MetadataClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/MetadataClient.cs @@ -1,7 +1,5 @@ using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.Commons; public partial class MetadataClient diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Types/Metadata.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Types/Metadata.cs index bd8bb3187a2..28df6d74492 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Types/Metadata.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Commons/Metadata/Types/Metadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.Commons; public record Metadata diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs index 7bc533b3d27..819cf7d9e06 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/IRequestOptions.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/IRequestOptions.cs index 76eb7c9feb6..dc9708faa07 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedObjectsWithImports.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs index c7e40de5e21..65038471cd1 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public partial class ClientOptions diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs index 6c3262fe78f..fa8b0d8e2fc 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs index 5b28f4e2aa2..cf1472e8949 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedObjectsWithImports; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedObjectsWithImportsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs index 125598b716c..6047762f103 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedObjectsWithImports.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/DirectoryClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/DirectoryClient.cs index 352cff53a2f..13fe2cda8be 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/DirectoryClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/DirectoryClient.cs @@ -1,7 +1,5 @@ using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.File; public partial class DirectoryClient diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Types/Directory.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Types/Directory.cs index e2679759d08..672d81b666d 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Types/Directory.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Directory/Types/Directory.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.File; public record Directory diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/FileClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/FileClient.cs index f010b513aca..d7d6030fed7 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/FileClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/FileClient.cs @@ -1,8 +1,6 @@ using SeedObjectsWithImports.Core; using SeedObjectsWithImports.File; -#nullable enable - namespace SeedObjectsWithImports; public partial class FileClient diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/File.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/File.cs index 11b4bcd397e..27e08efc2ac 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/File.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/File.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public record File diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/FileInfo.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/FileInfo.cs index 9bce23c908e..d1220dd1aa7 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/FileInfo.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/File/Types/FileInfo.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs index 5afc84399f3..5a191de8b1e 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs @@ -1,13 +1,11 @@ using SeedObjectsWithImports.Commons; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public partial class SeedObjectsWithImportsClient { - private RawClient _client; + private readonly RawClient _client; public SeedObjectsWithImportsClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Node.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Node.cs index 8ef65f66a52..ffb48168fc7 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Node.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Node.cs @@ -2,8 +2,6 @@ using SeedObjectsWithImports.Commons; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public record Node diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Tree.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Tree.cs index 010c536d7be..addc2c6e1cf 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Tree.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Types/Tree.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public record Tree diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs index 9f7eee6cff1..dac3eabbd69 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedObjectsWithImports.Core; -namespace SeedObjectsWithImports.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedObjectsWithImports.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs index 7dee2dffe52..91cdc958006 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedObjectsWithImports.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedObjectsWithImports.Test.Core +namespace SeedObjectsWithImports.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj index db71b5887ed..055b4626ac0 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/SeedObjectsWithImports.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/TestClient.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/TestClient.cs index eefba6c1723..9c9fbd2677d 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/TestClient.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedObjectsWithImports.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/BaseMockServerTest.cs index 9e0c8fdec81..52920bfd6d9 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedObjectsWithImports.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/SendOptionalBodyTest.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/SendOptionalBodyTest.cs index 30eaf83aa46..4b2003b461d 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/SendOptionalBodyTest.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Unit/MockServer/SendOptionalBodyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs index 7bc533b3d27..819cf7d9e06 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/IRequestOptions.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/IRequestOptions.cs index 76eb7c9feb6..dc9708faa07 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedObjectsWithImports.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs index c7e40de5e21..65038471cd1 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public partial class ClientOptions diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs index 6c3262fe78f..fa8b0d8e2fc 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs index 5b28f4e2aa2..cf1472e8949 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/Public/SeedObjectsWithImportsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedObjectsWithImports; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedObjectsWithImportsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs index 125598b716c..6047762f103 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedObjectsWithImports.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs index 6e6c625c8de..471131ee625 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public partial class OptionalClient @@ -35,17 +33,19 @@ public async Task SendOptionalBodyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "send-optional-body", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "send-optional-body", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs index c36793f649e..e6b5be017a4 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/SeedObjectsWithImportsClient.cs @@ -1,12 +1,10 @@ using SeedObjectsWithImports.Core; -#nullable enable - namespace SeedObjectsWithImports; public partial class SeedObjectsWithImportsClient { - private RawClient _client; + private readonly RawClient _client; public SeedObjectsWithImportsClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs index 46aba9a0a50..871b84e6252 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPackageYml.Core; -namespace SeedPackageYml.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPackageYml.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs index 9d31eb86161..1745c8e3167 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedPackageYml.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedPackageYml.Test.Core +namespace SeedPackageYml.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj index 81c7d862247..a66177a7cd4 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/SeedPackageYml.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/TestClient.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/TestClient.cs index 8e57818a8e7..78403827b88 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/TestClient.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedPackageYml.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/BaseMockServerTest.cs index 2d8cba5eeb2..318873ccfc2 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedPackageYml.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/EchoTest.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/EchoTest.cs index ba147301b77..ca217651054 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/EchoTest.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/EchoTest.cs @@ -5,8 +5,6 @@ using SeedPackageYml; using SeedPackageYml.Core; -#nullable enable - namespace SeedPackageYml.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/NopTest.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/NopTest.cs index 4c65e3373da..f33708d07d5 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/NopTest.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Unit/MockServer/NopTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedPackageYml.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs index 50411ad8fd8..9b0ec0bf88f 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/IRequestOptions.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/IRequestOptions.cs index ce0de479583..88d0b286fa0 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedPackageYml.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/ClientOptions.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/ClientOptions.cs index 0ca24baeade..a5c40b7d327 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPackageYml.Core; -#nullable enable - namespace SeedPackageYml; public partial class ClientOptions diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/RequestOptions.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/RequestOptions.cs index 4edd21b09f8..9e5ec8fbfdd 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPackageYml.Core; -#nullable enable - namespace SeedPackageYml; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/SeedPackageYmlException.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/SeedPackageYmlException.cs index 722f8c28446..4c2d0c78365 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/SeedPackageYmlException.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/Public/SeedPackageYmlException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedPackageYml; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedPackageYmlException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs index fa8fa7180d9..ee12446bce7 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedPackageYml.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs index 8d90031c027..e4508653ff2 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs @@ -3,13 +3,11 @@ using System.Threading; using SeedPackageYml.Core; -#nullable enable - namespace SeedPackageYml; public partial class SeedPackageYmlClient { - private RawClient _client; + private readonly RawClient _client; public SeedPackageYmlClient(ClientOptions? clientOptions = null) { @@ -48,17 +46,19 @@ public async Task EchoAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/{id}/", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/{id}/", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Service/ServiceClient.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Service/ServiceClient.cs index 54e918bf87d..b5e49ee3dac 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Service/ServiceClient.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedPackageYml.Core; -#nullable enable - namespace SeedPackageYml; public partial class ServiceClient @@ -28,16 +26,18 @@ public async Task NopAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{id}//{nestedId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{id}//{nestedId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Types/EchoRequest.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Types/EchoRequest.cs index 7f0f3a5b599..29bf73a67cc 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Types/EchoRequest.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Types/EchoRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPackageYml.Core; -#nullable enable - namespace SeedPackageYml; public record EchoRequest diff --git a/seed/csharp-sdk/pagination/.mock/definition/complex.yml b/seed/csharp-sdk/pagination/.mock/definition/complex.yml new file mode 100644 index 00000000000..538b1882df8 --- /dev/null +++ b/seed/csharp-sdk/pagination/.mock/definition/complex.yml @@ -0,0 +1,112 @@ +types: + SearchRequestQuery: + discriminated: false + inline: true + union: + - type: SingleFilterSearchRequest + - type: MultipleFilterSearchRequest + MultipleFilterSearchRequest: + properties: + operator: + type: optional + value: + type: optional + MultipleFilterSearchRequestOperator: + enum: + - AND + - OR + inline: true + MultipleFilterSearchRequestValue: + discriminated: false + inline: true + union: + - type: list + - type: list + SingleFilterSearchRequest: + properties: + field: + type: optional + operator: + type: optional + value: + type: optional + SingleFilterSearchRequestOperator: + enum: + - name: Equals + value: '=' + - name: NotEquals + value: '!=' + - name: In + value: IN + - name: NotIn + value: NIN + - name: LessThan + value: < + - name: GreaterThan + value: '>' + - name: Contains + value: '~' + - name: DoesNotContain + value: '!~' + - name: StartsWith + value: ^ + - name: EndsWith + value: $ + inline: true + SearchRequest: + properties: + pagination: + type: optional + query: SearchRequestQuery + PaginatedConversationResponse: + properties: + conversations: + type: list + pages: + type: optional + total_count: + type: integer + type: + type: literal<"conversation.list"> + CursorPages: + properties: + next: + type: optional + page: + type: optional + per_page: + type: optional + total_pages: + type: optional + type: + type: literal<"pages"> + StartingAfterPaging: + properties: + per_page: + type: integer + starting_after: + type: optional + Conversation: + properties: + foo: string +service: + auth: false + base-path: '' + display-name: Conversations + endpoints: + search: + auth: true + display-name: Search conversations + method: POST + pagination: + cursor: $request.pagination.starting_after + next_cursor: $response.pages.next.starting_after + results: $response.conversations + path: /conversations/search + request: + body: + type: SearchRequest + content-type: application/json + response: + type: PaginatedConversationResponse + diff --git a/seed/csharp-sdk/pagination/README.md b/seed/csharp-sdk/pagination/README.md index 28b0c9d9b9b..1dde12e6243 100644 --- a/seed/csharp-sdk/pagination/README.md +++ b/seed/csharp-sdk/pagination/README.md @@ -19,8 +19,17 @@ Instantiate and use the client with the following: using SeedPagination; var client = new SeedPaginationClient("TOKEN"); -await client.Users.ListWithMixedTypeCursorPaginationAsync( - new ListUsersMixedTypeCursorPaginationRequest { Cursor = "cursor" } +await client.Complex.SearchAsync( + new SearchRequest + { + Pagination = new StartingAfterPaging { PerPage = 1, StartingAfter = "starting_after" }, + Query = new SingleFilterSearchRequest + { + Field = "field", + Operator = SingleFilterSearchRequestOperator.Equals, + Value = "value", + }, + } ); ``` @@ -33,7 +42,7 @@ will be thrown. using SeedPagination; try { - var response = await client.Users.ListWithMixedTypeCursorPaginationAsync(...); + var response = await client.Complex.SearchAsync(...); } catch (SeedPaginationApiException e) { System.Console.WriteLine(e.Body); System.Console.WriteLine(e.StatusCode); @@ -57,7 +66,7 @@ A request is deemed retryable when any of the following HTTP status codes is ret Use the `MaxRetries` request option to configure this behavior. ```csharp -var response = await client.Users.ListWithMixedTypeCursorPaginationAsync( +var response = await client.Complex.SearchAsync( ..., new RequestOptions { MaxRetries: 0 // Override MaxRetries at the request level @@ -70,7 +79,7 @@ var response = await client.Users.ListWithMixedTypeCursorPaginationAsync( The SDK defaults to a 30 second timeout. Use the `Timeout` option to configure this behavior. ```csharp -var response = await client.Users.ListWithMixedTypeCursorPaginationAsync( +var response = await client.Complex.SearchAsync( ..., new RequestOptions { Timeout: TimeSpan.FromSeconds(3) // Override timeout to 3s diff --git a/seed/csharp-sdk/pagination/reference.md b/seed/csharp-sdk/pagination/reference.md index 112ace05f48..d504b3d636d 100644 --- a/seed/csharp-sdk/pagination/reference.md +++ b/seed/csharp-sdk/pagination/reference.md @@ -1,4 +1,56 @@ # Reference +## Conversations +
client.Complex.SearchAsync(SearchRequest { ... }) -> Pager +
+
+ +#### 🔌 Usage + +
+
+ +
+
+ +```csharp +await client.Complex.SearchAsync( + new SearchRequest + { + Pagination = new StartingAfterPaging { PerPage = 1, StartingAfter = "starting_after" }, + Query = new SingleFilterSearchRequest + { + Field = "field", + Operator = SingleFilterSearchRequestOperator.Equals, + Value = "value", + }, + } +); +``` +
+
+
+
+ +#### ⚙️ Parameters + +
+
+ +
+
+ +**request:** `SearchRequest` + +
+
+
+
+ + +
+
+
+ ## Users
client.Users.ListWithCursorPaginationAsync(ListUsersCursorPaginationRequest { ... }) -> Pager
diff --git a/seed/csharp-sdk/pagination/snippet.json b/seed/csharp-sdk/pagination/snippet.json index 66eacee3c1f..762422c1139 100644 --- a/seed/csharp-sdk/pagination/snippet.json +++ b/seed/csharp-sdk/pagination/snippet.json @@ -1,6 +1,18 @@ { "types": {}, "endpoints": [ + { + "example_identifier": null, + "id": { + "path": "/conversations/search", + "method": "POST", + "identifier_override": "endpoint_complex.search" + }, + "snippet": { + "type": "typescript", + "client": "using SeedPagination;\n\nvar client = new SeedPaginationClient(\"TOKEN\");\nawait client.Complex.SearchAsync(\n new SearchRequest\n {\n Pagination = new StartingAfterPaging { PerPage = 1, StartingAfter = \"starting_after\" },\n Query = new SingleFilterSearchRequest\n {\n Field = \"field\",\n Operator = SingleFilterSearchRequestOperator.Equals,\n Value = \"value\",\n },\n }\n);\n" + } + }, { "example_identifier": null, "id": { diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs index fc7094754e6..e5ab109d22c 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPagination.Core; -namespace SeedPagination.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPagination.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs index 208f32b5819..bf5c19b9e2c 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedPagination.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedPagination.Test.Core +namespace SeedPagination.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj b/seed/csharp-sdk/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj index aac18528c02..720d6f0c20e 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/SeedPagination.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/TestClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/TestClient.cs index dea727606c0..9e1b1e7310c 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/TestClient.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedPagination.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/BaseMockServerTest.cs index a0355d77146..c7c4fd9b0ba 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListUsernamesTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListUsernamesTest.cs index 69aa6a29892..a02fb0a67b5 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListUsernamesTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListUsernamesTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyCursorPaginationTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyCursorPaginationTest.cs index adc615139c9..873449ed881 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyCursorPaginationTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyCursorPaginationTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyOffsetPaginationTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyOffsetPaginationTest.cs index 0579f54fa0d..75d86f7a0b9 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyOffsetPaginationTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithBodyOffsetPaginationTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithCursorPaginationTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithCursorPaginationTest.cs index de6381a57c6..c61cf5b6ad6 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithCursorPaginationTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithCursorPaginationTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithDoubleOffsetPaginationTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithDoubleOffsetPaginationTest.cs index c5b6c1b0b42..d4bad67f255 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithDoubleOffsetPaginationTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithDoubleOffsetPaginationTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsAndOptionalDataTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsAndOptionalDataTest.cs index 189f894fa61..5e76f9b532b 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsAndOptionalDataTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsAndOptionalDataTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsTest.cs index 8d0124ce461..fc62dedbb1f 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithExtendedResultsTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithGlobalConfigTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithGlobalConfigTest.cs index a81dc0fbd2c..c968dba0858 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithGlobalConfigTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithGlobalConfigTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithMixedTypeCursorPaginationTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithMixedTypeCursorPaginationTest.cs index f8cc0ffdae3..0acbf4c395d 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithMixedTypeCursorPaginationTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithMixedTypeCursorPaginationTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationHasNextPageTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationHasNextPageTest.cs index bb82f08e9b6..6be938ed701 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationHasNextPageTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationHasNextPageTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationTest.cs index 9f35ed795ca..dd4120d683b 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetPaginationTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetStepPaginationTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetStepPaginationTest.cs index 62c4c97b604..b3a8387e207 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetStepPaginationTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/ListWithOffsetStepPaginationTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedPagination; -#nullable enable - namespace SeedPagination.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/SearchTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/SearchTest.cs new file mode 100644 index 00000000000..f1a9e522628 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Unit/MockServer/SearchTest.cs @@ -0,0 +1,91 @@ +using System.Threading.Tasks; +using NUnit.Framework; +using SeedPagination; + +namespace SeedPagination.Test.Unit.MockServer; + +[TestFixture] +public class SearchTest : BaseMockServerTest +{ + [Test] + public async Task MockServerTest() + { + const string requestJson = """ + { + "pagination": { + "per_page": 1, + "starting_after": "starting_after" + }, + "query": { + "field": "field", + "operator": "=", + "value": "value" + } + } + """; + + const string mockResponse = """ + { + "conversations": [ + { + "foo": "foo" + }, + { + "foo": "foo" + } + ], + "pages": { + "next": { + "per_page": 1, + "starting_after": "starting_after" + }, + "page": 1, + "per_page": 1, + "total_pages": 1, + "type": "pages" + }, + "total_count": 1, + "type": "conversation.list" + } + """; + + Server + .Given( + WireMock + .RequestBuilders.Request.Create() + .WithPath("/conversations/search") + .WithHeader("Content-Type", "application/json") + .UsingPost() + .WithBodyAsJson(requestJson) + ) + .RespondWith( + WireMock + .ResponseBuilders.Response.Create() + .WithStatusCode(200) + .WithBody(mockResponse) + ); + + var pager = Client.Complex.SearchAsync( + new SearchRequest + { + Pagination = new StartingAfterPaging + { + PerPage = 1, + StartingAfter = "starting_after", + }, + Query = new SingleFilterSearchRequest + { + Field = "field", + Operator = SingleFilterSearchRequestOperator.Equals, + Value = "value", + }, + }, + RequestOptions + ); + await foreach (var item in pager) + { + Assert.That(item, Is.Not.Null); + break; // Only check the first item + } + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs new file mode 100644 index 00000000000..76b20ea31c4 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs @@ -0,0 +1,99 @@ +using System.Net.Http; +using System.Text.Json; +using System.Threading; +using SeedPagination.Core; + +namespace SeedPagination; + +public partial class ComplexClient +{ + private RawClient _client; + + internal ComplexClient(RawClient client) + { + _client = client; + } + + /// + /// + /// await client.Complex.SearchAsync( + /// new SearchRequest + /// { + /// Pagination = new StartingAfterPaging { PerPage = 1, StartingAfter = "starting_after" }, + /// Query = new SingleFilterSearchRequest + /// { + /// Field = "field", + /// Operator = SingleFilterSearchRequestOperator.Equals, + /// Value = "value", + /// }, + /// } + /// ); + /// + /// + public Pager SearchAsync(SearchRequest request, RequestOptions? options = null) + { + if (request is not null) + { + request = request with { }; + } + var pager = new CursorPager< + SearchRequest, + RequestOptions?, + PaginatedConversationResponse, + string?, + Conversation + >( + request, + options, + SearchAsync, + (request, cursor) => + { + request.Pagination ??= new(); + request.Pagination.StartingAfter = cursor; + }, + response => response?.Pages?.Next?.StartingAfter, + response => response?.Conversations?.ToList() + ); + return pager; + } + + internal async Task SearchAsync( + SearchRequest request, + RequestOptions? options = null, + CancellationToken cancellationToken = default + ) + { + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "conversations/search", + Body = request, + ContentType = "application/json", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); + var responseBody = await response.Raw.Content.ReadAsStringAsync(); + if (response.StatusCode is >= 200 and < 400) + { + try + { + return JsonUtils.Deserialize(responseBody)!; + } + catch (JsonException e) + { + throw new SeedPaginationException("Failed to deserialize response", e); + } + } + + throw new SeedPaginationApiException( + $"Error with status code {response.StatusCode}", + response.StatusCode, + responseBody + ); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/Conversation.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/Conversation.cs new file mode 100644 index 00000000000..9682c00e487 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/Conversation.cs @@ -0,0 +1,15 @@ +using System.Text.Json.Serialization; +using SeedPagination.Core; + +namespace SeedPagination; + +public record Conversation +{ + [JsonPropertyName("foo")] + public required string Foo { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/CursorPages.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/CursorPages.cs new file mode 100644 index 00000000000..77e7b5ed151 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/CursorPages.cs @@ -0,0 +1,27 @@ +using System.Text.Json.Serialization; +using SeedPagination.Core; + +namespace SeedPagination; + +public record CursorPages +{ + [JsonPropertyName("next")] + public StartingAfterPaging? Next { get; set; } + + [JsonPropertyName("page")] + public int? Page { get; set; } + + [JsonPropertyName("per_page")] + public int? PerPage { get; set; } + + [JsonPropertyName("total_pages")] + public int? TotalPages { get; set; } + + [JsonPropertyName("type")] + public required string Type { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequest.cs new file mode 100644 index 00000000000..bfb6bace980 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequest.cs @@ -0,0 +1,22 @@ +using System.Text.Json.Serialization; +using OneOf; +using SeedPagination.Core; + +namespace SeedPagination; + +public record MultipleFilterSearchRequest +{ + [JsonPropertyName("operator")] + public MultipleFilterSearchRequestOperator? Operator { get; set; } + + [JsonPropertyName("value")] + public OneOf< + IEnumerable, + IEnumerable + >? Value { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequestOperator.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequestOperator.cs new file mode 100644 index 00000000000..339633b1d6f --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/MultipleFilterSearchRequestOperator.cs @@ -0,0 +1,15 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using SeedPagination.Core; + +namespace SeedPagination; + +[JsonConverter(typeof(EnumSerializer))] +public enum MultipleFilterSearchRequestOperator +{ + [EnumMember(Value = "AND")] + And, + + [EnumMember(Value = "OR")] + Or, +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/PaginatedConversationResponse.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/PaginatedConversationResponse.cs new file mode 100644 index 00000000000..16bde590546 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/PaginatedConversationResponse.cs @@ -0,0 +1,24 @@ +using System.Text.Json.Serialization; +using SeedPagination.Core; + +namespace SeedPagination; + +public record PaginatedConversationResponse +{ + [JsonPropertyName("conversations")] + public IEnumerable Conversations { get; set; } = new List(); + + [JsonPropertyName("pages")] + public CursorPages? Pages { get; set; } + + [JsonPropertyName("total_count")] + public required int TotalCount { get; set; } + + [JsonPropertyName("type")] + public required string Type { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SearchRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SearchRequest.cs new file mode 100644 index 00000000000..2175e5afc86 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SearchRequest.cs @@ -0,0 +1,22 @@ +using System.Text.Json.Serialization; +using OneOf; +using SeedPagination.Core; + +namespace SeedPagination; + +public record SearchRequest +{ + [JsonPropertyName("pagination")] + public StartingAfterPaging? Pagination { get; set; } + + [JsonPropertyName("query")] + public required OneOf< + SingleFilterSearchRequest, + MultipleFilterSearchRequest + > Query { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequest.cs new file mode 100644 index 00000000000..c9a956dcf00 --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequest.cs @@ -0,0 +1,21 @@ +using System.Text.Json.Serialization; +using SeedPagination.Core; + +namespace SeedPagination; + +public record SingleFilterSearchRequest +{ + [JsonPropertyName("field")] + public string? Field { get; set; } + + [JsonPropertyName("operator")] + public SingleFilterSearchRequestOperator? Operator { get; set; } + + [JsonPropertyName("value")] + public string? Value { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequestOperator.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequestOperator.cs new file mode 100644 index 00000000000..5790f2556db --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/SingleFilterSearchRequestOperator.cs @@ -0,0 +1,39 @@ +using System.Runtime.Serialization; +using System.Text.Json.Serialization; +using SeedPagination.Core; + +namespace SeedPagination; + +[JsonConverter(typeof(EnumSerializer))] +public enum SingleFilterSearchRequestOperator +{ + [EnumMember(Value = "=")] + Equals, + + [EnumMember(Value = "!=")] + NotEquals, + + [EnumMember(Value = "IN")] + In, + + [EnumMember(Value = "NIN")] + NotIn, + + [EnumMember(Value = "<")] + LessThan, + + [EnumMember(Value = ">")] + GreaterThan, + + [EnumMember(Value = "~")] + Contains, + + [EnumMember(Value = "!~")] + DoesNotContain, + + [EnumMember(Value = "^")] + StartsWith, + + [EnumMember(Value = "$")] + EndsWith, +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/StartingAfterPaging.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/StartingAfterPaging.cs new file mode 100644 index 00000000000..ebc09afcada --- /dev/null +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/Types/StartingAfterPaging.cs @@ -0,0 +1,18 @@ +using System.Text.Json.Serialization; +using SeedPagination.Core; + +namespace SeedPagination; + +public record StartingAfterPaging +{ + [JsonPropertyName("per_page")] + public required int PerPage { get; set; } + + [JsonPropertyName("starting_after")] + public string? StartingAfter { get; set; } + + public override string ToString() + { + return JsonUtils.Serialize(this); + } +} diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs index 0ea5fb2086d..56ec74e0696 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Core/IRequestOptions.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Core/IRequestOptions.cs index 8736322c102..fae824336d1 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedPagination.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/ClientOptions.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/ClientOptions.cs index c504a1b894a..c9f29e6d0bc 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public partial class ClientOptions diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/RequestOptions.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/RequestOptions.cs index ef760f5f371..9ab6b9b0bdc 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/SeedPaginationException.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/SeedPaginationException.cs index b1500cb05ae..5e094e07679 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/SeedPaginationException.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Core/Public/SeedPaginationException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedPagination; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedPaginationException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs index a7d701da224..94ae0dc9146 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedPagination.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/SeedPaginationClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination/SeedPaginationClient.cs index 2c7ab3e8238..120f5466f88 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/SeedPaginationClient.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/SeedPaginationClient.cs @@ -1,12 +1,10 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public partial class SeedPaginationClient { - private RawClient _client; + private readonly RawClient _client; public SeedPaginationClient(string token, ClientOptions? clientOptions = null) { @@ -28,8 +26,11 @@ public SeedPaginationClient(string token, ClientOptions? clientOptions = null) } } _client = new RawClient(clientOptions); + Complex = new ComplexClient(_client); Users = new UsersClient(_client); } + public ComplexClient Complex { get; init; } + public UsersClient Users { get; init; } } diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernameCursor.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernameCursor.cs index 11c9a75c8b1..e574fe04a5b 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernameCursor.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernameCursor.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UsernameCursor diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernamePage.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernamePage.cs index 6adc8afede3..ad9f54dc51e 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernamePage.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Types/UsernamePage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UsernamePage diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsernamesRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsernamesRequest.cs index 7ba91c94f3e..1bfc3394ef1 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsernamesRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsernamesRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsernamesRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyCursorPaginationRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyCursorPaginationRequest.cs index 705e501d259..61d05d6c21a 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyCursorPaginationRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyCursorPaginationRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersBodyCursorPaginationRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyOffsetPaginationRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyOffsetPaginationRequest.cs index ad64c1f15eb..aa5542860ff 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyOffsetPaginationRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersBodyOffsetPaginationRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersBodyOffsetPaginationRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersCursorPaginationRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersCursorPaginationRequest.cs index a960f2fb366..1047cda6e1f 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersCursorPaginationRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersCursorPaginationRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersCursorPaginationRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersDoubleOffsetPaginationRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersDoubleOffsetPaginationRequest.cs index bb7c19a19e0..6c97a31dbbd 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersDoubleOffsetPaginationRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersDoubleOffsetPaginationRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersDoubleOffsetPaginationRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequest.cs index 28626563c20..3b720b5e9a4 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersExtendedRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequestForOptionalData.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequestForOptionalData.cs index 891cc4b6669..c5fab9323cb 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequestForOptionalData.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersExtendedRequestForOptionalData.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersExtendedRequestForOptionalData diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersMixedTypeCursorPaginationRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersMixedTypeCursorPaginationRequest.cs index 1991f7d80c6..3928d4e1ea9 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersMixedTypeCursorPaginationRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersMixedTypeCursorPaginationRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersMixedTypeCursorPaginationRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetPaginationRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetPaginationRequest.cs index 8750318e227..48bacdb0d67 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetPaginationRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetPaginationRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersOffsetPaginationRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetStepPaginationRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetStepPaginationRequest.cs index 25fb6dcc57f..1fe2cd585b6 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetStepPaginationRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListUsersOffsetStepPaginationRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersOffsetStepPaginationRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithGlobalConfigRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithGlobalConfigRequest.cs index cf48c6a8606..bd1339bbf2e 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithGlobalConfigRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithGlobalConfigRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListWithGlobalConfigRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithOffsetPaginationHasNextPageRequest.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithOffsetPaginationHasNextPageRequest.cs index fcc1df7b9ec..43bc1480741 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithOffsetPaginationHasNextPageRequest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Requests/ListWithOffsetPaginationHasNextPageRequest.cs @@ -1,7 +1,5 @@ using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListWithOffsetPaginationHasNextPageRequest diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedOptionalListResponse.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedOptionalListResponse.cs index f6df9ebc73f..37b106f9983 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedOptionalListResponse.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedOptionalListResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersExtendedOptionalListResponse diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedResponse.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedResponse.cs index 729c871f4a6..17a645a35c5 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedResponse.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersExtendedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersExtendedResponse diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersMixedTypePaginationResponse.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersMixedTypePaginationResponse.cs index d642caa2697..8e6bd887d12 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersMixedTypePaginationResponse.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersMixedTypePaginationResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersMixedTypePaginationResponse diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersPaginationResponse.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersPaginationResponse.cs index 7efe4a7f349..cc37fe6c263 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersPaginationResponse.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/ListUsersPaginationResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record ListUsersPaginationResponse diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/NextPage.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/NextPage.cs index 22d123c27df..a96ec9af640 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/NextPage.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/NextPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record NextPage diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Order.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Order.cs index 8fed717218b..c98f0dc452f 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Order.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Order.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Page.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Page.cs index 2c6454874ca..94b8a45d67b 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Page.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/Page.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record Page diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/User.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/User.cs index 11ea99df6d4..bc951356f4c 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/User.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record User diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserListContainer.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserListContainer.cs index d2f2a4dc16b..240451aee26 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserListContainer.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserListContainer.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserListContainer diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListContainer.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListContainer.cs index b8e8ed7320e..9227c70ec55 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListContainer.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListContainer.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserOptionalListContainer diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListPage.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListPage.cs index 1048392de83..2f234528f46 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListPage.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserOptionalListPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserOptionalListPage diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserPage.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserPage.cs index 1a19a4c3448..910dde5f690 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserPage.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UserPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UserPage diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UsernameContainer.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UsernameContainer.cs index 25c63657755..65af4bb1457 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UsernameContainer.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/UsernameContainer.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record UsernameContainer diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithCursor.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithCursor.cs index 27dee3032a4..3adad699f8c 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithCursor.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithCursor.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record WithCursor diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithPage.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithPage.cs index cca63467d07..bc2c2d6b31f 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithPage.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/Types/WithPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public record WithPage diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs index fc54091e799..ba5b56c3281 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedPagination.Core; -#nullable enable - namespace SeedPagination; public partial class UsersClient @@ -517,17 +515,19 @@ internal async Task ListWithCursorPaginationAsync( { _query["starting_after"] = request.StartingAfter; } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -559,17 +559,19 @@ internal async Task ListWithMixedTypeCurso { _query["cursor"] = request.Cursor; } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -596,17 +598,19 @@ internal async Task ListWithBodyCursorPaginationAsy CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/users", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/users", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -650,17 +654,19 @@ internal async Task ListWithOffsetPaginationAsync( { _query["starting_after"] = request.StartingAfter; } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -704,17 +710,19 @@ internal async Task ListWithDoubleOffsetPaginationA { _query["starting_after"] = request.StartingAfter; } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -741,17 +749,19 @@ internal async Task ListWithBodyOffsetPaginationAsy CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/users", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/users", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -791,17 +801,19 @@ internal async Task ListWithOffsetStepPaginationAsy { _query["order"] = request.Order.Value.Stringify(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -841,17 +853,19 @@ internal async Task ListWithOffsetPaginationHasNext { _query["order"] = request.Order.Value.Stringify(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -883,17 +897,19 @@ internal async Task ListWithExtendedResultsAsync( { _query["cursor"] = request.Cursor.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -925,17 +941,19 @@ internal async Task ListWithExtendedResul { _query["cursor"] = request.Cursor.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -967,17 +985,19 @@ internal async Task ListUsernamesAsync( { _query["starting_after"] = request.StartingAfter; } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -1009,17 +1029,19 @@ internal async Task ListWithGlobalConfigAsync( { _query["offset"] = request.Offset.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/users", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/users", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs index afe1d6dfb4f..9d56f2b6b5e 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPathParameters.Core; -namespace SeedPathParameters.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPathParameters.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs index 54e8dfd53a3..c58bad72ff2 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedPathParameters.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedPathParameters.Test.Core +namespace SeedPathParameters.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj index 5f3889c6202..441fc0a8fe8 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/SeedPathParameters.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/TestClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/TestClient.cs index 800c766b396..ec9f333e6ca 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/TestClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedPathParameters.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/BaseMockServerTest.cs index b801c2b1c76..cc75dc62f2c 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/CreateUserTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/CreateUserTest.cs index 99087d1bfae..75cd75515fa 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/CreateUserTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/CreateUserTest.cs @@ -5,8 +5,6 @@ using SeedPathParameters; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationTest.cs index 694c6b3bd28..177f541fabf 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationUserTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationUserTest.cs index acc4519b61e..90f1cd9df7f 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationUserTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetOrganizationUserTest.cs @@ -5,8 +5,6 @@ using SeedPathParameters; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetUserTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetUserTest.cs index 66bb3682278..9b99b2a6e1a 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetUserTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/GetUserTest.cs @@ -5,8 +5,6 @@ using SeedPathParameters; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchOrganizationsTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchOrganizationsTest.cs index a33209d0b09..607ca95081b 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchOrganizationsTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchOrganizationsTest.cs @@ -5,8 +5,6 @@ using SeedPathParameters; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchUsersTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchUsersTest.cs index c95e242962f..9553c0fe9dd 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchUsersTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/SearchUsersTest.cs @@ -5,8 +5,6 @@ using SeedPathParameters; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/UpdateUserTest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/UpdateUserTest.cs index 598896a41a9..927f5d83368 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/UpdateUserTest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Unit/MockServer/UpdateUserTest.cs @@ -5,8 +5,6 @@ using SeedPathParameters; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs index 74ac511a039..bd3e6e24fa3 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/IRequestOptions.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/IRequestOptions.cs index b0d41b09a13..e613aff3a39 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedPathParameters.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/ClientOptions.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/ClientOptions.cs index afdd97e3896..d46623dedac 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public partial class ClientOptions diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/RequestOptions.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/RequestOptions.cs index 3d05f80e95f..e4970d7d043 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/SeedPathParametersException.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/SeedPathParametersException.cs index cf842ad3eb2..53fea161ad6 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/SeedPathParametersException.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/Public/SeedPathParametersException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedPathParameters; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedPathParametersException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs index 8d590867f06..9f9399f5c72 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedPathParameters.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs index b9a7e8b500b..0c8f98d4f20 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public partial class OrganizationsClient @@ -28,16 +26,18 @@ public async Task GetOrganizationAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{tenantId}/organizations/{organizationId}/", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{tenantId}/organizations/{organizationId}/", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -77,16 +77,18 @@ public async Task GetOrganizationUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{tenantId}/organizations/{organizationId}/users/{userId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{tenantId}/organizations/{organizationId}/users/{userId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -129,17 +131,19 @@ public async Task> SearchOrganizationsAsync( { _query["limit"] = request.Limit.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{tenantId}/organizations/{organizationId}/search", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{tenantId}/organizations/{organizationId}/search", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/GetOrganizationUserRequest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/GetOrganizationUserRequest.cs index 341cd196e78..94020b84eee 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/GetOrganizationUserRequest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/GetOrganizationUserRequest.cs @@ -1,7 +1,5 @@ using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record GetOrganizationUserRequest diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/SearchOrganizationsRequest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/SearchOrganizationsRequest.cs index fb4303e79f2..0fe4b850e48 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/SearchOrganizationsRequest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Requests/SearchOrganizationsRequest.cs @@ -1,7 +1,5 @@ using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record SearchOrganizationsRequest diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Types/Organization.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Types/Organization.cs index cec21e73f2e..8eef830d388 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Types/Organization.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/Types/Organization.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record Organization diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/SeedPathParametersClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/SeedPathParametersClient.cs index 6ec527d3876..110d9d7453e 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/SeedPathParametersClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/SeedPathParametersClient.cs @@ -1,12 +1,10 @@ using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public partial class SeedPathParametersClient { - private RawClient _client; + private readonly RawClient _client; public SeedPathParametersClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/GetUsersRequest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/GetUsersRequest.cs index 41cfd1b44eb..3672e109235 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/GetUsersRequest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/GetUsersRequest.cs @@ -1,7 +1,5 @@ using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record GetUsersRequest diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchUsersRequest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchUsersRequest.cs index c9bcdec7a85..afce355961c 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchUsersRequest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/SearchUsersRequest.cs @@ -1,7 +1,5 @@ using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record SearchUsersRequest diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/UpdateUserRequest.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/UpdateUserRequest.cs index 753fc98e750..1518bdb45c0 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/UpdateUserRequest.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Requests/UpdateUserRequest.cs @@ -1,7 +1,5 @@ using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record UpdateUserRequest diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Types/User.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Types/User.cs index b8777f833fa..35651b59fc0 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Types/User.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public record User diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs index 7feed9dfa82..d27d48cf748 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedPathParameters.Core; -#nullable enable - namespace SeedPathParameters; public partial class UserClient @@ -29,16 +27,18 @@ public async Task GetUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{tenantId}/user/{userId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{tenantId}/user/{userId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -78,17 +78,19 @@ public async Task CreateUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/{tenantId}/user/", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/{tenantId}/user/", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -133,17 +135,19 @@ public async Task UpdateUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethodExtensions.Patch, - Path = $"/{tenantId}/user/{userId}", - Body = request.Body, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethodExtensions.Patch, + Path = $"/{tenantId}/user/{userId}", + Body = request.Body, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -182,17 +186,19 @@ public async Task> SearchUsersAsync( { _query["limit"] = request.Limit.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{tenantId}/user/{userId}/search", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{tenantId}/user/{userId}/search", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs index cd1c4c71035..3a8d675b55e 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedPlainText.Core; -namespace SeedPlainText.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedPlainText.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs index c9306d5f1f5..e74d66920c7 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedPlainText.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedPlainText.Test.Core +namespace SeedPlainText.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj index 3b02ac9f932..59f0032671b 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/SeedPlainText.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/TestClient.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/TestClient.cs index 1b552cf1b03..270ddbb374b 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/TestClient.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedPlainText.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/BaseMockServerTest.cs index 28166cb690b..fd4f881d60b 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedPlainText.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/GetTextTest.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/GetTextTest.cs index c57a05b1eca..4cd3f9a4229 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/GetTextTest.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Unit/MockServer/GetTextTest.cs @@ -1,8 +1,6 @@ using System.Threading.Tasks; using NUnit.Framework; -#nullable enable - namespace SeedPlainText.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs index b4945acd1e2..bad887006f6 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/IRequestOptions.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/IRequestOptions.cs index 910dc389243..b550514c0db 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedPlainText.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/ClientOptions.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/ClientOptions.cs index 3716eb15fbe..cf9cfbad594 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPlainText.Core; -#nullable enable - namespace SeedPlainText; public partial class ClientOptions diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/RequestOptions.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/RequestOptions.cs index 913fa574058..d3ef5596f30 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedPlainText.Core; -#nullable enable - namespace SeedPlainText; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/SeedPlainTextException.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/SeedPlainTextException.cs index 711e06a8a09..ff8f449c686 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/SeedPlainTextException.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/Public/SeedPlainTextException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedPlainText; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedPlainTextException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs index d52d8d39d7b..528fb691288 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedPlainText.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/SeedPlainTextClient.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/SeedPlainTextClient.cs index f658d488402..34bd63a590c 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/SeedPlainTextClient.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/SeedPlainTextClient.cs @@ -1,12 +1,10 @@ using SeedPlainText.Core; -#nullable enable - namespace SeedPlainText; public partial class SeedPlainTextClient { - private RawClient _client; + private readonly RawClient _client; public SeedPlainTextClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs index 6ea69562167..f038afbae44 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs @@ -2,8 +2,6 @@ using System.Threading; using SeedPlainText.Core; -#nullable enable - namespace SeedPlainText; public partial class ServiceClient @@ -25,16 +23,18 @@ public async Task GetTextAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "text", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "text", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs index 7520bcd04c2..45da8b99a32 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedQueryParameters.Core; -namespace SeedQueryParameters.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedQueryParameters.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs index 5c94cb38d44..e4c24d9e5ac 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedQueryParameters.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedQueryParameters.Test.Core +namespace SeedQueryParameters.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj index 3b50df96fec..11d3387d748 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/SeedQueryParameters.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/TestClient.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/TestClient.cs index 81f2a433d9d..82a9fa42647 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/TestClient.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedQueryParameters.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs index f87d05a9e66..b068214334c 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/IRequestOptions.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/IRequestOptions.cs index f7dcb543338..d462c76e600 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedQueryParameters.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/ClientOptions.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/ClientOptions.cs index 9280e07c584..7aa82b13d50 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public partial class ClientOptions diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/RequestOptions.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/RequestOptions.cs index a40ba7dcd20..fb058cea3c9 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/SeedQueryParametersException.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/SeedQueryParametersException.cs index ee69ee6a47d..02f76bcc7ac 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/SeedQueryParametersException.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/Public/SeedQueryParametersException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedQueryParameters; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedQueryParametersException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs index 5de447c2921..d54616bc0b2 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedQueryParameters.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/SeedQueryParametersClient.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/SeedQueryParametersClient.cs index cdc4c951dac..27313343236 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/SeedQueryParametersClient.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/SeedQueryParametersClient.cs @@ -1,12 +1,10 @@ using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public partial class SeedQueryParametersClient { - private RawClient _client; + private readonly RawClient _client; public SeedQueryParametersClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Requests/GetUsersRequest.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Requests/GetUsersRequest.cs index 8435f3e5ed7..9fdb6e51d40 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Requests/GetUsersRequest.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Requests/GetUsersRequest.cs @@ -1,7 +1,5 @@ using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public record GetUsersRequest diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/NestedUser.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/NestedUser.cs index a2ffd1ad963..1db95e35957 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/NestedUser.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/NestedUser.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public record NestedUser diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/User.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/User.cs index d73072eb183..b1679e7728b 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/User.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public record User diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs index a95dfd07655..a634b2bf6a1 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedQueryParameters.Core; -#nullable enable - namespace SeedQueryParameters; public partial class UserClient @@ -50,17 +48,19 @@ public async Task GetUsernameAsync( { _query["optionalUser"] = JsonUtils.Serialize(request.OptionalUser); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/user", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/user", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs index ea17672d755..6211f26757e 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedNurseryApi.Core; -namespace SeedNurseryApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedNurseryApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs index 2c5172bf0ba..3d166e488f1 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedNurseryApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedNurseryApi.Test.Core +namespace SeedNurseryApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj index 74f9aaff825..7b97b09799e 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/SeedNurseryApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/TestClient.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/TestClient.cs index 87cfea03c0c..88d7407315c 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/TestClient.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedNurseryApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/BaseMockServerTest.cs index ea4d2345626..cc39e1b8e40 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedNurseryApi.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/TestTest.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/TestTest.cs index 4cdd9ba9a43..9736b944383 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/TestTest.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Unit/MockServer/TestTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedNurseryApi; -#nullable enable - namespace SeedNurseryApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs index 9048880e571..0043ac55a1c 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/IRequestOptions.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/IRequestOptions.cs index 76eaf16db35..abc5fc442aa 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedNurseryApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/ClientOptions.cs index c9c9d05c77d..ab81a4eaab2 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/RequestOptions.cs index b8adb31a155..b5eb5dc7461 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/SeedNurseryApiException.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/SeedNurseryApiException.cs index d914dce7dd5..402aeab0594 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/SeedNurseryApiException.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/Public/SeedNurseryApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedNurseryApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedNurseryApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs index 8c367b0a2ed..1344765e25d 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedNurseryApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/PackageClient.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/PackageClient.cs index 28dd823a569..a6d6031b784 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/PackageClient.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/PackageClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public partial class PackageClient @@ -29,17 +27,19 @@ public async Task TestAsync( { var _query = new Dictionary(); _query["for"] = request.For; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Requests/TestRequest.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Requests/TestRequest.cs index 00b4adc0823..0f5659fafb2 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Requests/TestRequest.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Requests/TestRequest.cs @@ -1,7 +1,5 @@ using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public record TestRequest diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Package.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Package.cs index cca7e491507..016bd5cad89 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Package.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Package.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public record Package diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Record.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Record.cs index 3b377de32fb..01be68038e8 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Record.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Package/Types/Record.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public record Record diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/SeedNurseryApiClient.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/SeedNurseryApiClient.cs index d9b6c4b7c90..ab522671bdc 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/SeedNurseryApiClient.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/SeedNurseryApiClient.cs @@ -1,12 +1,10 @@ using SeedNurseryApi.Core; -#nullable enable - namespace SeedNurseryApi; public partial class SeedNurseryApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedNurseryApiClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs index a5ced53c6f0..987723885f1 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedResponseProperty.Core; -namespace SeedResponseProperty.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedResponseProperty.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs index 6b6251963ff..9836ba61cc9 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedResponseProperty.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedResponseProperty.Test.Core +namespace SeedResponseProperty.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj index 1d97c50a616..5f00e1448d1 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/SeedResponseProperty.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/TestClient.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/TestClient.cs index cb96b4d2f31..bcd41638ec1 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/TestClient.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedResponseProperty.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs index 6f423b5180d..13155347aba 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/IRequestOptions.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/IRequestOptions.cs index cec5c40ae92..222b8acb95b 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedResponseProperty.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/ClientOptions.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/ClientOptions.cs index c1e497d49f6..56b11557f21 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public partial class ClientOptions diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/RequestOptions.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/RequestOptions.cs index d1f1f09a7ff..86529c43f87 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/SeedResponsePropertyException.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/SeedResponsePropertyException.cs index b0abfe94a47..d557e8415de 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/SeedResponsePropertyException.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/Public/SeedResponsePropertyException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedResponseProperty; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedResponsePropertyException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs index 12c473996a0..d21dd19bbac 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedResponseProperty.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/SeedResponsePropertyClient.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/SeedResponsePropertyClient.cs index 3f8e348150e..e8b2c02e64d 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/SeedResponsePropertyClient.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/SeedResponsePropertyClient.cs @@ -1,12 +1,10 @@ using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public partial class SeedResponsePropertyClient { - private RawClient _client; + private readonly RawClient _client; public SeedResponsePropertyClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs index e70c7c6a6c4..53a7531747d 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public partial class ServiceClient @@ -27,17 +25,19 @@ public async Task GetMovieAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -69,17 +69,19 @@ public async Task GetMovieDocsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -111,17 +113,19 @@ public async Task GetMovieNameAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -153,17 +157,19 @@ public async Task GetMovieMetadataAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -195,17 +201,19 @@ public async Task GetMovieMetadataAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -237,17 +245,19 @@ public async Task GetMovieMetadataAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -279,17 +289,19 @@ public async Task GetMovieMetadataAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "movie", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "movie", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Movie.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Movie.cs index 9917698248a..3efdc04ee70 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Movie.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Movie.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record Movie diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Response.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Response.cs index a1e98278fa1..df659fe0d3f 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Response.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/Response.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record Response diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/WithDocs.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/WithDocs.cs index 3613dd46056..e883124c173 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/WithDocs.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/Types/WithDocs.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record WithDocs diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/StringResponse.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/StringResponse.cs index 451ccd4d554..38d39e0ac25 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/StringResponse.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/StringResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record StringResponse diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/WithMetadata.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/WithMetadata.cs index 600ff16f1ea..edde6aac9a9 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/WithMetadata.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Types/WithMetadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedResponseProperty.Core; -#nullable enable - namespace SeedResponseProperty; public record WithMetadata diff --git a/seed/csharp-sdk/seed.yml b/seed/csharp-sdk/seed.yml index 3a49ac5bab7..610bc10cf98 100644 --- a/seed/csharp-sdk/seed.yml +++ b/seed/csharp-sdk/seed.yml @@ -21,6 +21,7 @@ publish: file: ./generators/csharp/sdk/Dockerfile image: fernapi/fern-csharp-sdk context: . + dockerignore-path: ./generators/csharp/sdk/.dockerignore test: docker: image: fernapi/fern-csharp-sdk:latest diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs index 9473023217f..37a1a6e782a 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedServerSentEvents.Core; -namespace SeedServerSentEvents.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedServerSentEvents.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs index 42f412c3b10..639d7967d88 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedServerSentEvents.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedServerSentEvents.Test.Core +namespace SeedServerSentEvents.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj index 7f8fa6bf18f..a6f59da2c58 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/TestClient.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/TestClient.cs index 74acfb89b21..e5f7759f292 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/TestClient.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedServerSentEvents.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/CompletionsClient.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/CompletionsClient.cs index 53d44098376..8185888e055 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/CompletionsClient.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/CompletionsClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class CompletionsClient @@ -27,17 +25,19 @@ public async Task StreamAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "stream", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "stream", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); throw new SeedServerSentEventsApiException( $"Error with status code {response.StatusCode}", diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs index 3d5461dd219..43be3ad1976 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public record StreamCompletionRequest diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs index 42b2117e3c2..a94796efa22 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public record StreamedCompletion diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs index 98010900521..9fb7421af05 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/IRequestOptions.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/IRequestOptions.cs index 4538e9557ef..2f158a6792e 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedServerSentEvents.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/ClientOptions.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/ClientOptions.cs index 14f8a08b692..d9010267cb5 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class ClientOptions diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/RequestOptions.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/RequestOptions.cs index 26f47b4543a..32b0c271f7d 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs index 63d07005ada..3702f73e279 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedServerSentEvents; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedServerSentEventsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs index 07cce659ff3..a1505b8b875 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedServerSentEvents.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/SeedServerSentEventsClient.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/SeedServerSentEventsClient.cs index a571811abfe..d7722d72572 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/SeedServerSentEventsClient.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/SeedServerSentEventsClient.cs @@ -1,12 +1,10 @@ using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class SeedServerSentEventsClient { - private RawClient _client; + private readonly RawClient _client; public SeedServerSentEventsClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs index 9473023217f..37a1a6e782a 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedServerSentEvents.Core; -namespace SeedServerSentEvents.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedServerSentEvents.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs index 42f412c3b10..639d7967d88 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedServerSentEvents.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedServerSentEvents.Test.Core +namespace SeedServerSentEvents.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj index 7f8fa6bf18f..a6f59da2c58 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/SeedServerSentEvents.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/TestClient.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/TestClient.cs index 74acfb89b21..e5f7759f292 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/TestClient.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedServerSentEvents.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/CompletionsClient.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/CompletionsClient.cs index 34f57406320..c8f38e54dc2 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/CompletionsClient.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/CompletionsClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class CompletionsClient @@ -27,17 +25,19 @@ public async Task StreamAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "stream", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "stream", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); throw new SeedServerSentEventsApiException( $"Error with status code {response.StatusCode}", diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs index 3d5461dd219..43be3ad1976 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Requests/StreamCompletionRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public record StreamCompletionRequest diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs index 42b2117e3c2..a94796efa22 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Completions/Types/StreamedCompletion.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public record StreamedCompletion diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs index 98010900521..9fb7421af05 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/IRequestOptions.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/IRequestOptions.cs index 4538e9557ef..2f158a6792e 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedServerSentEvents.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/ClientOptions.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/ClientOptions.cs index 14f8a08b692..d9010267cb5 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class ClientOptions diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/RequestOptions.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/RequestOptions.cs index 26f47b4543a..32b0c271f7d 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs index 63d07005ada..3702f73e279 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/Public/SeedServerSentEventsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedServerSentEvents; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedServerSentEventsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs index 07cce659ff3..a1505b8b875 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedServerSentEvents.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/SeedServerSentEventsClient.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/SeedServerSentEventsClient.cs index 09c8e604565..8591d33885f 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/SeedServerSentEventsClient.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/SeedServerSentEventsClient.cs @@ -1,12 +1,10 @@ using SeedServerSentEvents.Core; -#nullable enable - namespace SeedServerSentEvents; public partial class SeedServerSentEventsClient { - private RawClient _client; + private readonly RawClient _client; public SeedServerSentEventsClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs index 089745538a5..7f7f0ec44f7 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedApi.Core; -namespace SeedApi.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedApi.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs index df141253267..aeba749eaf9 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedApi.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedApi.Test.Core +namespace SeedApi.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj index 8e6f53c1970..57b04e4d472 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/SeedApi.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/TestClient.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/TestClient.cs index f1550b51fff..18aaa67904d 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/TestClient.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedApi.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs index 564aee6a060..6bf4f545127 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/GetAccountTest.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/GetAccountTest.cs index 89d6dc6a64f..cce8b3c7275 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/GetAccountTest.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Unit/MockServer/GetAccountTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedApi.Core; -#nullable enable - namespace SeedApi.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs index af2c9adf7a7..551275290b2 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/IRequestOptions.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/IRequestOptions.cs index e365cd162f0..db9b180e6b9 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedApi.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/ClientOptions.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/ClientOptions.cs index f20d80e0f4b..271bd19ea9a 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class ClientOptions diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/RequestOptions.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/RequestOptions.cs index 4d560f8337a..8d5f9287670 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/SeedApiException.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/SeedApiException.cs index 14d9b8d9ddd..3e095961182 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/SeedApiException.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/Public/SeedApiException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedApi; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedApiException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs index 0f8bfd7c7ca..846da19984b 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedApi.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs index f1d0fcc5056..06e8e6cbc75 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs @@ -3,13 +3,11 @@ using System.Threading; using SeedApi.Core; -#nullable enable - namespace SeedApi; public partial class SeedApiClient { - private RawClient _client; + private readonly RawClient _client; public SeedApiClient(ClientOptions? clientOptions = null) { @@ -44,16 +42,18 @@ public async Task GetAccountAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"account/{accountId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"account/{accountId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Account.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Account.cs index 97991b3feb9..3bad93d5339 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Account.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Account.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Account diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/BaseResource.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/BaseResource.cs index c49d249b499..41ef9db048d 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/BaseResource.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/BaseResource.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record BaseResource diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Memo.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Memo.cs index 4023dc4cfba..5c030110795 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Memo.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Memo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Memo diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Patient.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Patient.cs index 2c6c20626a3..b2c680a226e 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Patient.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Patient.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Patient diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Practitioner.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Practitioner.cs index ea20394731e..c09b3df6013 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Practitioner.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Practitioner.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Practitioner diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Script.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Script.cs index d7ecd1b2d77..5ca768f32dc 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Script.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Types/Script.cs @@ -2,8 +2,6 @@ using OneOf; using SeedApi.Core; -#nullable enable - namespace SeedApi; public record Script diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs index 07df691d3bb..72cf8183af8 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedSingleUrlEnvironmentDefault.Core; -namespace SeedSingleUrlEnvironmentDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedSingleUrlEnvironmentDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs index b4b5d391308..290b111bc46 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedSingleUrlEnvironmentDefault.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedSingleUrlEnvironmentDefault.Test.Core +namespace SeedSingleUrlEnvironmentDefault.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj index 1a2dd4152f7..db0c4f67d5f 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/SeedSingleUrlEnvironmentDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/TestClient.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/TestClient.cs index a84f129a6b8..75d6f6b700f 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/TestClient.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/BaseMockServerTest.cs index 3eb56e9543d..0c71f8bb886 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/GetDummyTest.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/GetDummyTest.cs index b94a9199586..1bb18e7db00 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/GetDummyTest.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Unit/MockServer/GetDummyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedSingleUrlEnvironmentDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs index 6e586cf9cac..a391df22640 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/IRequestOptions.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/IRequestOptions.cs index 61bbe6c0d30..046526952cc 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/ClientOptions.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/ClientOptions.cs index 493c7aedea4..65d2f2f7e10 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedSingleUrlEnvironmentDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault; public partial class ClientOptions diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/RequestOptions.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/RequestOptions.cs index 424cb5856a3..5069aa5b69d 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedSingleUrlEnvironmentDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultEnvironment.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultEnvironment.cs index c18755b33c9..8dee6602600 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultEnvironment.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultEnvironment.cs @@ -2,7 +2,7 @@ namespace SeedSingleUrlEnvironmentDefault; public class SeedSingleUrlEnvironmentDefaultEnvironment { - public static string Production = "https://production.com/api"; + public const string Production = "https://production.com/api"; - public static string Staging = "https://staging.com/api"; + public const string Staging = "https://staging.com/api"; } diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultException.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultException.cs index 56006caaf2b..85772729ded 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultException.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/Public/SeedSingleUrlEnvironmentDefaultException.cs @@ -1,7 +1,5 @@ using System; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault; /// @@ -10,4 +8,4 @@ namespace SeedSingleUrlEnvironmentDefault; public class SeedSingleUrlEnvironmentDefaultException( string message, Exception? innerException = null -) : Exception(message, innerException) { } +) : Exception(message, innerException); diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs index e97869c6baf..5c4dce5ddd6 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedSingleUrlEnvironmentDefault.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs index ab6ebce738c..9a8687eee29 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedSingleUrlEnvironmentDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault; public partial class DummyClient @@ -26,16 +24,18 @@ public async Task GetDummyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "dummy", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "dummy", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/SeedSingleUrlEnvironmentDefaultClient.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/SeedSingleUrlEnvironmentDefaultClient.cs index 4bc12caf21a..1d8b728a9ff 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/SeedSingleUrlEnvironmentDefaultClient.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/SeedSingleUrlEnvironmentDefaultClient.cs @@ -1,12 +1,10 @@ using SeedSingleUrlEnvironmentDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentDefault; public partial class SeedSingleUrlEnvironmentDefaultClient { - private RawClient _client; + private readonly RawClient _client; public SeedSingleUrlEnvironmentDefaultClient( string? token = null, diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs index b4d073e3119..9e152d8581f 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedSingleUrlEnvironmentNoDefault.Core; -namespace SeedSingleUrlEnvironmentNoDefault.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedSingleUrlEnvironmentNoDefault.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs index 2124be500c5..ebff8a50f99 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedSingleUrlEnvironmentNoDefault.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedSingleUrlEnvironmentNoDefault.Test.Core +namespace SeedSingleUrlEnvironmentNoDefault.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj index 970b922df3a..2d5599c8812 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/SeedSingleUrlEnvironmentNoDefault.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/TestClient.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/TestClient.cs index c3dd3216ce2..66a1b133a7e 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/TestClient.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/BaseMockServerTest.cs index 1222fb88d43..06b847039ac 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/GetDummyTest.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/GetDummyTest.cs index d3b275ac7e6..38fb2695300 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/GetDummyTest.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Unit/MockServer/GetDummyTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedSingleUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs index 915d8a8f1ab..fd2912b571b 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/IRequestOptions.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/IRequestOptions.cs index 803f8216a81..336f1fa308e 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs index c54183ad114..939c76aa587 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedSingleUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault; public partial class ClientOptions diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs index fe55f51d549..20430dbafaf 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedSingleUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultEnvironment.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultEnvironment.cs index d3eaaf01514..779bede14f2 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultEnvironment.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultEnvironment.cs @@ -2,7 +2,7 @@ namespace SeedSingleUrlEnvironmentNoDefault; public class SeedSingleUrlEnvironmentNoDefaultEnvironment { - public static string Production = "https://production.com/api"; + public const string Production = "https://production.com/api"; - public static string Staging = "https://staging.com/api"; + public const string Staging = "https://staging.com/api"; } diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultException.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultException.cs index 39033a15689..cb0167a6a48 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultException.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/Public/SeedSingleUrlEnvironmentNoDefaultException.cs @@ -1,7 +1,5 @@ using System; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault; /// @@ -10,4 +8,4 @@ namespace SeedSingleUrlEnvironmentNoDefault; public class SeedSingleUrlEnvironmentNoDefaultException( string message, Exception? innerException = null -) : Exception(message, innerException) { } +) : Exception(message, innerException); diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs index baea1883b75..5123d7db0ed 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedSingleUrlEnvironmentNoDefault.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs index 52531a50aa3..dcabc068e42 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedSingleUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault; public partial class DummyClient @@ -26,16 +24,18 @@ public async Task GetDummyAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "dummy", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "dummy", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/SeedSingleUrlEnvironmentNoDefaultClient.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/SeedSingleUrlEnvironmentNoDefaultClient.cs index 90f85c32c8a..10da9f71a74 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/SeedSingleUrlEnvironmentNoDefaultClient.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/SeedSingleUrlEnvironmentNoDefaultClient.cs @@ -1,12 +1,10 @@ using SeedSingleUrlEnvironmentNoDefault.Core; -#nullable enable - namespace SeedSingleUrlEnvironmentNoDefault; public partial class SeedSingleUrlEnvironmentNoDefaultClient { - private RawClient _client; + private readonly RawClient _client; public SeedSingleUrlEnvironmentNoDefaultClient( string? token = null, diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs index b0fefdd9a52..c356e036288 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedStreaming.Core; -namespace SeedStreaming.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedStreaming.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs index ed2389b4ab7..8c3834216a0 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedStreaming.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedStreaming.Test.Core +namespace SeedStreaming.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj index 77d9031c2ce..22fb02dbe6f 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/SeedStreaming.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/TestClient.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/TestClient.cs index 11a6b55d46c..d4740b674cb 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/TestClient.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedStreaming.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs index ba21d84e004..88e6e8c94a1 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/IRequestOptions.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/IRequestOptions.cs index 7307572a91f..c27ce28d5c3 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedStreaming.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/ClientOptions.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/ClientOptions.cs index 3c334416fdb..5e8b93af752 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class ClientOptions diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/RequestOptions.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/RequestOptions.cs index 2389123ad18..49ae46b85ed 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/SeedStreamingException.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/SeedStreamingException.cs index 6b255b07614..67548b610b4 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/SeedStreamingException.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/Public/SeedStreamingException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedStreaming; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedStreamingException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs index c7bc67d7a77..bf05424d22e 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedStreaming.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/DummyClient.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/DummyClient.cs index d2df093666b..4c53eaa93ce 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/DummyClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class DummyClient @@ -27,17 +25,19 @@ public async Task GenerateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "generate", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "generate", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); throw new SeedStreamingApiException( $"Error with status code {response.StatusCode}", diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Requests/GenerateRequest.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Requests/GenerateRequest.cs index 45a2c3b6c0b..5deab392cd8 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Requests/GenerateRequest.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Requests/GenerateRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record GenerateRequest diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/RegularResponse.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/RegularResponse.cs index b1f8be6d782..e36910e6b4c 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/RegularResponse.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/RegularResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record RegularResponse diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/StreamResponse.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/StreamResponse.cs index 263c46921ed..efe73778860 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/StreamResponse.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Dummy/Types/StreamResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record StreamResponse diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/SeedStreamingClient.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/SeedStreamingClient.cs index c5d387b78e5..d3602a61960 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/SeedStreamingClient.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/SeedStreamingClient.cs @@ -1,12 +1,10 @@ using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class SeedStreamingClient { - private RawClient _client; + private readonly RawClient _client; public SeedStreamingClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs index b0fefdd9a52..c356e036288 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedStreaming.Core; -namespace SeedStreaming.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedStreaming.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs index ed2389b4ab7..8c3834216a0 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedStreaming.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedStreaming.Test.Core +namespace SeedStreaming.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj index 77d9031c2ce..22fb02dbe6f 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj +++ b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/SeedStreaming.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/TestClient.cs b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/TestClient.cs index 11a6b55d46c..d4740b674cb 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/TestClient.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedStreaming.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/BaseMockServerTest.cs index fd98ae52e0d..8780f029d72 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedStreaming.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/GenerateTest.cs b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/GenerateTest.cs index dcbd3c19045..c2c32b7ab18 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/GenerateTest.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Unit/MockServer/GenerateTest.cs @@ -5,8 +5,6 @@ using SeedStreaming; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs index ba21d84e004..88e6e8c94a1 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/IRequestOptions.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/IRequestOptions.cs index 7307572a91f..c27ce28d5c3 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedStreaming.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/ClientOptions.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/ClientOptions.cs index 3c334416fdb..5e8b93af752 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class ClientOptions diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/RequestOptions.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/RequestOptions.cs index 2389123ad18..49ae46b85ed 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/SeedStreamingException.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/SeedStreamingException.cs index 6b255b07614..67548b610b4 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/SeedStreamingException.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/Public/SeedStreamingException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedStreaming; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedStreamingException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs index c7bc67d7a77..bf05424d22e 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedStreaming.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/DummyClient.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/DummyClient.cs index 755963387c8..6bde0dcfaab 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/DummyClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class DummyClient @@ -28,17 +26,19 @@ public async Task GenerateStreamAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "generate-stream", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "generate-stream", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); throw new SeedStreamingApiException( $"Error with status code {response.StatusCode}", @@ -58,17 +58,19 @@ public async Task GenerateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "generate", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "generate", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/GenerateStreamRequest.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/GenerateStreamRequest.cs index 8d5288a82e2..fe067894b33 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/GenerateStreamRequest.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/GenerateStreamRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record GenerateStreamRequest diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/Generateequest.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/Generateequest.cs index d945717f1c9..5a8bcc431ef 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/Generateequest.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Requests/Generateequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record Generateequest diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Types/StreamResponse.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Types/StreamResponse.cs index 263c46921ed..efe73778860 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Types/StreamResponse.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Dummy/Types/StreamResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public record StreamResponse diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/SeedStreamingClient.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/SeedStreamingClient.cs index ebeb638f751..38d7d5eab67 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/SeedStreamingClient.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/SeedStreamingClient.cs @@ -1,12 +1,10 @@ using SeedStreaming.Core; -#nullable enable - namespace SeedStreaming; public partial class SeedStreamingClient { - private RawClient _client; + private readonly RawClient _client; public SeedStreamingClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs index 46d97ee294b..4d1024b712c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedTrace.Core; -namespace SeedTrace.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedTrace.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs index bef4ed83e7d..a222df6f983 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedTrace.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedTrace.Test.Core +namespace SeedTrace.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/SeedTrace.Test.csproj b/seed/csharp-sdk/trace/src/SeedTrace.Test/SeedTrace.Test.csproj index ddcf1a5d704..8bf609fcda7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/SeedTrace.Test.csproj +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/SeedTrace.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/TestClient.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/TestClient.cs index e2c745fbe03..387c70e09d1 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/TestClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/BaseMockServerTest.cs index b816736afab..c23a66a94ff 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateExecutionSessionTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateExecutionSessionTest.cs index dec6f3c9f4f..1203ead838c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateExecutionSessionTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateExecutionSessionTest.cs @@ -5,8 +5,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreatePlaylistTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreatePlaylistTest.cs index d4f02f9f353..8f030968364 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreatePlaylistTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreatePlaylistTest.cs @@ -6,8 +6,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateProblemTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateProblemTest.cs index 00d5f6b8b0b..27ddabd3f59 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateProblemTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/CreateProblemTest.cs @@ -5,8 +5,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeletePlaylistTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeletePlaylistTest.cs index 352f8df1126..d9784dcb7df 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeletePlaylistTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeletePlaylistTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeleteProblemTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeleteProblemTest.cs index 4bf351e7c7f..78ef56d3ca9 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeleteProblemTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/DeleteProblemTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetAttemptedMigrationsTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetAttemptedMigrationsTest.cs index 3a43e996daa..d30c204748b 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetAttemptedMigrationsTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetAttemptedMigrationsTest.cs @@ -5,8 +5,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetDefaultStarterFilesTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetDefaultStarterFilesTest.cs index d8bd08fe454..c0493a2705c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetDefaultStarterFilesTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetDefaultStarterFilesTest.cs @@ -5,8 +5,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionTest.cs index 56106273c54..aeecd60fa09 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionsStateTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionsStateTest.cs index 1bacd83e915..601f0858b91 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionsStateTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetExecutionSessionsStateTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetHomepageProblemsTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetHomepageProblemsTest.cs index 6abf94b3169..35d74221ea6 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetHomepageProblemsTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetHomepageProblemsTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLatestProblemTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLatestProblemTest.cs index cff6e1391e1..0a754b7b73a 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLatestProblemTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLatestProblemTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLightweightProblemsTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLightweightProblemsTest.cs index 04a3eeeedd3..b25628c84e9 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLightweightProblemsTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetLightweightProblemsTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetNumWarmInstancesTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetNumWarmInstancesTest.cs index 7ca39bc8b88..13ce12c6b42 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetNumWarmInstancesTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetNumWarmInstancesTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistTest.cs index d825fdcf7d3..478f476f5e2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistsTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistsTest.cs index 719c6032545..b98b13dd070 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistsTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetPlaylistsTest.cs @@ -5,8 +5,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemVersionTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemVersionTest.cs index aae480381cf..f91b62934f7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemVersionTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemVersionTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemsTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemsTest.cs index 681f8a986b0..50845581d84 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemsTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/GetProblemsTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendTestSubmissionUpdateTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendTestSubmissionUpdateTest.cs index 8876fa23ab8..3e091b78481 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendTestSubmissionUpdateTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendTestSubmissionUpdateTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedTrace; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendWorkspaceSubmissionUpdateTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendWorkspaceSubmissionUpdateTest.cs index 44cc8f9e3c4..23f2f482cf1 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendWorkspaceSubmissionUpdateTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SendWorkspaceSubmissionUpdateTest.cs @@ -2,8 +2,6 @@ using NUnit.Framework; using SeedTrace; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetHomepageProblemsTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetHomepageProblemsTest.cs index 27d4a4c61f1..3900dacc44f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetHomepageProblemsTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetHomepageProblemsTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetNumWarmInstancesTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetNumWarmInstancesTest.cs index 544cb12abbd..8f900932bfc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetNumWarmInstancesTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/SetNumWarmInstancesTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedTrace; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StopExecutionSessionTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StopExecutionSessionTest.cs index a1b956519e6..8cd29dc31ee 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StopExecutionSessionTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StopExecutionSessionTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseTest.cs index e7c860f8dbf..149c364dfc8 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedTrace; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseV2Test.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseV2Test.cs index 1571bef498a..6d122df4168 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseV2Test.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedTestCaseV2Test.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedTrace; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceTest.cs index 2ee1831cfdc..65298366d11 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceTest.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedTrace; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceV2Test.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceV2Test.cs index b8a5098f953..e355d70ff3f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceV2Test.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/StoreTracedWorkspaceV2Test.cs @@ -1,8 +1,6 @@ using NUnit.Framework; using SeedTrace; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/TestTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/TestTest.cs index 50dea121c13..6be9c2a15f4 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/TestTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/TestTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdatePlaylistTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdatePlaylistTest.cs index 1218665b44d..f61046a7d58 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdatePlaylistTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdatePlaylistTest.cs @@ -5,8 +5,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateProblemTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateProblemTest.cs index f5bd32b05a3..6984de83424 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateProblemTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateProblemTest.cs @@ -5,8 +5,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateTestSubmissionStatusTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateTestSubmissionStatusTest.cs index 86e613748d1..2bc909b51dc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateTestSubmissionStatusTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateTestSubmissionStatusTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateWorkspaceSubmissionStatusTest.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateWorkspaceSubmissionStatusTest.cs index 872fa4a1811..ac73da47935 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateWorkspaceSubmissionStatusTest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Unit/MockServer/UpdateWorkspaceSubmissionStatusTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedTrace.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Admin/AdminClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Admin/AdminClient.cs index d9b64cf0d55..80ed66db0c5 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Admin/AdminClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Admin/AdminClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class AdminClient @@ -31,17 +29,19 @@ public async Task UpdateTestSubmissionStatusAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/admin/store-test-submission-status/{submissionId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/admin/store-test-submission-status/{submissionId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -73,17 +73,19 @@ public async Task SendTestSubmissionUpdateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/admin/store-test-submission-status-v2/{submissionId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/admin/store-test-submission-status-v2/{submissionId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -111,17 +113,19 @@ public async Task UpdateWorkspaceSubmissionStatusAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/admin/store-workspace-submission-status/{submissionId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/admin/store-workspace-submission-status/{submissionId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -153,17 +157,19 @@ public async Task SendWorkspaceSubmissionUpdateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/admin/store-workspace-submission-status-v2/{submissionId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/admin/store-workspace-submission-status-v2/{submissionId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -264,17 +270,20 @@ public async Task StoreTracedTestCaseAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/admin/store-test-trace/submission/{submissionId}/testCase/{testCaseId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = + $"/admin/store-test-trace/submission/{submissionId}/testCase/{testCaseId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -364,18 +373,20 @@ public async Task StoreTracedTestCaseV2Async( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = - $"/admin/store-test-trace-v2/submission/{submissionId}/testCase/{testCaseId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = + $"/admin/store-test-trace-v2/submission/{submissionId}/testCase/{testCaseId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -480,17 +491,19 @@ public async Task StoreTracedWorkspaceAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/admin/store-workspace-trace/submission/{submissionId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/admin/store-workspace-trace/submission/{submissionId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -578,17 +591,19 @@ public async Task StoreTracedWorkspaceV2Async( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/admin/store-workspace-trace-v2/submission/{submissionId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/admin/store-workspace-trace-v2/submission/{submissionId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedTestCaseRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedTestCaseRequest.cs index f00e2415571..5449fb69dd1 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedTestCaseRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedTestCaseRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StoreTracedTestCaseRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedWorkspaceRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedWorkspaceRequest.cs index c7e57de1e17..4d4755616cc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedWorkspaceRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Admin/Requests/StoreTracedWorkspaceRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StoreTracedWorkspaceRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/CommonsClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/CommonsClient.cs index 4819add8507..17adf335be2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/CommonsClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/CommonsClient.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class CommonsClient diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeAndTreeValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeAndTreeValue.cs index 71fa741b4e3..f716116dccd 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeAndTreeValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeAndTreeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BinaryTreeNodeAndTreeValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeValue.cs index a83ec652c03..dc260285ed6 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeNodeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BinaryTreeNodeValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeValue.cs index fd3b7aa3e03..6c84d5bd1f5 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/BinaryTreeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BinaryTreeValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugKeyValuePairs.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugKeyValuePairs.cs index 13aadbcfc56..4c8fabe77d5 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugKeyValuePairs.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugKeyValuePairs.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DebugKeyValuePairs diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugMapValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugMapValue.cs index 60b8c10fd0b..9b6553c9343 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugMapValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DebugMapValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DebugMapValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeAndListValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeAndListValue.cs index f37362d178d..926fbd13799 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeAndListValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeAndListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DoublyLinkedListNodeAndListValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeValue.cs index 42902d46b2a..9d33a1defe7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListNodeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DoublyLinkedListNodeValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListValue.cs index cae1c44a5c0..c5a013f38eb 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/DoublyLinkedListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record DoublyLinkedListValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/FileInfo.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/FileInfo.cs index 6f98d83c27b..8a29a2746c2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/FileInfo.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/FileInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record FileInfo diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/GenericValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/GenericValue.cs index 2949a97030e..80713c6cf25 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/GenericValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/GenericValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GenericValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/KeyValuePair.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/KeyValuePair.cs index 20cae34679d..5452541409c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/KeyValuePair.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/KeyValuePair.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record KeyValuePair diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/Language.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/Language.cs index d982c9145c3..a28f831d51c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/Language.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/Language.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/ListType.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/ListType.cs index 0b5ee5647f4..ec2945adeb2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/ListType.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/ListType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ListType diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapType.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapType.cs index 3b68aeebb2c..01d7b4f1feb 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapType.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapType.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record MapType diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapValue.cs index 2b3c6d449b5..5b898934fc8 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/MapValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record MapValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeAndListValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeAndListValue.cs index 644cca686c4..6ca453d29e1 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeAndListValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeAndListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SinglyLinkedListNodeAndListValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeValue.cs index 6a44821895a..f62bcfc2707 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListNodeValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SinglyLinkedListNodeValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListValue.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListValue.cs index e0ee1c15e38..224ac3cd848 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListValue.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/SinglyLinkedListValue.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SinglyLinkedListValue diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCase.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCase.cs index 8bd45f58b15..95cd19c44ec 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCase.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCase.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCase diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCaseWithExpectedResult.cs b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCaseWithExpectedResult.cs index 784f06df37e..30e74e1b4b7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCaseWithExpectedResult.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Commons/Types/TestCaseWithExpectedResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseWithExpectedResult diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/CollectionItemSerializer.cs index ec386bfbafc..8fb79ea7047 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/IRequestOptions.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/IRequestOptions.cs index de14fedc797..7bd2cf34c1f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedTrace.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/ClientOptions.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/ClientOptions.cs index 920db12c1b3..72418b2c174 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class ClientOptions diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/RequestOptions.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/RequestOptions.cs index 7754080f09b..b7774645cf9 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceEnvironment.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceEnvironment.cs index 7b7810c0869..7bf2270f43a 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceEnvironment.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceEnvironment.cs @@ -2,5 +2,5 @@ namespace SeedTrace; public class SeedTraceEnvironment { - public static string Prod = "https://api.trace.come"; + public const string Prod = "https://api.trace.come"; } diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceException.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceException.cs index d3dc0c44ebc..32dbfa16491 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceException.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/Public/SeedTraceException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedTrace; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedTraceException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs index 1c714b3e0bd..6f8feb287e0 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedTrace.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Homepage/HomepageClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Homepage/HomepageClient.cs index 091ec8a9fb2..b6a1c62e362 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Homepage/HomepageClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Homepage/HomepageClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class HomepageClient @@ -27,16 +25,18 @@ public async Task> GetHomepageProblemsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/homepage-problems", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/homepage-problems", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -68,17 +68,19 @@ public async Task SetHomepageProblemsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/homepage-problems", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/homepage-problems", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/trace/src/SeedTrace/LangServer/LangServerClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/LangServer/LangServerClient.cs index 71fde1da8d2..45987549b1a 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/LangServer/LangServerClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/LangServer/LangServerClient.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class LangServerClient diff --git a/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerRequest.cs index c7bfb55bbe4..c8241a9753f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record LangServerRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerResponse.cs index b052099d5d3..d786d1a6c28 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/LangServer/Types/LangServerResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record LangServerResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs index 24e78bb5108..a9af8ac0143 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class MigrationClient @@ -32,17 +30,19 @@ public async Task> GetAttemptedMigrationsAsync( var _headers = new Headers( new Dictionary() { { "admin-key-header", request.AdminKeyHeader } } ); - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/migration-info/all", - Headers = _headers, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/migration-info/all", + Headers = _headers, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Migration/Requests/GetAttemptedMigrationsRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Migration/Requests/GetAttemptedMigrationsRequest.cs index 2f6bebc322a..5e931dda564 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Migration/Requests/GetAttemptedMigrationsRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Migration/Requests/GetAttemptedMigrationsRequest.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetAttemptedMigrationsRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/Migration.cs b/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/Migration.cs index 21165e3ac36..d34bbf02976 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/Migration.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/Migration.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record Migration diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/MigrationStatus.cs b/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/MigrationStatus.cs index 29788ae4ad4..c3839aa1935 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/MigrationStatus.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Migration/Types/MigrationStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Exceptions/UnauthorizedError.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Exceptions/UnauthorizedError.cs index 583dd2ae6e7..8a224f04f2b 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Exceptions/UnauthorizedError.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Exceptions/UnauthorizedError.cs @@ -3,5 +3,4 @@ namespace SeedTrace; /// /// This exception type will be thrown for any non-2XX API responses. /// -public class UnauthorizedError(object body) - : SeedTraceApiException("UnauthorizedError", 401, body) { } +public class UnauthorizedError(object body) : SeedTraceApiException("UnauthorizedError", 401, body); diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/PlaylistClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/PlaylistClient.cs index 19387b3b2cd..59c675cd8fd 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/PlaylistClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/PlaylistClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class PlaylistClient @@ -52,18 +50,20 @@ public async Task CreatePlaylistAsync( Constants.DateTimeFormat ); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/v2/playlist/{serviceParam}/create", - Body = request.Body, - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/v2/playlist/{serviceParam}/create", + Body = request.Body, + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -118,17 +118,19 @@ public async Task> GetPlaylistsAsync( { _query["limit"] = request.Limit.Value.ToString(); } - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/v2/playlist/{serviceParam}/all", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/v2/playlist/{serviceParam}/all", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -164,16 +166,18 @@ public async Task GetPlaylistAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/v2/playlist/{serviceParam}/{playlistId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/v2/playlist/{serviceParam}/{playlistId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -218,17 +222,19 @@ public async Task GetPlaylistAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/v2/playlist/{serviceParam}/{playlistId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/v2/playlist/{serviceParam}/{playlistId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -264,16 +270,18 @@ public async Task DeletePlaylistAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = $"/v2/playlist/{serviceParam}/{playlistId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = $"/v2/playlist/{serviceParam}/{playlistId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/CreatePlaylistRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/CreatePlaylistRequest.cs index 095cc9a3be3..6a9142c47fb 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/CreatePlaylistRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/CreatePlaylistRequest.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record CreatePlaylistRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/GetPlaylistsRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/GetPlaylistsRequest.cs index bbfb9e04355..0c73cd0ff84 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/GetPlaylistsRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Requests/GetPlaylistsRequest.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetPlaylistsRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/Playlist.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/Playlist.cs index 8fbfc7f2a46..e1891ab30b1 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/Playlist.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/Playlist.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record Playlist diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/PlaylistCreateRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/PlaylistCreateRequest.cs index 62ae533fe59..97f4d93a1ae 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/PlaylistCreateRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/PlaylistCreateRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record PlaylistCreateRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/ReservedKeywordEnum.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/ReservedKeywordEnum.cs index 68f574d658d..56d56e075d5 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/ReservedKeywordEnum.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/ReservedKeywordEnum.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/UpdatePlaylistRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/UpdatePlaylistRequest.cs index f31987ecbc2..7469b1584b3 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/UpdatePlaylistRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Playlist/Types/UpdatePlaylistRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record UpdatePlaylistRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/ProblemClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/ProblemClient.cs index 0b5badcf37f..3975f61548b 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/ProblemClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/ProblemClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class ProblemClient @@ -83,17 +81,19 @@ public async Task CreateProblemAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/problem-crud/create", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/problem-crud/create", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -182,17 +182,19 @@ public async Task UpdateProblemAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/problem-crud/update/{problemId}", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/problem-crud/update/{problemId}", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -227,16 +229,18 @@ public async Task DeleteProblemAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = $"/problem-crud/delete/{problemId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = $"/problem-crud/delete/{problemId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -274,17 +278,19 @@ public async Task GetDefaultStarterFilesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/problem-crud/default-starter-files", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/problem-crud/default-starter-files", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Requests/GetDefaultStarterFilesRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Requests/GetDefaultStarterFilesRequest.cs index 1661155eecb..aa1fe75c614 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Requests/GetDefaultStarterFilesRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Requests/GetDefaultStarterFilesRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetDefaultStarterFilesRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/CreateProblemRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/CreateProblemRequest.cs index 7cacc277255..568f326e871 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/CreateProblemRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/CreateProblemRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record CreateProblemRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GenericCreateProblemError.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GenericCreateProblemError.cs index 954dec33dc1..38f2f15b8e7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GenericCreateProblemError.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GenericCreateProblemError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GenericCreateProblemError diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GetDefaultStarterFilesResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GetDefaultStarterFilesResponse.cs index 4857ea8e783..0a373591bad 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GetDefaultStarterFilesResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/GetDefaultStarterFilesResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetDefaultStarterFilesResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemDescription.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemDescription.cs index 21cce798577..4e5068b655f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemDescription.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemDescription.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ProblemDescription diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemFiles.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemFiles.cs index 7dedd1ee331..dc8b9b4befc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemFiles.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemFiles.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ProblemFiles diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemInfo.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemInfo.cs index 8d123b4bbe3..a870ac71a02 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemInfo.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/ProblemInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ProblemInfo diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/UpdateProblemResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/UpdateProblemResponse.cs index 86e5fa5217c..aa6696d1710 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/UpdateProblemResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/UpdateProblemResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record UpdateProblemResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/VariableTypeAndName.cs b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/VariableTypeAndName.cs index 7aed89773f8..0ee7b70ab92 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/VariableTypeAndName.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Problem/Types/VariableTypeAndName.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record VariableTypeAndName diff --git a/seed/csharp-sdk/trace/src/SeedTrace/SeedTraceClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/SeedTraceClient.cs index efa35343802..78ebccf868c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/SeedTraceClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/SeedTraceClient.cs @@ -1,13 +1,11 @@ using SeedTrace.Core; using SeedTrace.V2; -#nullable enable - namespace SeedTrace; public partial class SeedTraceClient { - private RawClient _client; + private readonly RawClient _client; public SeedTraceClient( string token, diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/SubmissionClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/SubmissionClient.cs index 8413b969e03..3444793f7a8 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/SubmissionClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/SubmissionClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class SubmissionClient @@ -31,16 +29,18 @@ public async Task CreateExecutionSessionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/sessions/create-session/{language}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/sessions/create-session/{language}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -75,16 +75,18 @@ public async Task CreateExecutionSessionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/sessions/{sessionId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/sessions/{sessionId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -119,16 +121,18 @@ public async Task StopExecutionSessionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Delete, - Path = $"/sessions/stop/{sessionId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Delete, + Path = $"/sessions/stop/{sessionId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -151,16 +155,18 @@ public async Task GetExecutionSessionsStateAsy CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/sessions/execution-sessions-state", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/sessions/execution-sessions-state", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/BuildingExecutorResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/BuildingExecutorResponse.cs index 6fc9b6a5e45..ffa3685b9ee 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/BuildingExecutorResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/BuildingExecutorResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record BuildingExecutorResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CompileError.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CompileError.cs index dabd03d2436..fed66d42366 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CompileError.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CompileError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record CompileError diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CustomTestCasesUnsupported.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CustomTestCasesUnsupported.cs index fafc5142959..a799e6b723f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CustomTestCasesUnsupported.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/CustomTestCasesUnsupported.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record CustomTestCasesUnsupported diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ErroredResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ErroredResponse.cs index 092e5d22a4e..403aeaf0bbc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ErroredResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ErroredResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ErroredResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExceptionInfo.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExceptionInfo.cs index a4ce0f90cfc..a8727db73ad 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExceptionInfo.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExceptionInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExceptionInfo diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionResponse.cs index 1c2e45c1c15..ccc9829773f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExecutionSessionResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionState.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionState.cs index aedaacb6140..c06be0b6592 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionState.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionState.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExecutionSessionState diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionStatus.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionStatus.cs index 89c81794894..a2eabc89ad7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionStatus.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExecutionSessionStatus.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExistingSubmissionExecuting.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExistingSubmissionExecuting.cs index 4c0371ef985..ff09c655d63 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExistingSubmissionExecuting.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExistingSubmissionExecuting.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExistingSubmissionExecuting diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExpressionLocation.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExpressionLocation.cs index d2606ad9713..837076d4a38 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExpressionLocation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/ExpressionLocation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record ExpressionLocation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/FinishedResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/FinishedResponse.cs index ae843964d2e..bba0e30cf8c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/FinishedResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/FinishedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record FinishedResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetExecutionSessionStateResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetExecutionSessionStateResponse.cs index 6077a3ee4ea..61a295853eb 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetExecutionSessionStateResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetExecutionSessionStateResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetExecutionSessionStateResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetSubmissionStateResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetSubmissionStateResponse.cs index 457e9f4f238..1e8b240e543 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetSubmissionStateResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetSubmissionStateResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetSubmissionStateResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetTraceResponsesPageRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetTraceResponsesPageRequest.cs index e15b45e5de6..bed032ab226 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetTraceResponsesPageRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GetTraceResponsesPageRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GetTraceResponsesPageRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponse.cs index 21ec9ffe09e..6f2ad341515 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GradedResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponseV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponseV2.cs index b319f8993bd..e1dca97f246 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponseV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedResponseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GradedResponseV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedTestCaseUpdate.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedTestCaseUpdate.cs index efa05ca2a4b..4a6cccc18be 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedTestCaseUpdate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/GradedTestCaseUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record GradedTestCaseUpdate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InitializeProblemRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InitializeProblemRequest.cs index 502ae4137b8..d89105d6df7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InitializeProblemRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InitializeProblemRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record InitializeProblemRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InternalError.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InternalError.cs index 92a43848396..be9d31cdc83 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InternalError.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InternalError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record InternalError diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InvalidRequestResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InvalidRequestResponse.cs index 55ab275c82c..cd8cfa965b6 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InvalidRequestResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/InvalidRequestResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record InvalidRequestResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/LightweightStackframeInformation.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/LightweightStackframeInformation.cs index d5eda93ab35..0964e6fdd53 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/LightweightStackframeInformation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/LightweightStackframeInformation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record LightweightStackframeInformation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedResponseNotification.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedResponseNotification.cs index 6bc3133424a..c7b3aedcb2f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedResponseNotification.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedResponseNotification.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RecordedResponseNotification diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedTestCaseUpdate.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedTestCaseUpdate.cs index 9de1e1dc862..1d7d0043ab4 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedTestCaseUpdate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordedTestCaseUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RecordedTestCaseUpdate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordingResponseNotification.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordingResponseNotification.cs index 3f362cd3db3..0bb69e886c2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordingResponseNotification.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RecordingResponseNotification.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RecordingResponseNotification diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningResponse.cs index 612e6f220a4..3fc094c31cd 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RunningResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningSubmissionState.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningSubmissionState.cs index c5b0052505d..7fbcd5325c0 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningSubmissionState.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RunningSubmissionState.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RuntimeError.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RuntimeError.cs index d1d2e45857b..3883ff02e8e 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RuntimeError.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/RuntimeError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record RuntimeError diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/Scope.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/Scope.cs index 87aeba73c0e..f141a86e2ec 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/Scope.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/Scope.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record Scope diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackFrame.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackFrame.cs index e9cdfa398da..fb3efde4464 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackFrame.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackFrame.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StackFrame diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackInformation.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackInformation.cs index ffac0ece47b..a729c22f4dd 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackInformation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StackInformation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StackInformation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StderrResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StderrResponse.cs index 87a58b8ee28..44d68a927f0 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StderrResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StderrResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StderrResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StdoutResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StdoutResponse.cs index 6f38e89adc8..5121436ea7d 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StdoutResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StdoutResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StdoutResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StopRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StopRequest.cs index 6ea16c788a8..6fe2066fa7f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StopRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StopRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StopRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StoppedResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StoppedResponse.cs index 4365b399848..5d4f957e5d6 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StoppedResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/StoppedResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record StoppedResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionFileInfo.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionFileInfo.cs index cb5c2bf9f73..28c7c37b384 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionFileInfo.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionFileInfo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SubmissionFileInfo diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionIdNotFound.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionIdNotFound.cs index 4425fbb3cf0..47ed160b4b4 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionIdNotFound.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionIdNotFound.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SubmissionIdNotFound diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionTypeEnum.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionTypeEnum.cs index ab84ec4e316..ab7ffcef51c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionTypeEnum.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmissionTypeEnum.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmitRequestV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmitRequestV2.cs index 3918393a39c..022ad0f9ecb 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmitRequestV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/SubmitRequestV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record SubmitRequestV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TerminatedResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TerminatedResponse.cs index 56d69e56b24..b308c0c7cb8 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TerminatedResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TerminatedResponse.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TerminatedResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseHiddenGrade.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseHiddenGrade.cs index b75c86c1d11..3d1dc54f1b3 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseHiddenGrade.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseHiddenGrade.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseHiddenGrade diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseNonHiddenGrade.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseNonHiddenGrade.cs index 114c2ceb9ea..c6867e564b4 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseNonHiddenGrade.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseNonHiddenGrade.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseNonHiddenGrade diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResult.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResult.cs index 3dc491107b9..00050a5f0c2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResult.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseResult diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResultWithStdout.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResultWithStdout.cs index 2cdf6f646bb..14ca2fff338 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResultWithStdout.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestCaseResultWithStdout.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestCaseResultWithStdout diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionState.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionState.cs index cf90caef7ae..7f8084a54a4 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionState.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionState.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestSubmissionState diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionStatusV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionStatusV2.cs index d16a0e4d92b..1d69b7fd5ac 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionStatusV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionStatusV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestSubmissionStatusV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionUpdate.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionUpdate.cs index 6dfb9b29f28..61c639af829 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionUpdate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TestSubmissionUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TestSubmissionUpdate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponse.cs index a8cbb0788d8..eaa122ced2e 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponseV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponseV2.cs index 70cd289822b..cb87c22dfe9 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponseV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponseV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPage.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPage.cs index 346c9abdbf0..c8df117c88b 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPage.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPage.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponsesPage diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPageV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPageV2.cs index 09be90c5d0b..d5c4104e7fd 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPageV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TraceResponsesPageV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TraceResponsesPageV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedFile.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedFile.cs index 2ce231b3666..c3442155498 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedFile.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedFile.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TracedFile diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedTestCase.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedTestCase.cs index 0d4ff1741f0..92db04129c5 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedTestCase.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/TracedTestCase.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record TracedTestCase diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/UnexpectedLanguageError.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/UnexpectedLanguageError.cs index 2bf040a6a3f..a6e521c6456 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/UnexpectedLanguageError.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/UnexpectedLanguageError.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record UnexpectedLanguageError diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceFiles.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceFiles.cs index cd4ca66699d..15f7b25ed86 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceFiles.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceFiles.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceFiles diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRanResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRanResponse.cs index d6f9c07e9d3..411d55b80b8 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRanResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRanResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceRanResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRunDetails.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRunDetails.cs index 204324bc6b5..f0894b494fd 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRunDetails.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceRunDetails.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceRunDetails diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponse.cs index a92705ce6fa..67ad8382312 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponse.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceStarterFilesResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponseV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponseV2.cs index 5bc03e1c999..2dfd04d0435 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponseV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceStarterFilesResponseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceStarterFilesResponseV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionState.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionState.cs index 7bc9b8822ce..d99f60d3a27 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionState.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionState.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmissionState diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionStatusV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionStatusV2.cs index 9ff4094106d..91df20ab741 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionStatusV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionStatusV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmissionStatusV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionUpdate.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionUpdate.cs index ae0a63c45b9..176948862ff 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionUpdate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmissionUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmissionUpdate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmitRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmitRequest.cs index 2f2656d8500..d4772576878 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmitRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceSubmitRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceSubmitRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceTracedUpdate.cs b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceTracedUpdate.cs index 739da0660be..073104f5dcc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceTracedUpdate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Submission/Types/WorkspaceTracedUpdate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public record WorkspaceTracedUpdate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Sysprop/SyspropClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Sysprop/SyspropClient.cs index 7826899092f..62b5b7a9530 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Sysprop/SyspropClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Sysprop/SyspropClient.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using SeedTrace.Core; -#nullable enable - namespace SeedTrace; public partial class SyspropClient @@ -29,16 +27,18 @@ public async Task SetNumWarmInstancesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Put, - Path = $"/sysprop/num-warm-instances/{language}/{numWarmInstances}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Put, + Path = $"/sysprop/num-warm-instances/{language}/{numWarmInstances}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; @@ -61,16 +61,18 @@ public async Task> GetNumWarmInstancesAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/sysprop/num-warm-instances", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/sysprop/num-warm-instances", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs index 74d029bbff3..543752ae160 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs @@ -4,8 +4,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public partial class ProblemClient @@ -30,16 +28,18 @@ public async Task> GetLightweightProblemsA CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/problems-v2/lightweight-problem-info", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/problems-v2/lightweight-problem-info", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -73,16 +73,18 @@ public async Task> GetProblemsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/problems-v2/problem-info", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/problems-v2/problem-info", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -117,16 +119,18 @@ public async Task GetLatestProblemAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/problems-v2/problem-info/{problemId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/problems-v2/problem-info/{problemId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -162,16 +166,18 @@ public async Task GetProblemVersionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/problems-v2/problem-info/{problemId}/version/{problemVersion}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/problems-v2/problem-info/{problemId}/version/{problemVersion}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicCustomFiles.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicCustomFiles.cs index b5b7307ae4c..79a68e4cfa8 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicCustomFiles.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicCustomFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record BasicCustomFiles diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicTestCaseTemplate.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicTestCaseTemplate.cs index 546e21b01db..f0a87658fc4 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicTestCaseTemplate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/BasicTestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record BasicTestCaseTemplate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/CreateProblemRequestV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/CreateProblemRequestV2.cs index e1004de9807..1a0f5051e21 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/CreateProblemRequestV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/CreateProblemRequestV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record CreateProblemRequestV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DeepEqualityCorrectnessCheck.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DeepEqualityCorrectnessCheck.cs index e3165581bb7..01f04e4090e 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DeepEqualityCorrectnessCheck.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DeepEqualityCorrectnessCheck.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record DeepEqualityCorrectnessCheck diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DefaultProvidedFile.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DefaultProvidedFile.cs index 7af51996e5c..f2d31efc2bc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DefaultProvidedFile.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/DefaultProvidedFile.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record DefaultProvidedFile diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FileInfoV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FileInfoV2.cs index 1fe9985dd35..1ed619ea17f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FileInfoV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FileInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record FileInfoV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Files.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Files.cs index 33dbc8a8b05..eac1343c52f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Files.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Files.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record Files diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementation.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementation.cs index 5893bb3e8af..8d9c5e20d1d 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record FunctionImplementation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementationForMultipleLanguages.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementationForMultipleLanguages.cs index b14415d7717..c7e1904bce2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementationForMultipleLanguages.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/FunctionImplementationForMultipleLanguages.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record FunctionImplementationForMultipleLanguages diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GeneratedFiles.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GeneratedFiles.cs index 215f1bde56b..784cbcc3a23 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GeneratedFiles.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GeneratedFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GeneratedFiles diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileRequest.cs index fa44e4b7b6f..f3d12f24010 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetBasicSolutionFileRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileResponse.cs index 5ba5bca62a6..b209c713746 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetBasicSolutionFileResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetBasicSolutionFileResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureRequest.cs index deec1d49080..e4093bf766f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetFunctionSignatureRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureResponse.cs index 03f270e04f1..a387925a5ad 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetFunctionSignatureResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetFunctionSignatureResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseFileRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseFileRequest.cs index 38c59edc25a..3fa5266ca52 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseFileRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetGeneratedTestCaseFileRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs index 1c250ba3ded..94a85a3b9c5 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record GetGeneratedTestCaseTemplateFileRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/LightweightProblemInfoV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/LightweightProblemInfoV2.cs index 647a19ec57e..c2bf70645e4 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/LightweightProblemInfoV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/LightweightProblemInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record LightweightProblemInfoV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionDefinition.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionDefinition.cs index 7a8139e2f2e..106ad482c86 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionDefinition.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record NonVoidFunctionDefinition diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionSignature.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionSignature.cs index 7ae97c54d73..dc9e4078db2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionSignature.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/NonVoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record NonVoidFunctionSignature diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Parameter.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Parameter.cs index bb1a2b26398..a5dad6f9825 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Parameter.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/Parameter.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record Parameter diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/ProblemInfoV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/ProblemInfoV2.cs index 3a188d7ae8d..fb6dc80f256 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/ProblemInfoV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/ProblemInfoV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record ProblemInfoV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseExpects.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseExpects.cs index 5453ed0518d..87c2b3bfbf1 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseExpects.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseExpects.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseExpects diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementation.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementation.cs index a001954aa75..bec4f9a874a 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseImplementation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementationDescription.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementationDescription.cs index 6a6a4a2dcf4..c056524c04c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementationDescription.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseImplementationDescription.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseImplementationDescription diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseMetadata.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseMetadata.cs index b5d12249bb9..fa1c4649650 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseMetadata.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseMetadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseMetadata diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseTemplate.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseTemplate.cs index bb01023e88b..7af50f6d1a9 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseTemplate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseTemplate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseV2.cs index 5ce29fcf98d..47b47da19a9 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseWithActualResultImplementation.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseWithActualResultImplementation.cs index cdd6d847e77..f73d9efba09 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseWithActualResultImplementation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/TestCaseWithActualResultImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record TestCaseWithActualResultImplementation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinition.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinition.cs index 65a20f1e56e..0ec464ba31c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinition.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionDefinition diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs index 03c57a29368..c7acda825e2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionDefinitionThatTakesActualResult diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignature.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignature.cs index 28641749d40..c155d49d22f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignature.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionSignature diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs index ee9f52278c2..168e864334c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2; public record VoidFunctionSignatureThatTakesActualResult diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V2Client.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V2Client.cs index fc83bd0ca50..1fc7c8d23e2 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V2Client.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V2Client.cs @@ -5,8 +5,6 @@ using SeedTrace.Core; using SeedTrace.V2.V3; -#nullable enable - namespace SeedTrace.V2; public partial class V2Client @@ -34,16 +32,18 @@ public async Task TestAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs index 46ca63abb02..d49e99cedd7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs @@ -4,8 +4,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public partial class ProblemClient @@ -30,16 +28,18 @@ public async Task> GetLightweightProblemsA CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/problems-v2/lightweight-problem-info", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/problems-v2/lightweight-problem-info", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -73,16 +73,18 @@ public async Task> GetProblemsAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/problems-v2/problem-info", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/problems-v2/problem-info", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -117,16 +119,18 @@ public async Task GetLatestProblemAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/problems-v2/problem-info/{problemId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/problems-v2/problem-info/{problemId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -162,16 +166,18 @@ public async Task GetProblemVersionAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/problems-v2/problem-info/{problemId}/version/{problemVersion}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/problems-v2/problem-info/{problemId}/version/{problemVersion}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicCustomFiles.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicCustomFiles.cs index 5eaab41b7de..4416b2c1e0d 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicCustomFiles.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicCustomFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record BasicCustomFiles diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicTestCaseTemplate.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicTestCaseTemplate.cs index 4ae16463e3e..bd177cf2e32 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicTestCaseTemplate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/BasicTestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record BasicTestCaseTemplate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/CreateProblemRequestV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/CreateProblemRequestV2.cs index 4e798b3e160..4fa984622ec 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/CreateProblemRequestV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/CreateProblemRequestV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record CreateProblemRequestV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DeepEqualityCorrectnessCheck.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DeepEqualityCorrectnessCheck.cs index 57facadfc63..66195cff9c1 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DeepEqualityCorrectnessCheck.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DeepEqualityCorrectnessCheck.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record DeepEqualityCorrectnessCheck diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DefaultProvidedFile.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DefaultProvidedFile.cs index c81ae721fa2..f0c3660390f 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DefaultProvidedFile.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/DefaultProvidedFile.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record DefaultProvidedFile diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FileInfoV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FileInfoV2.cs index f4222adce04..089d8578765 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FileInfoV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FileInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record FileInfoV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Files.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Files.cs index b7f94bb448c..6973f25ebb5 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Files.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Files.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record Files diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementation.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementation.cs index 28e2d737bd5..6ddbe47b4c7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record FunctionImplementation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementationForMultipleLanguages.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementationForMultipleLanguages.cs index 17ee0c14804..803e5b3315d 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementationForMultipleLanguages.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/FunctionImplementationForMultipleLanguages.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record FunctionImplementationForMultipleLanguages diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GeneratedFiles.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GeneratedFiles.cs index d41be3aa55c..4f1bef72a56 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GeneratedFiles.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GeneratedFiles.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GeneratedFiles diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileRequest.cs index a58ed0acd89..06b23b010a6 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetBasicSolutionFileRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileResponse.cs index b30b2869638..6d84001d5f8 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetBasicSolutionFileResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetBasicSolutionFileResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureRequest.cs index ee4019f89d8..49f5d0d85fd 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetFunctionSignatureRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureResponse.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureResponse.cs index 75ca715c552..f2fa025ab5b 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureResponse.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetFunctionSignatureResponse.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetFunctionSignatureResponse diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseFileRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseFileRequest.cs index e82dc6a3902..c354be41e80 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseFileRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetGeneratedTestCaseFileRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs index 50bf5b330ed..d97c80a7c9a 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/GetGeneratedTestCaseTemplateFileRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record GetGeneratedTestCaseTemplateFileRequest diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/LightweightProblemInfoV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/LightweightProblemInfoV2.cs index 7135093592a..83c030dd8fc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/LightweightProblemInfoV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/LightweightProblemInfoV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record LightweightProblemInfoV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionDefinition.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionDefinition.cs index eb70f99126a..2481261d7e7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionDefinition.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record NonVoidFunctionDefinition diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionSignature.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionSignature.cs index 9cc76dd965e..8da6dadcaa9 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionSignature.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/NonVoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record NonVoidFunctionSignature diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Parameter.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Parameter.cs index caef6842007..b15ed8b3077 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Parameter.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/Parameter.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record Parameter diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/ProblemInfoV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/ProblemInfoV2.cs index 42af3ad8ace..371e84bdb84 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/ProblemInfoV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/ProblemInfoV2.cs @@ -2,8 +2,6 @@ using SeedTrace; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record ProblemInfoV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseExpects.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseExpects.cs index 073df2e2601..6423029e1dc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseExpects.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseExpects.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseExpects diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementation.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementation.cs index 25b1fdd8176..802dc20edc7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseImplementation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementationDescription.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementationDescription.cs index 99b5fa49a68..ed7404a9be0 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementationDescription.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseImplementationDescription.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseImplementationDescription diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseMetadata.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseMetadata.cs index aacbbce1c4f..c27b40b3361 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseMetadata.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseMetadata.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseMetadata diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseTemplate.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseTemplate.cs index 952da9d8256..019e9ec1a3b 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseTemplate.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseTemplate.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseTemplate diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseV2.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseV2.cs index bbdc2953722..e1e53e59a56 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseV2.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseV2.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseV2 diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseWithActualResultImplementation.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseWithActualResultImplementation.cs index 04947d97ccd..f603d803c1d 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseWithActualResultImplementation.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/TestCaseWithActualResultImplementation.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record TestCaseWithActualResultImplementation diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinition.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinition.cs index f884fd8030b..368e90f384e 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinition.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinition.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionDefinition diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs index 3b2b1dbf716..4fc96b65bdc 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionDefinitionThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionDefinitionThatTakesActualResult diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignature.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignature.cs index b854868f1e7..ad166d35ac6 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignature.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignature.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionSignature diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs index 34de8434def..06f77bb6106 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/Types/VoidFunctionSignatureThatTakesActualResult.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public record VoidFunctionSignatureThatTakesActualResult diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/V3Client.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/V3Client.cs index ca2fff97419..ccb6657d5e7 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/V3Client.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/V3Client.cs @@ -1,7 +1,5 @@ using SeedTrace.Core; -#nullable enable - namespace SeedTrace.V2.V3; public partial class V3Client diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs index cd47208fb34..d33dcae860f 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedUndiscriminatedUnions.Core; -namespace SeedUndiscriminatedUnions.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedUndiscriminatedUnions.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs index 735dc635ed6..c6b8fed40d6 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedUndiscriminatedUnions.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedUndiscriminatedUnions.Test.Core +namespace SeedUndiscriminatedUnions.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj index c08f58082d3..c8eeb7d379c 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/SeedUndiscriminatedUnions.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/TestClient.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/TestClient.cs index 31b040e076b..a5dd97578a7 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/TestClient.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedUndiscriminatedUnions.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/BaseMockServerTest.cs index 64f1f7d2e2d..a25f2f54130 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedUndiscriminatedUnions.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetMetadataTest.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetMetadataTest.cs index c31188b99f6..2145dc0eedd 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetMetadataTest.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetMetadataTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetTest.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetTest.cs index 8bb328008ee..dceac2b7b4b 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetTest.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Unit/MockServer/GetTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs index 9a6e61f75be..92027fd9c59 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/IRequestOptions.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/IRequestOptions.cs index 741101c8d60..937223b0638 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedUndiscriminatedUnions.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/ClientOptions.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/ClientOptions.cs index 6b2ae76eeea..d4c1ed3b025 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; public partial class ClientOptions diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/RequestOptions.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/RequestOptions.cs index 397515d3544..768989e8115 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/SeedUndiscriminatedUnionsException.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/SeedUndiscriminatedUnionsException.cs index 739d36d91b0..630623c96bf 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/SeedUndiscriminatedUnionsException.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/Public/SeedUndiscriminatedUnionsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedUndiscriminatedUnions; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedUndiscriminatedUnionsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs index 4015e802632..f486513edd4 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedUndiscriminatedUnions.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/SeedUndiscriminatedUnionsClient.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/SeedUndiscriminatedUnionsClient.cs index d7e0e22d36c..7f0ce98e4b1 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/SeedUndiscriminatedUnionsClient.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/SeedUndiscriminatedUnionsClient.cs @@ -1,12 +1,10 @@ using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; public partial class SeedUndiscriminatedUnionsClient { - private RawClient _client; + private readonly RawClient _client; public SeedUndiscriminatedUnionsClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/KeyType.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/KeyType.cs index 4ad9c4d26e3..0681c8f8177 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/KeyType.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/KeyType.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/TypeWithOptionalUnion.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/TypeWithOptionalUnion.cs index 0daf1bbbe9a..09d593fde15 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/TypeWithOptionalUnion.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/Types/TypeWithOptionalUnion.cs @@ -2,8 +2,6 @@ using OneOf; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; public record TypeWithOptionalUnion diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs index 532534915de..eadf5824b22 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs @@ -4,8 +4,6 @@ using OneOf; using SeedUndiscriminatedUnions.Core; -#nullable enable - namespace SeedUndiscriminatedUnions; public partial class UnionClient @@ -44,17 +42,19 @@ public async Task< CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -94,16 +94,18 @@ public async Task, string>> GetMetadataAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "/metadata", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "/metadata", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs index d0a072a0128..be4080be0c8 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedUnions.Core; -namespace SeedUnions.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedUnions.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs b/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs index e4e1745af55..bcb07adc65b 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedUnions.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedUnions.Test.Core +namespace SeedUnions.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/unions/src/SeedUnions.Test/SeedUnions.Test.csproj b/seed/csharp-sdk/unions/src/SeedUnions.Test/SeedUnions.Test.csproj index 1aab7bd3a92..cf8759dbc03 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions.Test/SeedUnions.Test.csproj +++ b/seed/csharp-sdk/unions/src/SeedUnions.Test/SeedUnions.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/unions/src/SeedUnions.Test/TestClient.cs b/seed/csharp-sdk/unions/src/SeedUnions.Test/TestClient.cs index b24152cb157..dc59faa3553 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions.Test/TestClient.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedUnions.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/unions/src/SeedUnions/Core/CollectionItemSerializer.cs index 8b8b41f56b3..a662bd7839d 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Core/IRequestOptions.cs b/seed/csharp-sdk/unions/src/SeedUnions/Core/IRequestOptions.cs index 16a9b9165d6..86d65d9509b 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedUnions.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/ClientOptions.cs b/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/ClientOptions.cs index 0a22a1fbef3..a4bfd9d00ff 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public partial class ClientOptions diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/RequestOptions.cs b/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/RequestOptions.cs index 74eaadb7f6f..828095d4212 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/SeedUnionsException.cs b/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/SeedUnionsException.cs index 740b9a046e1..896c982157e 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/SeedUnionsException.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Core/Public/SeedUnionsException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedUnions; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedUnionsException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs b/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs index 790bd620a24..fc900f9dd28 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedUnions.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/unions/src/SeedUnions/SeedUnionsClient.cs b/seed/csharp-sdk/unions/src/SeedUnions/SeedUnionsClient.cs index 9997c49b678..08eb5f6635b 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/SeedUnionsClient.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/SeedUnionsClient.cs @@ -1,12 +1,10 @@ using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public partial class SeedUnionsClient { - private RawClient _client; + private readonly RawClient _client; public SeedUnionsClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Bar.cs b/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Bar.cs index 99a673339d3..781521fb17a 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Bar.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Bar.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Bar diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Foo.cs b/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Foo.cs index ddceb58d5a4..64b3c1e0cb5 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Foo.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Types/Types/Foo.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Foo diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Types/TypesClient.cs b/seed/csharp-sdk/unions/src/SeedUnions/Types/TypesClient.cs index 7a54da5ebca..2784477dc54 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Types/TypesClient.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Types/TypesClient.cs @@ -1,7 +1,5 @@ using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public partial class TypesClient diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Circle.cs b/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Circle.cs index 509382f9419..8d5020d5452 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Circle.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Circle.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Circle diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/GetShapeRequest.cs b/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/GetShapeRequest.cs index 50ab43f5691..9885f0da485 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/GetShapeRequest.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/GetShapeRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record GetShapeRequest diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Square.cs b/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Square.cs index 8d177e4c601..b7110fa6366 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Square.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Union/Types/Square.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public record Square diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs b/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs index bde2e97a4ec..5f3d7e050a1 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedUnions.Core; -#nullable enable - namespace SeedUnions; public partial class UnionClient @@ -27,16 +25,18 @@ public async Task GetAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/{id}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/{id}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -68,17 +68,19 @@ public async Task UpdateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethodExtensions.Patch, - Path = "", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethodExtensions.Patch, + Path = "", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs index e2022c27501..dddf6bf415b 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedUnknownAsAny.Core; -namespace SeedUnknownAsAny.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedUnknownAsAny.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs index 8cda3be1c20..baa4b10a860 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedUnknownAsAny.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedUnknownAsAny.Test.Core +namespace SeedUnknownAsAny.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj index a79c4d294b8..662769c829c 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/SeedUnknownAsAny.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/TestClient.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/TestClient.cs index 88cc6c9f189..e3b1dde91df 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/TestClient.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedUnknownAsAny.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/BaseMockServerTest.cs index 6f822078434..6f5e05fc557 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedUnknownAsAny.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostObjectTest.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostObjectTest.cs index c48e086b72b..3d96d38a1da 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostObjectTest.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostObjectTest.cs @@ -5,8 +5,6 @@ using SeedUnknownAsAny; using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostTest.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostTest.cs index 9d92a05f7aa..341521c5e90 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostTest.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/MockServer/PostTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/Serialization/MyObjectTest.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/Serialization/MyObjectTest.cs index d4ad3c82913..7663a7178dd 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/Serialization/MyObjectTest.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Unit/Serialization/MyObjectTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedUnknownAsAny; -#nullable enable - namespace SeedUnknownAsAny.Test; [TestFixture] diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs index c0d69007813..3e8e9090646 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/IRequestOptions.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/IRequestOptions.cs index ba0ba763446..169ee68f5a5 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedUnknownAsAny.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/ClientOptions.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/ClientOptions.cs index c0424e213e8..3dd64f1ae21 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny; public partial class ClientOptions diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/RequestOptions.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/RequestOptions.cs index 9ccfdab3d1e..8518fd3edc8 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/SeedUnknownAsAnyException.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/SeedUnknownAsAnyException.cs index 3efc828ccad..77a4dda8d33 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/SeedUnknownAsAnyException.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/Public/SeedUnknownAsAnyException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedUnknownAsAny; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedUnknownAsAnyException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs index 89c468603e4..58bfe0cdce1 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedUnknownAsAny.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/SeedUnknownAsAnyClient.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/SeedUnknownAsAnyClient.cs index cf1318f902c..43370189655 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/SeedUnknownAsAnyClient.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/SeedUnknownAsAnyClient.cs @@ -1,12 +1,10 @@ using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny; public partial class SeedUnknownAsAnyClient { - private RawClient _client; + private readonly RawClient _client; public SeedUnknownAsAnyClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/Types/MyObject.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/Types/MyObject.cs index 6c7a04b1f2e..978157ba336 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/Types/MyObject.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/Types/MyObject.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny; public record MyObject diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs index c4ccd6adaeb..18e9a500927 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedUnknownAsAny.Core; -#nullable enable - namespace SeedUnknownAsAny; public partial class UnknownClient @@ -27,17 +25,19 @@ public async Task> PostAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -71,17 +71,19 @@ public async Task> PostObjectAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/with-object", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/with-object", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs index 3f62fc7204d..0a92e021d25 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedValidation.Core; -namespace SeedValidation.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedValidation.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs index 998ae2e3acf..37b89d11e86 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedValidation.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedValidation.Test.Core +namespace SeedValidation.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/SeedValidation.Test.csproj b/seed/csharp-sdk/validation/src/SeedValidation.Test/SeedValidation.Test.csproj index 7265c8587af..73acd653286 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/SeedValidation.Test.csproj +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/SeedValidation.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/TestClient.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/TestClient.cs index e251ad33f79..1a42a35a0a7 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/TestClient.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedValidation.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/BaseMockServerTest.cs index cebd625fdba..34ea1711c39 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedValidation.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/CreateTest.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/CreateTest.cs index ddebe9fe44e..2cedc2229ed 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/CreateTest.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/CreateTest.cs @@ -5,8 +5,6 @@ using SeedValidation; using SeedValidation.Core; -#nullable enable - namespace SeedValidation.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/GetTest.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/GetTest.cs index cea16fcbfaa..cbdc74420c3 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/GetTest.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/MockServer/GetTest.cs @@ -5,8 +5,6 @@ using SeedValidation; using SeedValidation.Core; -#nullable enable - namespace SeedValidation.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/Serialization/TypeTest.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/Serialization/TypeTest.cs index 1cdb9d49a32..f83cf53144d 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/Serialization/TypeTest.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/Unit/Serialization/TypeTest.cs @@ -5,8 +5,6 @@ using NUnit.Framework; using SeedValidation; -#nullable enable - namespace SeedValidation.Test; [TestFixture] diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/validation/src/SeedValidation/Core/CollectionItemSerializer.cs index 8b90c070a3a..4b6fcb668dd 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Core/IRequestOptions.cs b/seed/csharp-sdk/validation/src/SeedValidation/Core/IRequestOptions.cs index 86dbbecf260..2c5e834f2fe 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedValidation.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/ClientOptions.cs b/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/ClientOptions.cs index f008f3f54a0..0f70f442636 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; public partial class ClientOptions diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/RequestOptions.cs b/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/RequestOptions.cs index 20950e46444..d1065b80890 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/SeedValidationException.cs b/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/SeedValidationException.cs index eb94e3ecf96..9b606e4e357 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/SeedValidationException.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Core/Public/SeedValidationException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedValidation; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedValidationException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs b/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs index ec1830b03a9..78777911c23 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedValidation.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Requests/CreateRequest.cs b/seed/csharp-sdk/validation/src/SeedValidation/Requests/CreateRequest.cs index 5e7ff1abdf3..ff9f906a6fe 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Requests/CreateRequest.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Requests/CreateRequest.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; public record CreateRequest diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Requests/GetRequest.cs b/seed/csharp-sdk/validation/src/SeedValidation/Requests/GetRequest.cs index 2910eb8b86a..f9db14c1f3d 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Requests/GetRequest.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Requests/GetRequest.cs @@ -1,7 +1,5 @@ using SeedValidation.Core; -#nullable enable - namespace SeedValidation; public record GetRequest diff --git a/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs b/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs index 65c8e9c9844..fe824f76709 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs @@ -3,13 +3,11 @@ using System.Threading; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; public partial class SeedValidationClient { - private RawClient _client; + private readonly RawClient _client; public SeedValidationClient(ClientOptions? clientOptions = null) { @@ -52,17 +50,19 @@ public async Task CreateAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = "/create", - Body = request, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = "/create", + Body = request, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { @@ -105,17 +105,19 @@ public async Task GetAsync( _query["decimal"] = request.Decimal.ToString(); _query["even"] = request.Even.ToString(); _query["name"] = request.Name; - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = "", - Query = _query, - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = "", + Query = _query, + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Types/Shape.cs b/seed/csharp-sdk/validation/src/SeedValidation/Types/Shape.cs index c9bbe47969c..4d24260ca17 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Types/Shape.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Types/Shape.cs @@ -2,8 +2,6 @@ using System.Text.Json.Serialization; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; [JsonConverter(typeof(EnumSerializer))] diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Types/Type.cs b/seed/csharp-sdk/validation/src/SeedValidation/Types/Type.cs index 5c69ea4f1b8..5507f1cd7e8 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Types/Type.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Types/Type.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedValidation.Core; -#nullable enable - namespace SeedValidation; public record Type diff --git a/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs index 1c16afb4ce2..21ee395e2b3 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedVariables.Core; -namespace SeedVariables.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedVariables.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs index 265be74a65b..72e0eb1db75 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedVariables.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedVariables.Test.Core +namespace SeedVariables.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/variables/src/SeedVariables.Test/SeedVariables.Test.csproj b/seed/csharp-sdk/variables/src/SeedVariables.Test/SeedVariables.Test.csproj index 476174f5e6e..2fb67650b97 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables.Test/SeedVariables.Test.csproj +++ b/seed/csharp-sdk/variables/src/SeedVariables.Test/SeedVariables.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/variables/src/SeedVariables.Test/TestClient.cs b/seed/csharp-sdk/variables/src/SeedVariables.Test/TestClient.cs index 4b189314b30..98af29b08d0 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables.Test/TestClient.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedVariables.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/BaseMockServerTest.cs index df2a9b69b68..10c6865db62 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedVariables.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/PostTest.cs b/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/PostTest.cs index c578ff6d684..1567df7b750 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/PostTest.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables.Test/Unit/MockServer/PostTest.cs @@ -1,7 +1,5 @@ using NUnit.Framework; -#nullable enable - namespace SeedVariables.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/variables/src/SeedVariables/Core/CollectionItemSerializer.cs index 66926b25c6b..eda89f6bed8 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Core/IRequestOptions.cs b/seed/csharp-sdk/variables/src/SeedVariables/Core/IRequestOptions.cs index 46fcd480486..2040e50425f 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedVariables.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/ClientOptions.cs b/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/ClientOptions.cs index e202ce587ba..72f670bbc9c 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedVariables.Core; -#nullable enable - namespace SeedVariables; public partial class ClientOptions diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/RequestOptions.cs b/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/RequestOptions.cs index bfabaaaf4f1..9768b0ffa27 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedVariables.Core; -#nullable enable - namespace SeedVariables; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/SeedVariablesException.cs b/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/SeedVariablesException.cs index b4d82a2b319..b19bd7142e0 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/SeedVariablesException.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Core/Public/SeedVariablesException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedVariables; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedVariablesException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs b/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs index a4eba0c69a9..546c261f86c 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedVariables.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/variables/src/SeedVariables/SeedVariablesClient.cs b/seed/csharp-sdk/variables/src/SeedVariables/SeedVariablesClient.cs index d3758d8fb0c..f677660dcc1 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/SeedVariablesClient.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/SeedVariablesClient.cs @@ -1,12 +1,10 @@ using SeedVariables.Core; -#nullable enable - namespace SeedVariables; public partial class SeedVariablesClient { - private RawClient _client; + private readonly RawClient _client; public SeedVariablesClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Service/ServiceClient.cs b/seed/csharp-sdk/variables/src/SeedVariables/Service/ServiceClient.cs index 9262fe64126..47b6aa49a09 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Service/ServiceClient.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Service/ServiceClient.cs @@ -3,8 +3,6 @@ using System.Threading.Tasks; using SeedVariables.Core; -#nullable enable - namespace SeedVariables; public partial class ServiceClient @@ -27,16 +25,18 @@ public async Task PostAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Post, - Path = $"/{endpointParam}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Post, + Path = $"/{endpointParam}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); if (response.StatusCode is >= 200 and < 400) { return; diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs index 583da3c0d05..f4b559bbd37 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedVersion.Core; -namespace SeedVersion.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedVersion.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs index 27bec0e6147..6b1d51f37d3 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedVersion.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedVersion.Test.Core +namespace SeedVersion.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj index 22fcd57b3cb..fab950b4f16 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/SeedVersion.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/TestClient.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/TestClient.cs index cc6409e610e..ab240f68e06 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/TestClient.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedVersion.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs index fb4a1a8a2dc..db1e0fac6e6 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedVersion.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs index 49afa128714..49839f3acf6 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedVersion.Core; -#nullable enable - namespace SeedVersion.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs index c5208a39294..7c6f65debc7 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/IRequestOptions.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/IRequestOptions.cs index 68023661a83..851980b5fb1 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedVersion.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/ClientOptions.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/ClientOptions.cs index e678f54249a..76b02df316b 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class ClientOptions diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/RequestOptions.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/RequestOptions.cs index 0faa1219d90..83b90a1c993 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/SeedVersionException.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/SeedVersionException.cs index 47f262d3a93..575ededfb31 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/SeedVersionException.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/Public/SeedVersionException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedVersion; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedVersionException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs index 0c1d9e6ed29..da0064e8f41 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedVersion.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/SeedVersionClient.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/SeedVersionClient.cs index dc0c07175ab..feb6e9dd277 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/SeedVersionClient.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/SeedVersionClient.cs @@ -1,12 +1,10 @@ using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class SeedVersionClient { - private RawClient _client; + private readonly RawClient _client; public SeedVersionClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/User/Types/User.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/User/Types/User.cs index f2cfd4847c1..115b35ba71f 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/User/Types/User.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public record User diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs index 7348f0d115f..7d622cf5cae 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class UserClient @@ -27,16 +25,18 @@ public async Task GetUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/users/{userId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/users/{userId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs index 583da3c0d05..f4b559bbd37 100644 --- a/seed/csharp-sdk/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/version/src/SeedVersion.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedVersion.Core; -namespace SeedVersion.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedVersion.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs b/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs index 27bec0e6147..6b1d51f37d3 100644 --- a/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedVersion.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedVersion.Test.Core +namespace SeedVersion.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/version/src/SeedVersion.Test/SeedVersion.Test.csproj b/seed/csharp-sdk/version/src/SeedVersion.Test/SeedVersion.Test.csproj index 22fcd57b3cb..fab950b4f16 100644 --- a/seed/csharp-sdk/version/src/SeedVersion.Test/SeedVersion.Test.csproj +++ b/seed/csharp-sdk/version/src/SeedVersion.Test/SeedVersion.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/version/src/SeedVersion.Test/TestClient.cs b/seed/csharp-sdk/version/src/SeedVersion.Test/TestClient.cs index cc6409e610e..ab240f68e06 100644 --- a/seed/csharp-sdk/version/src/SeedVersion.Test/TestClient.cs +++ b/seed/csharp-sdk/version/src/SeedVersion.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedVersion.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs b/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs index fb4a1a8a2dc..db1e0fac6e6 100644 --- a/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs +++ b/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/BaseMockServerTest.cs @@ -4,8 +4,6 @@ using WireMock.Server; using WireMock.Settings; -#nullable enable - namespace SeedVersion.Test.Unit.MockServer; [SetUpFixture] diff --git a/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs b/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs index 49afa128714..49839f3acf6 100644 --- a/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs +++ b/seed/csharp-sdk/version/src/SeedVersion.Test/Unit/MockServer/GetUserTest.cs @@ -4,8 +4,6 @@ using NUnit.Framework; using SeedVersion.Core; -#nullable enable - namespace SeedVersion.Test.Unit.MockServer; [TestFixture] diff --git a/seed/csharp-sdk/version/src/SeedVersion/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/version/src/SeedVersion/Core/CollectionItemSerializer.cs index c5208a39294..7c6f65debc7 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/version/src/SeedVersion/Core/IRequestOptions.cs b/seed/csharp-sdk/version/src/SeedVersion/Core/IRequestOptions.cs index 68023661a83..851980b5fb1 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedVersion.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/version/src/SeedVersion/Core/Public/ClientOptions.cs b/seed/csharp-sdk/version/src/SeedVersion/Core/Public/ClientOptions.cs index e678f54249a..76b02df316b 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class ClientOptions diff --git a/seed/csharp-sdk/version/src/SeedVersion/Core/Public/RequestOptions.cs b/seed/csharp-sdk/version/src/SeedVersion/Core/Public/RequestOptions.cs index 0faa1219d90..83b90a1c993 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/version/src/SeedVersion/Core/Public/SeedVersionException.cs b/seed/csharp-sdk/version/src/SeedVersion/Core/Public/SeedVersionException.cs index 47f262d3a93..575ededfb31 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/Core/Public/SeedVersionException.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/Core/Public/SeedVersionException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedVersion; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedVersionException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs b/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs index 0c1d9e6ed29..da0064e8f41 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedVersion.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/version/src/SeedVersion/SeedVersionClient.cs b/seed/csharp-sdk/version/src/SeedVersion/SeedVersionClient.cs index d16882b66ad..2e61a39773a 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/SeedVersionClient.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/SeedVersionClient.cs @@ -1,12 +1,10 @@ using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class SeedVersionClient { - private RawClient _client; + private readonly RawClient _client; public SeedVersionClient(ClientOptions? clientOptions = null) { diff --git a/seed/csharp-sdk/version/src/SeedVersion/User/Types/User.cs b/seed/csharp-sdk/version/src/SeedVersion/User/Types/User.cs index f2cfd4847c1..115b35ba71f 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/User/Types/User.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/User/Types/User.cs @@ -1,8 +1,6 @@ using System.Text.Json.Serialization; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public record User diff --git a/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs b/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs index 7348f0d115f..7d622cf5cae 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs @@ -3,8 +3,6 @@ using System.Threading; using SeedVersion.Core; -#nullable enable - namespace SeedVersion; public partial class UserClient @@ -27,16 +25,18 @@ public async Task GetUserAsync( CancellationToken cancellationToken = default ) { - var response = await _client.MakeRequestAsync( - new RawClient.JsonApiRequest - { - BaseUrl = _client.Options.BaseUrl, - Method = HttpMethod.Get, - Path = $"/users/{userId}", - Options = options, - }, - cancellationToken - ); + var response = await _client + .MakeRequestAsync( + new RawClient.JsonApiRequest + { + BaseUrl = _client.Options.BaseUrl, + Method = HttpMethod.Get, + Path = $"/users/{userId}", + Options = options, + }, + cancellationToken + ) + .ConfigureAwait(false); var responseBody = await response.Raw.Content.ReadAsStringAsync(); if (response.StatusCode is >= 200 and < 400) { diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs index dcfcd3eed5a..411703f2f7d 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/EnumSerializerTests.cs @@ -1,61 +1,59 @@ -using System; using System.Runtime.Serialization; using System.Text.Json; using System.Text.Json.Serialization; using NUnit.Framework; using SeedWebsocket.Core; -namespace SeedWebsocket.Test.Core -{ - [TestFixture] - public class StringEnumSerializerTests - { - private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; +namespace SeedWebsocket.Test.Core; - private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; - private const string KnownEnumValue2String = "known_value2"; +[TestFixture] +public class StringEnumSerializerTests +{ + private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - private static readonly string JsonWithKnownEnum2 = $$""" - { - "enum_property": "{{KnownEnumValue2String}}" - } - """; + private const DummyEnum KnownEnumValue2 = DummyEnum.KnownValue2; + private const string KnownEnumValue2String = "known_value2"; - [Test] - public void ShouldParseKnownEnumValue2() + private const string JsonWithKnownEnum2 = $$""" { - var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); - Assert.That(obj, Is.Not.Null); - Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); + "enum_property": "{{KnownEnumValue2String}}" } + """; - [Test] - public void ShouldSerializeKnownEnumValue2() - { - var json = JsonSerializer.SerializeToElement( - new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions - ); - TestContext.Out.WriteLine("Serialized JSON: \n" + json); - var enumString = json.GetProperty("enum_property").GetString(); - Assert.That(enumString, Is.Not.Null); - Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); - } + [Test] + public void ShouldParseKnownEnumValue2() + { + var obj = JsonSerializer.Deserialize(JsonWithKnownEnum2, JsonOptions); + Assert.That(obj, Is.Not.Null); + Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - public class DummyObject + [Test] + public void ShouldSerializeKnownEnumValue2() { - [JsonPropertyName("enum_property")] - public DummyEnum EnumProperty { get; set; } + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); + TestContext.Out.WriteLine("Serialized JSON: \n" + json); + var enumString = json.GetProperty("enum_property").GetString(); + Assert.That(enumString, Is.Not.Null); + Assert.That(enumString, Is.EqualTo(KnownEnumValue2String)); } +} - [JsonConverter(typeof(EnumSerializer))] - public enum DummyEnum - { - [EnumMember(Value = "known_value1")] - KnownValue1, +public class DummyObject +{ + [JsonPropertyName("enum_property")] + public DummyEnum EnumProperty { get; set; } +} - [EnumMember(Value = "known_value2")] - KnownValue2, - } +[JsonConverter(typeof(EnumSerializer))] +public enum DummyEnum +{ + [EnumMember(Value = "known_value1")] + KnownValue1, + + [EnumMember(Value = "known_value2")] + KnownValue2, } diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs index 1f42afdf1b2..bf77db95df9 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs @@ -1,113 +1,104 @@ -using System; -using System.Net.Http; -using FluentAssertions; using NUnit.Framework; using SeedWebsocket.Core; using WireMock.Server; -using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; -namespace SeedWebsocket.Test.Core +namespace SeedWebsocket.Test.Core; + +[TestFixture] +public class RawClientTests { - [TestFixture] - public class RawClientTests + private const int MaxRetries = 3; + private WireMockServer _server; + private HttpClient _httpClient; + private RawClient _rawClient; + private string _baseUrl; + + [SetUp] + public void SetUp() { - private WireMockServer _server; - private HttpClient _httpClient; - private RawClient _rawClient; - private string _baseUrl; - private const int _maxRetries = 3; - - [SetUp] - public void SetUp() - { - _server = WireMockServer.Start(); - _baseUrl = _server.Url ?? ""; - _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; - _rawClient = new RawClient( - new ClientOptions() { HttpClient = _httpClient, MaxRetries = _maxRetries } - ); - } - - [Test] - [TestCase(408)] - [TestCase(429)] - [TestCase(500)] - [TestCase(504)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) - { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Server Error") - .WillSetStateTo("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); - - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WhenStateIs("Success") - .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(200)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Success")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(_maxRetries)); - } - - [Test] - [TestCase(400)] - [TestCase(409)] - public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( - int statusCode - ) + _server = WireMockServer.Start(); + _baseUrl = _server.Url ?? ""; + _httpClient = new HttpClient { BaseAddress = new Uri(_baseUrl) }; + _rawClient = new RawClient( + new ClientOptions { HttpClient = _httpClient, MaxRetries = MaxRetries } + ); + } + + [Test] + [TestCase(408)] + [TestCase(429)] + [TestCase(500)] + [TestCase(504)] + public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Server Error") + .WillSetStateTo("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode)); + + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WhenStateIs("Success") + .RespondWith(WireMockResponse.Create().WithStatusCode(200).WithBody("Success")); + + var request = new RawClient.BaseApiRequest { - _server - .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) - .InScenario("Retry") - .WillSetStateTo("Server Error") - .RespondWith( - WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure") - ); - - var request = new RawClient.BaseApiRequest - { - BaseUrl = _baseUrl, - Method = HttpMethod.Get, - Path = "/test", - }; - - var response = await _rawClient.MakeRequestAsync(request); - Assert.That(response.StatusCode, Is.EqualTo(statusCode)); - - var content = await response.Raw.Content.ReadAsStringAsync(); - Assert.That(content, Is.EqualTo("Failure")); - - Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); - } - - [TearDown] - public void TearDown() + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(200)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Success")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(MaxRetries)); + } + + [Test] + [TestCase(400)] + [TestCase(409)] + public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + { + _server + .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) + .InScenario("Retry") + .WillSetStateTo("Server Error") + .RespondWith(WireMockResponse.Create().WithStatusCode(statusCode).WithBody("Failure")); + + var request = new RawClient.BaseApiRequest { - _server.Dispose(); - _httpClient.Dispose(); - } + BaseUrl = _baseUrl, + Method = HttpMethod.Get, + Path = "/test", + }; + + var response = await _rawClient.MakeRequestAsync(request); + Assert.That(response.StatusCode, Is.EqualTo(statusCode)); + + var content = await response.Raw.Content.ReadAsStringAsync(); + Assert.That(content, Is.EqualTo("Failure")); + + Assert.That(_server.LogEntries.Count, Is.EqualTo(1)); + } + + [TearDown] + public void TearDown() + { + _server.Dispose(); + _httpClient.Dispose(); } } diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj index b1ba647bca0..9d23f3abc4c 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/SeedWebsocket.Test.csproj @@ -2,14 +2,19 @@ net8.0 + 12 enable enable - false true + true + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/TestClient.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/TestClient.cs index 6a238bf10f9..5e7b12c3f73 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/TestClient.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/TestClient.cs @@ -1,8 +1,6 @@ using NUnit.Framework; -#nullable enable - namespace SeedWebsocket.Test; [TestFixture] -public class TestClient { } +public class TestClient; diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs index 94b73ff5cb2..595be7346d9 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/CollectionItemSerializer.cs @@ -75,7 +75,7 @@ JsonSerializerOptions options return; } - JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(options); + var jsonSerializerOptions = new JsonSerializerOptions(options); jsonSerializerOptions.Converters.Clear(); jsonSerializerOptions.Converters.Add(Activator.CreateInstance()); diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/IRequestOptions.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/IRequestOptions.cs index 0da142ebadf..e5312bf9b82 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/IRequestOptions.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/IRequestOptions.cs @@ -1,8 +1,6 @@ using System; using System.Net.Http; -#nullable enable - namespace SeedWebsocket.Core; internal interface IRequestOptions diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/ClientOptions.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/ClientOptions.cs index cc876667020..6aeb21743d1 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/ClientOptions.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/ClientOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedWebsocket.Core; -#nullable enable - namespace SeedWebsocket; public partial class ClientOptions diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/RequestOptions.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/RequestOptions.cs index b0856341948..ae18b4990ac 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/RequestOptions.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/RequestOptions.cs @@ -2,8 +2,6 @@ using System.Net.Http; using SeedWebsocket.Core; -#nullable enable - namespace SeedWebsocket; public partial class RequestOptions : IRequestOptions diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/SeedWebsocketException.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/SeedWebsocketException.cs index c828f424f2d..7ffd717d6a4 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/SeedWebsocketException.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/Public/SeedWebsocketException.cs @@ -1,11 +1,9 @@ using System; -#nullable enable - namespace SeedWebsocket; /// /// Base exception class for all exceptions thrown by the SDK. /// public class SeedWebsocketException(string message, Exception? innerException = null) - : Exception(message, innerException) { } + : Exception(message, innerException); diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs index 9a3fd517898..258f0f04e49 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs @@ -5,8 +5,6 @@ namespace SeedWebsocket.Core; -#nullable enable - /// /// Utility class for making raw HTTP requests to the API. /// @@ -31,7 +29,7 @@ public async Task MakeRequestAsync( cts.CancelAfter(timeout); // Send the request. - return await SendWithRetriesAsync(request, cts.Token); + return await SendWithRetriesAsync(request, cts.Token).ConfigureAwait(false); } public record BaseApiRequest @@ -84,7 +82,9 @@ CancellationToken cancellationToken { var httpClient = request.Options?.HttpClient ?? Options.HttpClient; var maxRetries = request.Options?.MaxRetries ?? Options.MaxRetries; - var response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + var response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); for (var i = 0; i < maxRetries; i++) { if (!ShouldRetry(response)) @@ -92,8 +92,10 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await System.Threading.Tasks.Task.Delay(delayMs, cancellationToken); - response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken); + await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + response = await httpClient + .SendAsync(BuildHttpRequest(request), cancellationToken) + .ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; } diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Realtime/RealtimeClient.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Realtime/RealtimeClient.cs index d4a2aa3ebbc..8e6b183ad4f 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Realtime/RealtimeClient.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Realtime/RealtimeClient.cs @@ -1,7 +1,5 @@ using SeedWebsocket.Core; -#nullable enable - namespace SeedWebsocket; public partial class RealtimeClient diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/SeedWebsocketClient.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/SeedWebsocketClient.cs index 26b4ca4e249..90ec072cc93 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/SeedWebsocketClient.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/SeedWebsocketClient.cs @@ -1,12 +1,10 @@ using SeedWebsocket.Core; -#nullable enable - namespace SeedWebsocket; public partial class SeedWebsocketClient { - private RawClient _client; + private readonly RawClient _client; public SeedWebsocketClient(ClientOptions? clientOptions = null) { From f9f4dfbfe570b8fa6c0ba8ca35f8f122bdaa9125 Mon Sep 17 00:00:00 2001 From: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Date: Sun, 2 Feb 2025 18:34:38 -0600 Subject: [PATCH 2/6] Add C# generator version --- generators/csharp/sdk/versions.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/generators/csharp/sdk/versions.yml b/generators/csharp/sdk/versions.yml index bc7b0771305..ee84f3430fd 100644 --- a/generators/csharp/sdk/versions.yml +++ b/generators/csharp/sdk/versions.yml @@ -6,6 +6,18 @@ # The C# SDK now uses forward-compatible enums which are not compatible with the previously generated enums. # Set `enable-forward-compatible-enums` to `false` in the configuration to generate the old enums. # irVersion: 53 +- version: 1.9.13 + createdAt: "2025-02-02" + changelogEntry: + - type: internal + summary: | + Miscellaneous improvement for the C# generator + - Call `.ConfigureAwait(false)` on Tasks + - Use `Enumerable.Empty` instead of creating a new empty list + - Add PolySharp to test project and use C# 12 + - Remove redundant `#nullable enable` directives + - Improve C# syntax + irVersion: 53 - version: 1.9.12 createdAt: "2025-01-22" changelogEntry: From c6716b565d310ef4bc87b7177ebb84cc7becb3c6 Mon Sep 17 00:00:00 2001 From: Swimburger <3382717+Swimburger@users.noreply.github.com> Date: Mon, 3 Feb 2025 02:28:59 +0000 Subject: [PATCH 3/6] chore: update changelog --- fern/pages/changelogs/csharp-sdk/2025-02-02.mdx | 9 +++++++++ .../ts-express/{2025-01-31.mdx => 2025-02-03.mdx} | 0 2 files changed, 9 insertions(+) create mode 100644 fern/pages/changelogs/csharp-sdk/2025-02-02.mdx rename fern/pages/changelogs/ts-express/{2025-01-31.mdx => 2025-02-03.mdx} (100%) diff --git a/fern/pages/changelogs/csharp-sdk/2025-02-02.mdx b/fern/pages/changelogs/csharp-sdk/2025-02-02.mdx new file mode 100644 index 00000000000..bcdd1a660e2 --- /dev/null +++ b/fern/pages/changelogs/csharp-sdk/2025-02-02.mdx @@ -0,0 +1,9 @@ +## 1.9.13 +**`(internal):`** Miscellaneous improvement for the C# generator +- Call `.ConfigureAwait(false)` on Tasks +- Use `Enumerable.Empty` instead of creating a new empty list +- Add PolySharp to test project and use C# 12 +- Remove redundant `#nullable enable` directives +- Improve C# syntax + + diff --git a/fern/pages/changelogs/ts-express/2025-01-31.mdx b/fern/pages/changelogs/ts-express/2025-02-03.mdx similarity index 100% rename from fern/pages/changelogs/ts-express/2025-01-31.mdx rename to fern/pages/changelogs/ts-express/2025-02-03.mdx From f8bbcc017af7d9d5587e20480831a976aea44a69 Mon Sep 17 00:00:00 2001 From: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Date: Sun, 2 Feb 2025 21:43:34 -0500 Subject: [PATCH 4/6] Fix test snapshot --- .../src/ast/__test__/__snapshots__/Class.test.ts.snap | 5 +---- .../codegen/src/proto/CsharpProtobufTypeMapper.ts | 11 +++++------ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/generators/csharp/codegen/src/ast/__test__/__snapshots__/Class.test.ts.snap b/generators/csharp/codegen/src/ast/__test__/__snapshots__/Class.test.ts.snap index 5b4872afed6..2fe8828c99a 100644 --- a/generators/csharp/codegen/src/ast/__test__/__snapshots__/Class.test.ts.snap +++ b/generators/csharp/codegen/src/ast/__test__/__snapshots__/Class.test.ts.snap @@ -3,8 +3,5 @@ exports[`class > basic 1`] = ` "namespace Automotive; -public class Car(string make,string model) -{ -} -" +public class Car(string make,string model);" `; diff --git a/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts b/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts index d66bfe40763..891b03f9637 100644 --- a/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts +++ b/generators/csharp/codegen/src/proto/CsharpProtobufTypeMapper.ts @@ -135,11 +135,6 @@ export class CsharpProtobufTypeMapper { } } -const enumerableClassReference = csharp.classReference({ - namespace: "System.Linq", - name: "Enumerable" -}); - class ToProtoPropertyMapper { private context: AbstractCsharpGeneratorContext; @@ -443,6 +438,10 @@ class ToProtoPropertyMapper { class FromProtoPropertyMapper { private context: AbstractCsharpGeneratorContext; + private readonly enumerableClassReference = csharp.classReference({ + namespace: "System.Linq", + name: "Enumerable" + }); constructor({ context }: { context: AbstractCsharpGeneratorContext }) { this.context = context; @@ -573,7 +572,7 @@ class FromProtoPropertyMapper { writer.write(" ?? "); writer.writeNode( csharp.invokeMethod({ - on: enumerableClassReference, + on: this.enumerableClassReference, method: "Empty", generics: [this.context.csharpTypeMapper.convert({ reference: listType })], arguments_: [] From 98178347f951e9e4489b36dcf37e983baca69ad9 Mon Sep 17 00:00:00 2001 From: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Date: Mon, 3 Feb 2025 01:14:42 -0500 Subject: [PATCH 5/6] Use SystemTask alias to avoid conflict with resources potentially called Task --- .../csharp/codegen/src/asIs/RawClient.Template.cs | 3 ++- .../asIs/test/Pagination/GuidCursorTest.Template.cs | 7 ++++--- .../test/Pagination/HasNextPageOffsetTest.Template.cs | 7 ++++--- .../src/asIs/test/Pagination/IntOffsetTest.Template.cs | 7 ++++--- .../asIs/test/Pagination/LongOffsetTest.Template.cs | 7 ++++--- .../test/Pagination/NoRequestCursorTest.Template.cs | 7 ++++--- .../test/Pagination/NoRequestOffsetTest.Template.cs | 7 ++++--- .../asIs/test/Pagination/StepOffsetTest.Template.cs | 7 ++++--- .../asIs/test/Pagination/StringCursorTest.Template.cs | 7 ++++--- .../codegen/src/asIs/test/RawClientTests.Template.cs | 5 +++-- generators/csharp/codegen/src/ast/Method.ts | 10 +++++++--- .../src/SeedAliasExtends.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedAliasExtends/Core/RawClient.cs | 3 ++- .../alias/src/SeedAlias.Test/Core/RawClientTests.cs | 5 +++-- seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs | 3 ++- .../src/SeedAnyAuth.Test/Core/RawClientTests.cs | 5 +++-- .../any-auth/src/SeedAnyAuth/Auth/AuthClient.cs | 1 + .../any-auth/src/SeedAnyAuth/Core/RawClient.cs | 3 ++- .../any-auth/src/SeedAnyAuth/User/UserClient.cs | 1 + .../SeedApiWideBasePath.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedApiWideBasePath/Core/RawClient.cs | 3 ++- .../src/SeedAudiences.Test/Core/RawClientTests.cs | 5 +++-- .../audiences/src/SeedAudiences/Core/RawClient.cs | 3 ++- .../src/SeedAudiences/FolderA/Service/ServiceClient.cs | 1 + .../src/SeedAudiences/FolderD/Service/ServiceClient.cs | 1 + .../audiences/src/SeedAudiences/Foo/FooClient.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../src/SeedAuthEnvironmentVariables/Core/RawClient.cs | 3 ++- .../Service/ServiceClient.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../BasicAuth/BasicAuthClient.cs | 1 + .../Core/RawClient.cs | 3 ++- .../src/SeedBasicAuth.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs | 1 + .../basic-auth/src/SeedBasicAuth/Core/RawClient.cs | 3 ++- .../Core/RawClientTests.cs | 5 +++-- .../Core/RawClient.cs | 3 ++- .../Service/ServiceClient.cs | 1 + .../bytes/src/SeedBytes.Test/Core/RawClientTests.cs | 5 +++-- seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs | 3 ++- .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedApi/Core/RawClient.cs | 3 ++- .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../circular-references/src/SeedApi/Core/RawClient.cs | 3 ++- .../Core/RawClientTests.cs | 5 +++-- .../src/SeedCrossPackageTypeNames/Core/RawClient.cs | 3 ++- .../FolderA/Service/ServiceClient.cs | 1 + .../FolderD/Service/ServiceClient.cs | 1 + .../src/SeedCrossPackageTypeNames/Foo/FooClient.cs | 1 + .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedApi/Core/RawClient.cs | 3 ++- .../src/SeedApi/Dataservice/DataserviceClient.cs | 1 + .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../csharp-grpc-proto/src/SeedApi/Core/RawClient.cs | 3 ++- .../src/SeedApi/Userservice/UserserviceClient.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../src/SeedCsharpNamespaceConflict/Core/RawClient.cs | 3 ++- .../src/SeedCustomAuth.Test/Core/RawClientTests.cs | 5 +++-- .../custom-auth/src/SeedCustomAuth/Core/RawClient.cs | 3 ++- .../src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs | 1 + .../src/SeedEnum.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedEnum/Core/RawClient.cs | 3 ++- .../src/SeedEnum.Test/Core/RawClientTests.cs | 5 +++-- .../enum/plain-enums/src/SeedEnum/Core/RawClient.cs | 3 ++- .../src/SeedErrorProperty.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedErrorProperty/Core/RawClient.cs | 3 ++- .../PropertyBasedError/PropertyBasedErrorClient.cs | 1 + .../src/SeedExamples.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedExamples/Core/RawClient.cs | 3 ++- .../File/Notification/Service/ServiceClient.cs | 1 + .../src/SeedExamples/File/Service/ServiceClient.cs | 1 + .../src/SeedExamples/SeedExamplesClient.cs | 1 + .../src/SeedExamples/Service/ServiceClient.cs | 1 + .../src/SeedExamples.Test/Core/RawClientTests.cs | 5 +++-- .../readme-config/src/SeedExamples/Core/RawClient.cs | 3 ++- .../File/Notification/Service/ServiceClient.cs | 1 + .../src/SeedExamples/File/Service/ServiceClient.cs | 1 + .../src/SeedExamples/SeedExamplesClient.cs | 1 + .../src/SeedExamples/Service/ServiceClient.cs | 1 + .../src/SeedExhaustive.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedExhaustive/Core/RawClient.cs | 3 ++- .../Endpoints/Container/ContainerClient.cs | 1 + .../src/SeedExhaustive/Endpoints/Enum/EnumClient.cs | 1 + .../Endpoints/HttpMethods/HttpMethodsClient.cs | 1 + .../SeedExhaustive/Endpoints/Object/ObjectClient.cs | 1 + .../Endpoints/Primitive/PrimitiveClient.cs | 1 + .../src/SeedExhaustive/Endpoints/Union/UnionClient.cs | 1 + .../InlinedRequests/InlinedRequestsClient.cs | 1 + .../src/SeedExhaustive/NoAuth/NoAuthClient.cs | 1 + .../src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs | 1 + .../src/SeedExhaustive.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedExhaustive/Core/RawClient.cs | 3 ++- .../Endpoints/Container/ContainerClient.cs | 1 + .../src/SeedExhaustive/Endpoints/Enum/EnumClient.cs | 1 + .../Endpoints/HttpMethods/HttpMethodsClient.cs | 1 + .../SeedExhaustive/Endpoints/Object/ObjectClient.cs | 1 + .../Endpoints/Primitive/PrimitiveClient.cs | 1 + .../src/SeedExhaustive/Endpoints/Union/UnionClient.cs | 1 + .../InlinedRequests/InlinedRequestsClient.cs | 1 + .../src/SeedExhaustive/NoAuth/NoAuthClient.cs | 1 + .../src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs | 1 + .../src/SeedExhaustive.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedExhaustive/Core/RawClient.cs | 3 ++- .../Endpoints/Container/ContainerClient.cs | 1 + .../src/SeedExhaustive/Endpoints/Enum/EnumClient.cs | 1 + .../Endpoints/HttpMethods/HttpMethodsClient.cs | 1 + .../SeedExhaustive/Endpoints/Object/ObjectClient.cs | 1 + .../Endpoints/Primitive/PrimitiveClient.cs | 1 + .../src/SeedExhaustive/Endpoints/Union/UnionClient.cs | 1 + .../InlinedRequests/InlinedRequestsClient.cs | 1 + .../src/SeedExhaustive/NoAuth/NoAuthClient.cs | 1 + .../src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs | 1 + .../src/SeedExtends.Test/Core/RawClientTests.cs | 5 +++-- .../extends/src/SeedExtends/Core/RawClient.cs | 3 ++- .../SeedExtraProperties.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedExtraProperties/Core/RawClient.cs | 3 ++- .../src/SeedExtraProperties/User/UserClient.cs | 1 + .../src/SeedFileDownload.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedFileDownload/Core/RawClient.cs | 3 ++- .../src/SeedFileUpload.Test/Core/RawClientTests.cs | 5 +++-- .../file-upload/src/SeedFileUpload/Core/RawClient.cs | 3 ++- .../folders/src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs | 3 ++- .../SeedIdempotencyHeaders.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedIdempotencyHeaders/Core/RawClient.cs | 3 ++- .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedApi/Core/RawClient.cs | 3 ++- .../src/SeedApi/Imdb/ImdbClient.cs | 1 + .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../extra-dependencies/src/SeedApi/Core/RawClient.cs | 3 ++- .../extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs | 1 + .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../no-custom-config/src/SeedApi/Core/RawClient.cs | 3 ++- .../no-custom-config/src/SeedApi/Imdb/ImdbClient.cs | 1 + .../src/SeedLicense.Test/Core/RawClientTests.cs | 5 +++-- .../custom-license/src/SeedLicense/Core/RawClient.cs | 3 ++- .../src/SeedLicense.Test/Core/RawClientTests.cs | 5 +++-- .../mit-license/src/SeedLicense/Core/RawClient.cs | 3 ++- .../src/SeedLiteral.Test/Core/RawClientTests.cs | 5 +++-- .../literal/src/SeedLiteral/Core/RawClient.cs | 3 ++- .../literal/src/SeedLiteral/Headers/HeadersClient.cs | 1 + .../literal/src/SeedLiteral/Inlined/InlinedClient.cs | 1 + .../literal/src/SeedLiteral/Path/PathClient.cs | 1 + .../literal/src/SeedLiteral/Query/QueryClient.cs | 1 + .../src/SeedLiteral/Reference/ReferenceClient.cs | 1 + .../src/SeedMixedCase.Test/Core/RawClientTests.cs | 5 +++-- .../mixed-case/src/SeedMixedCase/Core/RawClient.cs | 3 ++- .../src/SeedMixedCase/Service/ServiceClient.cs | 1 + .../SeedMixedFileDirectory.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedMixedFileDirectory/Core/RawClient.cs | 3 ++- .../Organization/OrganizationClient.cs | 1 + .../SeedMixedFileDirectory/User/Events/EventsClient.cs | 1 + .../User/Events/Metadata/MetadataClient.cs | 1 + .../src/SeedMixedFileDirectory/User/UserClient.cs | 1 + .../src/SeedMultiLineDocs.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedMultiLineDocs/Core/RawClient.cs | 3 ++- .../Core/RawClientTests.cs | 5 +++-- .../SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs | 3 ++- .../SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../src/SeedMultiUrlEnvironment/Core/RawClient.cs | 3 ++- .../src/SeedMultiUrlEnvironment/S3/S3Client.cs | 1 + .../src/SeedNoEnvironment.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedNoEnvironment/Core/RawClient.cs | 3 ++- .../src/SeedNoEnvironment/Dummy/DummyClient.cs | 1 + .../src/SeedNullable.Test/Core/RawClientTests.cs | 5 +++-- .../nullable/src/SeedNullable/Core/RawClient.cs | 3 ++- .../src/SeedNullable/Nullable/NullableClient.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../src/SeedOauthClientCredentials/Auth/AuthClient.cs | 1 + .../Core/OAuthTokenProvider.cs | 1 + .../src/SeedOauthClientCredentials/Core/RawClient.cs | 3 ++- .../Core/RawClientTests.cs | 5 +++-- .../Auth/AuthClient.cs | 1 + .../Core/OAuthTokenProvider.cs | 1 + .../Core/RawClient.cs | 3 ++- .../Core/RawClientTests.cs | 5 +++-- .../Auth/AuthClient.cs | 1 + .../Core/OAuthTokenProvider.cs | 1 + .../Core/RawClient.cs | 3 ++- .../Core/RawClientTests.cs | 5 +++-- .../src/SeedOauthClientCredentials/Auth/AuthClient.cs | 1 + .../Core/OAuthTokenProvider.cs | 1 + .../src/SeedOauthClientCredentials/Core/RawClient.cs | 3 ++- .../Core/RawClientTests.cs | 5 +++-- .../src/SeedOauthClientCredentials/Auth/AuthClient.cs | 1 + .../Core/OAuthTokenProvider.cs | 1 + .../src/SeedOauthClientCredentials/Core/RawClient.cs | 3 ++- .../object/src/SeedObject.Test/Core/RawClientTests.cs | 5 +++-- .../csharp-sdk/object/src/SeedObject/Core/RawClient.cs | 3 ++- .../SeedObjectsWithImports.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedObjectsWithImports/Core/RawClient.cs | 3 ++- .../SeedObjectsWithImports.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedObjectsWithImports/Core/RawClient.cs | 3 ++- .../SeedObjectsWithImports/Optional/OptionalClient.cs | 1 + .../src/SeedPackageYml.Test/Core/RawClientTests.cs | 5 +++-- .../package-yml/src/SeedPackageYml/Core/RawClient.cs | 3 ++- .../src/SeedPackageYml/SeedPackageYmlClient.cs | 1 + .../Core/Pagination/GuidCursorTest.cs | 7 ++++--- .../Core/Pagination/HasNextPageOffsetTest.cs | 7 ++++--- .../Core/Pagination/IntOffsetTest.cs | 7 ++++--- .../Core/Pagination/LongOffsetTest.cs | 7 ++++--- .../Core/Pagination/NoRequestCursorTest.cs | 7 ++++--- .../Core/Pagination/NoRequestOffsetTest.cs | 7 ++++--- .../Core/Pagination/StepOffsetTest.cs | 7 ++++--- .../Core/Pagination/StringCursorTest.cs | 7 ++++--- .../src/SeedPagination.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedPagination/Complex/ComplexClient.cs | 1 + .../pagination/src/SeedPagination/Core/RawClient.cs | 3 ++- .../pagination/src/SeedPagination/Users/UsersClient.cs | 1 + .../src/SeedPathParameters.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedPathParameters/Core/RawClient.cs | 3 ++- .../Organizations/OrganizationsClient.cs | 1 + .../src/SeedPathParameters/User/UserClient.cs | 1 + .../src/SeedPlainText.Test/Core/RawClientTests.cs | 5 +++-- .../plain-text/src/SeedPlainText/Core/RawClient.cs | 3 ++- .../src/SeedPlainText/Service/ServiceClient.cs | 1 + .../SeedQueryParameters.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedQueryParameters/Core/RawClient.cs | 3 ++- .../src/SeedQueryParameters/User/UserClient.cs | 1 + .../src/SeedNurseryApi.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedNurseryApi/Core/RawClient.cs | 3 ++- .../SeedResponseProperty.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedResponseProperty/Core/RawClient.cs | 3 ++- .../src/SeedResponseProperty/Service/ServiceClient.cs | 1 + .../SeedServerSentEvents.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedServerSentEvents/Core/RawClient.cs | 3 ++- .../SeedServerSentEvents.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedServerSentEvents/Core/RawClient.cs | 3 ++- .../src/SeedApi.Test/Core/RawClientTests.cs | 5 +++-- .../simple-fhir/src/SeedApi/Core/RawClient.cs | 3 ++- .../simple-fhir/src/SeedApi/SeedApiClient.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../SeedSingleUrlEnvironmentDefault/Core/RawClient.cs | 3 ++- .../Dummy/DummyClient.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../Core/RawClient.cs | 3 ++- .../Dummy/DummyClient.cs | 1 + .../src/SeedStreaming.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedStreaming/Core/RawClient.cs | 3 ++- .../src/SeedStreaming.Test/Core/RawClientTests.cs | 5 +++-- .../streaming/src/SeedStreaming/Core/RawClient.cs | 3 ++- .../trace/src/SeedTrace.Test/Core/RawClientTests.cs | 5 +++-- seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs | 3 ++- .../trace/src/SeedTrace/Migration/MigrationClient.cs | 1 + .../trace/src/SeedTrace/V2/Problem/ProblemClient.cs | 1 + .../trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs | 1 + .../Core/RawClientTests.cs | 5 +++-- .../src/SeedUndiscriminatedUnions/Core/RawClient.cs | 3 ++- .../src/SeedUndiscriminatedUnions/Union/UnionClient.cs | 1 + .../unions/src/SeedUnions.Test/Core/RawClientTests.cs | 5 +++-- .../csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs | 3 ++- .../unions/src/SeedUnions/Union/UnionClient.cs | 1 + .../src/SeedUnknownAsAny.Test/Core/RawClientTests.cs | 5 +++-- .../unknown/src/SeedUnknownAsAny/Core/RawClient.cs | 3 ++- .../src/SeedUnknownAsAny/Unknown/UnknownClient.cs | 1 + .../src/SeedValidation.Test/Core/RawClientTests.cs | 5 +++-- .../validation/src/SeedValidation/Core/RawClient.cs | 3 ++- .../src/SeedValidation/SeedValidationClient.cs | 1 + .../src/SeedVariables.Test/Core/RawClientTests.cs | 5 +++-- .../variables/src/SeedVariables/Core/RawClient.cs | 3 ++- .../src/SeedVersion.Test/Core/RawClientTests.cs | 5 +++-- .../src/SeedVersion/Core/RawClient.cs | 3 ++- .../src/SeedVersion/User/UserClient.cs | 1 + .../src/SeedVersion.Test/Core/RawClientTests.cs | 5 +++-- .../version/src/SeedVersion/Core/RawClient.cs | 3 ++- .../version/src/SeedVersion/User/UserClient.cs | 1 + .../src/SeedWebsocket.Test/Core/RawClientTests.cs | 5 +++-- .../websocket/src/SeedWebsocket/Core/RawClient.cs | 3 ++- 269 files changed, 551 insertions(+), 279 deletions(-) diff --git a/generators/csharp/codegen/src/asIs/RawClient.Template.cs b/generators/csharp/codegen/src/asIs/RawClient.Template.cs index 1d76c0c4c11..5783ca223ec 100644 --- a/generators/csharp/codegen/src/asIs/RawClient.Template.cs +++ b/generators/csharp/codegen/src/asIs/RawClient.Template.cs @@ -1,5 +1,6 @@ using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; using System.Net.Http; using System.Net.Http.Headers; @@ -98,7 +99,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient.SendAsync(BuildHttpRequest(request), cancellationToken).ConfigureAwait(false); } return new ApiResponse { StatusCode = (int)response.StatusCode, Raw = response }; diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/GuidCursorTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/GuidCursorTest.Template.cs index 340b1bc5bd7..02e85500cf2 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/GuidCursorTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/GuidCursorTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class GuidCursorTest { [Test] - public async Task CursorPagerShouldWorkWithGuidCursors() + public async SystemTask CursorPagerShouldWorkWithGuidCursors() { var pager = CreatePager(); await AssertPager(pager); @@ -72,7 +73,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, (request, cursor) => { @@ -85,7 +86,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/HasNextPageOffsetTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/HasNextPageOffsetTest.Template.cs index 769139df972..cd14af90ea2 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/HasNextPageOffsetTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/HasNextPageOffsetTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class HasNextPageOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithHasNextPage() + public async SystemTask OffsetPagerShouldWorkWithHasNextPage() { var pager = CreatePager(); await AssertPager(pager); @@ -61,7 +62,7 @@ private static Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.Page ?? 0, (request, offset) => @@ -76,7 +77,7 @@ private static Pager CreatePager() return pager; } - private static async Task AssertPager(Pager pager) + private static async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/IntOffsetTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/IntOffsetTest.Template.cs index 9e2edd86f3c..ad29340a1dd 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/IntOffsetTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/IntOffsetTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class IntOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithIntPage() + public async SystemTask OffsetPagerShouldWorkWithIntPage() { var pager = CreatePager(); await AssertPager(pager); @@ -58,7 +59,7 @@ public Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request.Pagination.Page, (request, offset) => @@ -73,7 +74,7 @@ public Pager CreatePager() return pager; } - public async Task AssertPager(Pager pager) + public async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/LongOffsetTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/LongOffsetTest.Template.cs index 02960048e76..64a8c24d920 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/LongOffsetTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/LongOffsetTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class LongOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithLongPage() + public async SystemTask OffsetPagerShouldWorkWithLongPage() { var pager = CreatePager(); await AssertPager(pager); @@ -58,7 +59,7 @@ private static Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.Page ?? 0, (request, offset) => @@ -73,7 +74,7 @@ private static Pager CreatePager() return pager; } - private static async Task AssertPager(Pager pager) + private static async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestCursorTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestCursorTest.Template.cs index 778cfd03534..09ff7954dd8 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestCursorTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestCursorTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class NoRequestCursorTest { [Test] - public async Task CursorPagerShouldWorkWithStringCursor() + public async SystemTask CursorPagerShouldWorkWithStringCursor() { var pager = CreatePager(); await AssertPager(pager); @@ -68,7 +69,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, (request, cursor) => { @@ -81,7 +82,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestOffsetTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestOffsetTest.Template.cs index 5d6543f0931..76c89b3b261 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestOffsetTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/NoRequestOffsetTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class NoRequestOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithoutRequest() + public async SystemTask OffsetPagerShouldWorkWithoutRequest() { var pager = CreatePager(); await AssertPager(pager); @@ -52,7 +53,7 @@ public Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.Page ?? 0, (request, offset) => @@ -67,7 +68,7 @@ public Pager CreatePager() return pager; } - public async Task AssertPager(Pager pager) + public async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/StepOffsetTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/StepOffsetTest.Template.cs index 8327e366b22..19f9be6d916 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/StepOffsetTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/StepOffsetTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class StepPageOffsetPaginationTest { [Test] - public async Task OffsetPagerShouldWorkWithStep() + public async SystemTask OffsetPagerShouldWorkWithStep() { var pager = CreatePager(); await AssertPager(pager); @@ -61,7 +62,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.ItemOffset ?? 0, (request, offset) => @@ -77,7 +78,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/generators/csharp/codegen/src/asIs/test/Pagination/StringCursorTest.Template.cs b/generators/csharp/codegen/src/asIs/test/Pagination/StringCursorTest.Template.cs index f84e89fd5e8..92cab4a7a83 100644 --- a/generators/csharp/codegen/src/asIs/test/Pagination/StringCursorTest.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/Pagination/StringCursorTest.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using <%= namespace%>.Core; namespace <%= namespace%>.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace <%= namespace%>.Test.Core.Pagination; public class StringCursorTest { [Test] - public async Task CursorPagerShouldWorkWithStringCursor() + public async SystemTask CursorPagerShouldWorkWithStringCursor() { var pager = CreatePager(); await AssertPager(pager); @@ -71,7 +72,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, (request, cursor) => { @@ -84,7 +85,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs b/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs index 7e3128f21e0..4df761423c6 100644 --- a/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/RawClientTests.Template.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using SystemTask = System.Threading.Tasks.Task; using WireMock.Server; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes( int statusCode ) { diff --git a/generators/csharp/codegen/src/ast/Method.ts b/generators/csharp/codegen/src/ast/Method.ts index 55d5f7f3475..e4c67092629 100644 --- a/generators/csharp/codegen/src/ast/Method.ts +++ b/generators/csharp/codegen/src/ast/Method.ts @@ -147,9 +147,13 @@ export class Method extends AstNode { } } else { if (this.isAsync) { - writer.write("Task<"); - this.return.write(writer); - writer.write(">"); + writer.writeNode( + new ClassReference({ + name: "Task", + namespace: "System.Threading.Tasks", + generics: [this.return] + }) + ); } else { this.return.write(writer); } diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs index da9e1efd87c..0e72a7b084f 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedAliasExtends.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs index 7e69eb2d20d..e0482b47ae3 100644 --- a/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs +++ b/seed/csharp-sdk/alias-extends/src/SeedAliasExtends/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedAliasExtends.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs b/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs index f4ad61f3325..3acef12019a 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedAlias.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs b/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs index c9feb84d7f1..7a8ebb491a1 100644 --- a/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs +++ b/seed/csharp-sdk/alias/src/SeedAlias/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedAlias.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs index eab1bd092cb..0a2768a85db 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedAnyAuth.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs index bd59dca2d4b..2fd66b137f4 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Auth/AuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedAnyAuth.Core; namespace SeedAnyAuth; diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs index 9f360c774e6..2a571c3cc72 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedAnyAuth.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs index 3e5497c9631..596517479e5 100644 --- a/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs +++ b/seed/csharp-sdk/any-auth/src/SeedAnyAuth/User/UserClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedAnyAuth.Core; namespace SeedAnyAuth; diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs index 36d4ad2df39..fe5f03b1d30 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApiWideBasePath.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs index eb218b3fcc0..3f41da87a4f 100644 --- a/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs +++ b/seed/csharp-sdk/api-wide-base-path/src/SeedApiWideBasePath/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApiWideBasePath.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs index 11edf42106a..2cf7cb257f7 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedAudiences.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs index 5cb37a5c4ba..12243421a9d 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedAudiences.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs index a6aa2be77a2..869a66a4cea 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderA/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedAudiences; using SeedAudiences.Core; diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs index 8c046071948..4159138e317 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/FolderD/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedAudiences; using SeedAudiences.Core; diff --git a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs index c1b6201a8e2..793734dfde8 100644 --- a/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs +++ b/seed/csharp-sdk/audiences/src/SeedAudiences/Foo/FooClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedAudiences.Core; namespace SeedAudiences; diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs index a925141ef23..cbbbf0398a0 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedAuthEnvironmentVariables.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs index 55dac48950b..3905894d0da 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedAuthEnvironmentVariables.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs index a901b019578..7fed9da2d88 100644 --- a/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs +++ b/seed/csharp-sdk/auth-environment-variables/src/SeedAuthEnvironmentVariables/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedAuthEnvironmentVariables.Core; namespace SeedAuthEnvironmentVariables; diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs index d83f5e50cef..4fac5e3d5f9 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedBasicAuthEnvironmentVariables.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs index 5642b8fefd7..be5c363895a 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/BasicAuth/BasicAuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedBasicAuthEnvironmentVariables.Core; namespace SeedBasicAuthEnvironmentVariables; diff --git a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs index 987cadb530e..cc903aa5291 100644 --- a/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/basic-auth-environment-variables/src/SeedBasicAuthEnvironmentVariables/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedBasicAuthEnvironmentVariables.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs index a9984043e36..668b8b835b6 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedBasicAuth.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs index c8611666f2f..ce6374c0407 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/BasicAuth/BasicAuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedBasicAuth.Core; namespace SeedBasicAuth; diff --git a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs index 18136531dbe..ea21441a920 100644 --- a/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs +++ b/seed/csharp-sdk/basic-auth/src/SeedBasicAuth/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedBasicAuth.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs index 32d582b02b7..9553cfb96df 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedBearerTokenEnvironmentVariable.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs index 2a531402a64..5f629ee11ad 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedBearerTokenEnvironmentVariable.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs index f5d154b8d4c..4496234911c 100644 --- a/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs +++ b/seed/csharp-sdk/bearer-token-environment-variable/src/SeedBearerTokenEnvironmentVariable/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedBearerTokenEnvironmentVariable.Core; namespace SeedBearerTokenEnvironmentVariable; diff --git a/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs b/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs index d5745b764e9..54db97e07a5 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedBytes.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs b/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs index ee13efdff36..f5862b7a3a4 100644 --- a/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs +++ b/seed/csharp-sdk/bytes/src/SeedBytes/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedBytes.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs index 846da19984b..6e42bad71b4 100644 --- a/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/circular-references-advanced/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs index 846da19984b..6e42bad71b4 100644 --- a/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/circular-references/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs index 514967c4754..60c79456afc 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedCrossPackageTypeNames.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs index 50ffc120c24..8a2c1c76348 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedCrossPackageTypeNames.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs index d6792d52531..06b058bdaa9 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderA/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedCrossPackageTypeNames; using SeedCrossPackageTypeNames.Core; diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs index 797df5dd0ac..e16ca5b5ba9 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/FolderD/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedCrossPackageTypeNames; using SeedCrossPackageTypeNames.Core; diff --git a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs index 7a8e5188aca..6578ffcd4b2 100644 --- a/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs +++ b/seed/csharp-sdk/cross-package-type-names/src/SeedCrossPackageTypeNames/Foo/FooClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedCrossPackageTypeNames.Core; namespace SeedCrossPackageTypeNames; diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs index 095da2f377b..e00d04ee8db 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -99,7 +100,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs index 9fa2f94c52f..b8a6faff60e 100644 --- a/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto-exhaustive/src/SeedApi/Dataservice/DataserviceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using Data.V1.Grpc; using Grpc.Core; using SeedApi.Core; diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs index 095da2f377b..e00d04ee8db 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -99,7 +100,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs index 922efa17146..32ad86f3acf 100644 --- a/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs +++ b/seed/csharp-sdk/csharp-grpc-proto/src/SeedApi/Userservice/UserserviceClient.cs @@ -1,4 +1,5 @@ using System.Threading; +using System.Threading.Tasks; using Grpc.Core; using SeedApi.Core; using User.V1; diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs index 90593dfe689..85165bceb88 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedCsharpNamespaceConflict.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs index b28e93fc14d..528283f7bf6 100644 --- a/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs +++ b/seed/csharp-sdk/csharp-namespace-conflict/src/SeedCsharpNamespaceConflict/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedCsharpNamespaceConflict.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs index 31de8fc63a6..65c47aa7edb 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedCustomAuth.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs index 53fbd531a76..343860a44f5 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedCustomAuth.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs index 27ffaa59f53..c67756c5a51 100644 --- a/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs +++ b/seed/csharp-sdk/custom-auth/src/SeedCustomAuth/CustomAuth/CustomAuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedCustomAuth.Core; namespace SeedCustomAuth; diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs index 39ee73331b7..ca686db0ba0 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedEnum.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs index 3e175e29131..fbb724b93f2 100644 --- a/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs +++ b/seed/csharp-sdk/enum/forward-compatible-enums/src/SeedEnum/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedEnum.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs index 39ee73331b7..ca686db0ba0 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedEnum.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs index 3e175e29131..fbb724b93f2 100644 --- a/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs +++ b/seed/csharp-sdk/enum/plain-enums/src/SeedEnum/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedEnum.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs index 085758aacc7..b487759c889 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedErrorProperty.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs index d50cfa2cad6..32dbd14872c 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedErrorProperty.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs b/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs index 27be2ce65fe..0120afe0790 100644 --- a/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs +++ b/seed/csharp-sdk/error-property/src/SeedErrorProperty/PropertyBasedError/PropertyBasedErrorClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedErrorProperty.Core; namespace SeedErrorProperty; diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs index c93ceee7828..f95093c8fd3 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedExamples.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs index d86cc9b06f2..7fb4899edab 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedExamples.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs index 4f658f7a87a..001bad6329e 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExamples; using SeedExamples.Core; diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs index a2593733499..fb907c97277 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/File/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExamples; using SeedExamples.Core; diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs index fb6760d104d..a5fa60a2028 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/SeedExamplesClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using OneOf; using SeedExamples.Commons; using SeedExamples.Core; diff --git a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs index 403f46154e1..e71774d12b7 100644 --- a/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/no-custom-config/src/SeedExamples/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExamples.Core; namespace SeedExamples; diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs index c93ceee7828..f95093c8fd3 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedExamples.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs index d86cc9b06f2..7fb4899edab 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedExamples.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs index 4f658f7a87a..001bad6329e 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Notification/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExamples; using SeedExamples.Core; diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs index a2593733499..fb907c97277 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/File/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExamples; using SeedExamples.Core; diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs index fb6760d104d..a5fa60a2028 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/SeedExamplesClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using OneOf; using SeedExamples.Commons; using SeedExamples.Core; diff --git a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs index 403f46154e1..e71774d12b7 100644 --- a/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs +++ b/seed/csharp-sdk/examples/readme-config/src/SeedExamples/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExamples.Core; namespace SeedExamples; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs index 16ff462bb81..72e3a2a3cd8 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedExhaustive.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs index 75867430311..126b5248291 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedExhaustive.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs index 53a2ecb1e4d..4caad80523a 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types.Object; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs index 72c4c2d26d2..c6d21cc5900 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types.Enum; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs index 586b6eab8a3..a74cfb5bc87 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types.Object; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs index 8e994c983ea..2e4de113e54 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types.Object; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs index 8dbd6a63425..359c9112fdb 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs index a5e445e5164..7fe192c2fe5 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/Endpoints/Union/UnionClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs index 4cb751c57f8..1303cb45173 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.GeneralErrors; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs index a5ebe4e61df..d3348eff692 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoAuth/NoAuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.GeneralErrors; diff --git a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs index c40ea71971b..e123a15a062 100644 --- a/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs +++ b/seed/csharp-sdk/exhaustive/explicit-namespaces/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types.Object; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs index 16ff462bb81..72e3a2a3cd8 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedExhaustive.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs index 75867430311..126b5248291 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedExhaustive.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs index 5562ab42d99..9c575989cfd 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs index f6e0093e60c..ef4f3dff573 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs index 4b4de8f2cc8..e56788008db 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs index 6a55770094d..97d99b19e39 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs index 80ed29af3f5..b9439f2816e 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs index db34914a5ce..0273609f484 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/Endpoints/Union/UnionClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive; using SeedExhaustive.Core; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs index d3b1fd18bab..4614f00ffc4 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs index 8db33b3f440..4d9ec412ef1 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoAuth/NoAuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; namespace SeedExhaustive; diff --git a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs index 1663ce528a8..8a9f520662b 100644 --- a/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs +++ b/seed/csharp-sdk/exhaustive/no-generate-error-types/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs index 16ff462bb81..72e3a2a3cd8 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedExhaustive.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs index 75867430311..126b5248291 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedExhaustive.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs index 716bd955d85..f281843f6e0 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Container/ContainerClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs index dee40d752a1..0ff32358365 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Enum/EnumClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs index 3bd5abf7f70..6bdf33d7c8c 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/HttpMethods/HttpMethodsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs index 31e645e8a1d..59c98ca849f 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Object/ObjectClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs index 3a348312ac8..93d158d30b4 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Primitive/PrimitiveClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; namespace SeedExhaustive.Endpoints; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs index 09cdc02557a..0a5ec818fff 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/Endpoints/Union/UnionClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; namespace SeedExhaustive.Endpoints; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs index 0013bdf794c..e8719720217 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/InlinedRequests/InlinedRequestsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs index c84c94ce662..cff5fca604f 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoAuth/NoAuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; namespace SeedExhaustive; diff --git a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs index 1663ce528a8..8a9f520662b 100644 --- a/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs +++ b/seed/csharp-sdk/exhaustive/no-root-namespace-for-core-classes/src/SeedExhaustive/NoReqBody/NoReqBodyClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExhaustive.Core; using SeedExhaustive.Types; diff --git a/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs b/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs index 37b8a3f9946..0b8f322d718 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedExtends.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs b/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs index 3d0f455303e..e199cb57502 100644 --- a/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs +++ b/seed/csharp-sdk/extends/src/SeedExtends/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedExtends.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs index 79d7f71c6d0..78346cb9cca 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedExtraProperties.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs index 18690228413..5bbf16b4316 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedExtraProperties.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs index 13f9696fca0..ed680a2861c 100644 --- a/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs +++ b/seed/csharp-sdk/extra-properties/src/SeedExtraProperties/User/UserClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedExtraProperties.Core; namespace SeedExtraProperties; diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs index c44b8ed1473..fafc206379b 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedFileDownload.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs index 28a6eaa997e..f031a54d1e0 100644 --- a/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs +++ b/seed/csharp-sdk/file-download/src/SeedFileDownload/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedFileDownload.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs index 59d6b17d928..359fff683c3 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedFileUpload.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs index 136b69af54c..5e8f9edf23f 100644 --- a/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs +++ b/seed/csharp-sdk/file-upload/src/SeedFileUpload/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedFileUpload.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/folders/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs index 846da19984b..6e42bad71b4 100644 --- a/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/folders/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs index 7f24fc6232f..7c563e4cd78 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedIdempotencyHeaders.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs index e033a81904a..2df0099d850 100644 --- a/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs +++ b/seed/csharp-sdk/idempotency-headers/src/SeedIdempotencyHeaders/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedIdempotencyHeaders.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs index 846da19984b..6e42bad71b4 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs index f737b66fe1b..0bb534b9897 100644 --- a/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs +++ b/seed/csharp-sdk/imdb/exception-class-names/src/SeedApi/Imdb/ImdbClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedApi.Core; namespace SeedApi; diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs index 846da19984b..6e42bad71b4 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs index 5540ece0c41..63ef9a6cea2 100644 --- a/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs +++ b/seed/csharp-sdk/imdb/extra-dependencies/src/SeedApi/Imdb/ImdbClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedApi.Core; namespace SeedApi; diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs index 846da19984b..6e42bad71b4 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs index 5540ece0c41..63ef9a6cea2 100644 --- a/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs +++ b/seed/csharp-sdk/imdb/no-custom-config/src/SeedApi/Imdb/ImdbClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedApi.Core; namespace SeedApi; diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs index 134b6fed85e..76db4cac340 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedLicense.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs index ebb3564e7db..374a610d28e 100644 --- a/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs +++ b/seed/csharp-sdk/license/custom-license/src/SeedLicense/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedLicense.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs index 134b6fed85e..76db4cac340 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedLicense.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs index ebb3564e7db..374a610d28e 100644 --- a/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs +++ b/seed/csharp-sdk/license/mit-license/src/SeedLicense/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedLicense.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs index bbb12b7bf2a..1be01830ee3 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedLiteral.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs index 4aedae54d45..aceecd29d3c 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedLiteral.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs index e735f6cbbf6..13a50cf5b90 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Headers/HeadersClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedLiteral.Core; namespace SeedLiteral; diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs index 3c430a40db6..41becb18fee 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Inlined/InlinedClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedLiteral.Core; namespace SeedLiteral; diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs index 632cd8c39a9..cc2f3ea0539 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Path/PathClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedLiteral.Core; namespace SeedLiteral; diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs index ba1a187d6ca..cbaad3db471 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Query/QueryClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedLiteral.Core; namespace SeedLiteral; diff --git a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs index 95f32636077..8913c1ace88 100644 --- a/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs +++ b/seed/csharp-sdk/literal/src/SeedLiteral/Reference/ReferenceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedLiteral.Core; namespace SeedLiteral; diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs index d92676872f7..8340d8d0096 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedMixedCase.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs index 13ea14f0cb2..da99cdcb26e 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedMixedCase.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs index 8ea2a30dd23..d9aa18d1d63 100644 --- a/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs +++ b/seed/csharp-sdk/mixed-case/src/SeedMixedCase/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedMixedCase.Core; namespace SeedMixedCase; diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs index c95ad00cb2c..5d3b0a09ca4 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedMixedFileDirectory.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs index 10ec646e8f3..f621c5cb57e 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedMixedFileDirectory.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs index 378a12e3cdf..0eca7921dda 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/Organization/OrganizationClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedMixedFileDirectory.Core; namespace SeedMixedFileDirectory; diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs index 41a7dbc774f..0608385bc23 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/EventsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedMixedFileDirectory; using SeedMixedFileDirectory.Core; using SeedMixedFileDirectory.User.Events; diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs index c3e85b8f735..580b3706647 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/Events/Metadata/MetadataClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedMixedFileDirectory; using SeedMixedFileDirectory.Core; diff --git a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs index 518dcd3d297..8138af81812 100644 --- a/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs +++ b/seed/csharp-sdk/mixed-file-directory/src/SeedMixedFileDirectory/User/UserClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedMixedFileDirectory.Core; using SeedMixedFileDirectory.User; diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs index 5312af6ebf8..3947a686a94 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedMultiLineDocs.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs index ec4a8af8ffd..c39700baf12 100644 --- a/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs +++ b/seed/csharp-sdk/multi-line-docs/src/SeedMultiLineDocs/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedMultiLineDocs.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs index 79359259208..6f0b2c25f5d 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedMultiUrlEnvironmentNoDefault.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs index 09d7c7825fe..bf326039ad0 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedMultiUrlEnvironmentNoDefault.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs index 9a03f1d8ae7..f82081db421 100644 --- a/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs +++ b/seed/csharp-sdk/multi-url-environment-no-default/src/SeedMultiUrlEnvironmentNoDefault/S3/S3Client.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedMultiUrlEnvironmentNoDefault.Core; namespace SeedMultiUrlEnvironmentNoDefault; diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs index 8c97cde9b14..1ee4e8aa855 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedMultiUrlEnvironment.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs index edbee7489fc..409b470f2f3 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedMultiUrlEnvironment.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs index 9879357981d..e7e034ee4fc 100644 --- a/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs +++ b/seed/csharp-sdk/multi-url-environment/no-pascal-case-environments/src/SeedMultiUrlEnvironment/S3/S3Client.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedMultiUrlEnvironment.Core; namespace SeedMultiUrlEnvironment; diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs index 6ef92d56f58..34e88ba9609 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedNoEnvironment.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs index a1772ee38f3..d5299930c67 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedNoEnvironment.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs index 196319a1437..08101e9694c 100644 --- a/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/no-environment/src/SeedNoEnvironment/Dummy/DummyClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedNoEnvironment.Core; namespace SeedNoEnvironment; diff --git a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs index 4c0813a3244..4d177c4bf34 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedNullable.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs index 6d1149b3016..057a531e326 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedNullable.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs index c7772275f92..de0f4cc26c4 100644 --- a/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs +++ b/seed/csharp-sdk/nullable/src/SeedNullable/Nullable/NullableClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedNullable.Core; namespace SeedNullable; diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs index b16c6710839..c7714f15cab 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedOauthClientCredentials.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs index a0a09214ab8..31061d93651 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Auth/AuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedOauthClientCredentials.Core; namespace SeedOauthClientCredentials; diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs index c674898cc4a..bcc4f2a4d13 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using SeedOauthClientCredentials; namespace SeedOauthClientCredentials.Core; diff --git a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs index fd3551fcb9c..36b59ac4a82 100644 --- a/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-custom/src/SeedOauthClientCredentials/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedOauthClientCredentials.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs index be75b906d68..fb80b43e490 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedOauthClientCredentialsDefault.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs index b293ca91d7e..797aed639a2 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Auth/AuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedOauthClientCredentialsDefault.Core; namespace SeedOauthClientCredentialsDefault; diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs index 56ceec6d928..b5a68a465ae 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/OAuthTokenProvider.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using SeedOauthClientCredentialsDefault; namespace SeedOauthClientCredentialsDefault.Core; diff --git a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs index 674bbce34f4..889347500b6 100644 --- a/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-default/src/SeedOauthClientCredentialsDefault/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedOauthClientCredentialsDefault.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs index 304c374dc71..06ca29f4fe6 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedOauthClientCredentialsEnvironmentVariables.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs index ba566beb06b..e089549c38d 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Auth/AuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedOauthClientCredentialsEnvironmentVariables.Core; namespace SeedOauthClientCredentialsEnvironmentVariables; diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs index 2e4d838f439..ca24c574033 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/OAuthTokenProvider.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using SeedOauthClientCredentialsEnvironmentVariables; namespace SeedOauthClientCredentialsEnvironmentVariables.Core; diff --git a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs index 18edc7ac51b..8cac3200166 100644 --- a/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-environment-variables/src/SeedOauthClientCredentialsEnvironmentVariables/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedOauthClientCredentialsEnvironmentVariables.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs index b16c6710839..c7714f15cab 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedOauthClientCredentials.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs index e65fe9f53f2..0b2fc6459c6 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Auth/AuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedOauthClientCredentials; using SeedOauthClientCredentials.Core; diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs index e49b9ed9afd..dacfc99d7d7 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using SeedOauthClientCredentials.Auth; namespace SeedOauthClientCredentials.Core; diff --git a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs index fd3551fcb9c..36b59ac4a82 100644 --- a/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials-nested-root/src/SeedOauthClientCredentials/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedOauthClientCredentials.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs index b16c6710839..c7714f15cab 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedOauthClientCredentials.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs index 2ae917064f7..6a3287bf95d 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Auth/AuthClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedOauthClientCredentials.Core; namespace SeedOauthClientCredentials; diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs index b76d56b4fe3..6e61fa05039 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/OAuthTokenProvider.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using SeedOauthClientCredentials; namespace SeedOauthClientCredentials.Core; diff --git a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs index fd3551fcb9c..36b59ac4a82 100644 --- a/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs +++ b/seed/csharp-sdk/oauth-client-credentials/src/SeedOauthClientCredentials/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedOauthClientCredentials.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs b/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs index 0fa8135130c..3338052fcd6 100644 --- a/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/object/src/SeedObject.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedObject.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs b/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs index 876646ed4e2..6d91ec872ee 100644 --- a/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs +++ b/seed/csharp-sdk/object/src/SeedObject/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedObject.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs index 91cdc958006..a6014a1fe3a 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedObjectsWithImports.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs index 6047762f103..120d256f2e1 100644 --- a/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs +++ b/seed/csharp-sdk/objects-with-imports/src/SeedObjectsWithImports/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedObjectsWithImports.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs index 91cdc958006..a6014a1fe3a 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedObjectsWithImports.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs index 6047762f103..120d256f2e1 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedObjectsWithImports.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs index 471131ee625..21a3c6f0e39 100644 --- a/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs +++ b/seed/csharp-sdk/optional/no-simplify-object-dictionaries/src/SeedObjectsWithImports/Optional/OptionalClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedObjectsWithImports.Core; namespace SeedObjectsWithImports; diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs index 1745c8e3167..37b6da57ea9 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedPackageYml.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs index ee12446bce7..4de4075d737 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPackageYml.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs b/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs index e4508653ff2..9a43eb12786 100644 --- a/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs +++ b/seed/csharp-sdk/package-yml/src/SeedPackageYml/SeedPackageYmlClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedPackageYml.Core; namespace SeedPackageYml; diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/GuidCursorTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/GuidCursorTest.cs index ea3be49edc8..ddc2e3b23d1 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/GuidCursorTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/GuidCursorTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class GuidCursorTest { [Test] - public async Task CursorPagerShouldWorkWithGuidCursors() + public async SystemTask CursorPagerShouldWorkWithGuidCursors() { var pager = CreatePager(); await AssertPager(pager); @@ -45,7 +46,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, (request, cursor) => { @@ -58,7 +59,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/HasNextPageOffsetTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/HasNextPageOffsetTest.cs index 3d5dd8b018d..a98c5646e6e 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/HasNextPageOffsetTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/HasNextPageOffsetTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class HasNextPageOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithHasNextPage() + public async SystemTask OffsetPagerShouldWorkWithHasNextPage() { var pager = CreatePager(); await AssertPager(pager); @@ -39,7 +40,7 @@ private static Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.Page ?? 0, (request, offset) => @@ -54,7 +55,7 @@ private static Pager CreatePager() return pager; } - private static async Task AssertPager(Pager pager) + private static async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/IntOffsetTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/IntOffsetTest.cs index 702d4535f04..d4270a42ed2 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/IntOffsetTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/IntOffsetTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class IntOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithIntPage() + public async SystemTask OffsetPagerShouldWorkWithIntPage() { var pager = CreatePager(); await AssertPager(pager); @@ -27,7 +28,7 @@ public Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request.Pagination.Page, (request, offset) => @@ -42,7 +43,7 @@ public Pager CreatePager() return pager; } - public async Task AssertPager(Pager pager) + public async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/LongOffsetTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/LongOffsetTest.cs index 5db607599e6..273750986be 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/LongOffsetTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/LongOffsetTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class LongOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithLongPage() + public async SystemTask OffsetPagerShouldWorkWithLongPage() { var pager = CreatePager(); await AssertPager(pager); @@ -27,7 +28,7 @@ private static Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.Page ?? 0, (request, offset) => @@ -42,7 +43,7 @@ private static Pager CreatePager() return pager; } - private static async Task AssertPager(Pager pager) + private static async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestCursorTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestCursorTest.cs index f7647fbb637..3ad4a48110e 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestCursorTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestCursorTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class NoRequestCursorTest { [Test] - public async Task CursorPagerShouldWorkWithStringCursor() + public async SystemTask CursorPagerShouldWorkWithStringCursor() { var pager = CreatePager(); await AssertPager(pager); @@ -45,7 +46,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, (request, cursor) => { @@ -58,7 +59,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestOffsetTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestOffsetTest.cs index 0cb2e953ba4..6501f42957e 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestOffsetTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/NoRequestOffsetTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class NoRequestOffsetTest { [Test] - public async Task OffsetPagerShouldWorkWithoutRequest() + public async SystemTask OffsetPagerShouldWorkWithoutRequest() { var pager = CreatePager(); await AssertPager(pager); @@ -27,7 +28,7 @@ public Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.Page ?? 0, (request, offset) => @@ -42,7 +43,7 @@ public Pager CreatePager() return pager; } - public async Task AssertPager(Pager pager) + public async SystemTask AssertPager(Pager pager) { var pageCounter = 0; var itemCounter = 0; diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StepOffsetTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StepOffsetTest.cs index 724231d4b5a..78a0f213e97 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StepOffsetTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StepOffsetTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class StepPageOffsetPaginationTest { [Test] - public async Task OffsetPagerShouldWorkWithStep() + public async SystemTask OffsetPagerShouldWorkWithStep() { var pager = CreatePager(); await AssertPager(pager); @@ -30,7 +31,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, request => request?.Pagination?.ItemOffset ?? 0, (request, offset) => @@ -46,7 +47,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StringCursorTest.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StringCursorTest.cs index 790de1f54c9..070ef2617f8 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StringCursorTest.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/Pagination/StringCursorTest.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using SeedPagination.Core; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Test.Core.Pagination; @@ -7,7 +8,7 @@ namespace SeedPagination.Test.Core.Pagination; public class StringCursorTest { [Test] - public async Task CursorPagerShouldWorkWithStringCursor() + public async SystemTask CursorPagerShouldWorkWithStringCursor() { var pager = CreatePager(); await AssertPager(pager); @@ -45,7 +46,7 @@ private Pager CreatePager() (_, _, _) => { responses.MoveNext(); - return Task.FromResult(responses.Current); + return SystemTask.FromResult(responses.Current); }, (request, cursor) => { @@ -58,7 +59,7 @@ private Pager CreatePager() return pager; } - private async Task AssertPager(Pager pager) + private async SystemTask AssertPager(Pager pager) { var pageEnumerator = pager.AsPagesAsync().GetAsyncEnumerator(); diff --git a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs index bf5c19b9e2c..317fc7d7359 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedPagination.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs index 76b20ea31c4..e49a3c496ce 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Complex/ComplexClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedPagination.Core; namespace SeedPagination; diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs index 94ae0dc9146..7ee18b460b1 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPagination.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs b/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs index ba5b56c3281..93b40243fee 100644 --- a/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs +++ b/seed/csharp-sdk/pagination/src/SeedPagination/Users/UsersClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedPagination.Core; namespace SeedPagination; diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs index c58bad72ff2..97d8f866424 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedPathParameters.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs index 9f9399f5c72..27551936007 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPathParameters.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs index 0c8f98d4f20..f9a349b032c 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/Organizations/OrganizationsClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedPathParameters.Core; namespace SeedPathParameters; diff --git a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs index d27d48cf748..e0b672ee038 100644 --- a/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs +++ b/seed/csharp-sdk/path-parameters/src/SeedPathParameters/User/UserClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedPathParameters.Core; namespace SeedPathParameters; diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs index e74d66920c7..298fcab20eb 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedPlainText.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs index 528fb691288..edc464e7e13 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedPlainText.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs b/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs index f038afbae44..2361dad32b3 100644 --- a/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs +++ b/seed/csharp-sdk/plain-text/src/SeedPlainText/Service/ServiceClient.cs @@ -1,5 +1,6 @@ using System.Net.Http; using System.Threading; +using System.Threading.Tasks; using SeedPlainText.Core; namespace SeedPlainText; diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs index e4c24d9e5ac..e2d3849be6f 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedQueryParameters.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs index d54616bc0b2..2629bf1741a 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedQueryParameters.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs index a634b2bf6a1..18c591fe29e 100644 --- a/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs +++ b/seed/csharp-sdk/query-parameters/src/SeedQueryParameters/User/UserClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedQueryParameters.Core; namespace SeedQueryParameters; diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs index 3d166e488f1..165948dcfb1 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedNurseryApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs index 1344765e25d..5a6bc112043 100644 --- a/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs +++ b/seed/csharp-sdk/reserved-keywords/src/SeedNurseryApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedNurseryApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs index 9836ba61cc9..c12b4c732cc 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedResponseProperty.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs index d21dd19bbac..c6b9ed8c8a1 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedResponseProperty.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs index 53a7531747d..0cfa532ca91 100644 --- a/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs +++ b/seed/csharp-sdk/response-property/src/SeedResponseProperty/Service/ServiceClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedResponseProperty.Core; namespace SeedResponseProperty; diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs index 639d7967d88..2ecf15b2ee3 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedServerSentEvents.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs index a1505b8b875..b0ae5dc9d06 100644 --- a/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs +++ b/seed/csharp-sdk/server-sent-event-examples/src/SeedServerSentEvents/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedServerSentEvents.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs index 639d7967d88..2ecf15b2ee3 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedServerSentEvents.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs index a1505b8b875..b0ae5dc9d06 100644 --- a/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs +++ b/seed/csharp-sdk/server-sent-events/src/SeedServerSentEvents/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedServerSentEvents.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs index aeba749eaf9..8336761da9d 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedApi.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs index 846da19984b..6e42bad71b4 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedApi.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs b/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs index 06e8e6cbc75..4248929be96 100644 --- a/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs +++ b/seed/csharp-sdk/simple-fhir/src/SeedApi/SeedApiClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedApi.Core; namespace SeedApi; diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs index 290b111bc46..45ced35bf79 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedSingleUrlEnvironmentDefault.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs index 5c4dce5ddd6..88db450fef7 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedSingleUrlEnvironmentDefault.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs index 9a8687eee29..8fed7267a11 100644 --- a/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/single-url-environment-default/src/SeedSingleUrlEnvironmentDefault/Dummy/DummyClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedSingleUrlEnvironmentDefault.Core; namespace SeedSingleUrlEnvironmentDefault; diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs index ebff8a50f99..af5b7363842 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedSingleUrlEnvironmentNoDefault.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs index 5123d7db0ed..b4915f8b570 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedSingleUrlEnvironmentNoDefault.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs index dcabc068e42..8611441ac81 100644 --- a/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs +++ b/seed/csharp-sdk/single-url-environment-no-default/src/SeedSingleUrlEnvironmentNoDefault/Dummy/DummyClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedSingleUrlEnvironmentNoDefault.Core; namespace SeedSingleUrlEnvironmentNoDefault; diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs index 8c3834216a0..f41cfa68e58 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedStreaming.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs index bf05424d22e..ad644f0c2cb 100644 --- a/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs +++ b/seed/csharp-sdk/streaming-parameter/src/SeedStreaming/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedStreaming.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs index 8c3834216a0..f41cfa68e58 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedStreaming.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs index bf05424d22e..ad644f0c2cb 100644 --- a/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs +++ b/seed/csharp-sdk/streaming/src/SeedStreaming/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedStreaming.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs b/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs index a222df6f983..181740e4aef 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedTrace.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs index 6f8feb287e0..9ba5302a92c 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedTrace.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs index a9af8ac0143..cbfb65373f0 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/Migration/MigrationClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedTrace.Core; namespace SeedTrace; diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs index 543752ae160..5a306da4f49 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/Problem/ProblemClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedTrace; using SeedTrace.Core; diff --git a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs index d49e99cedd7..3d5f667dd4e 100644 --- a/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs +++ b/seed/csharp-sdk/trace/src/SeedTrace/V2/V3/Problem/ProblemClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedTrace; using SeedTrace.Core; diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs index c6b8fed40d6..a2f7dd6b9bf 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedUndiscriminatedUnions.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs index f486513edd4..0bd2c5cd189 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedUndiscriminatedUnions.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs index eadf5824b22..ab2ae3cbad2 100644 --- a/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs +++ b/seed/csharp-sdk/undiscriminated-unions/src/SeedUndiscriminatedUnions/Union/UnionClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using OneOf; using SeedUndiscriminatedUnions.Core; diff --git a/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs b/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs index bcb07adc65b..2752287cc49 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedUnions.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs b/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs index fc900f9dd28..a6dfe45bc33 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedUnions.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs b/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs index 5f3d7e050a1..27e4114c7ea 100644 --- a/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs +++ b/seed/csharp-sdk/unions/src/SeedUnions/Union/UnionClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedUnions.Core; namespace SeedUnions; diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs index baa4b10a860..e2e186d4d0b 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedUnknownAsAny.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs index 58bfe0cdce1..86e997168df 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedUnknownAsAny.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs index 18e9a500927..f69ef8fa7d5 100644 --- a/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs +++ b/seed/csharp-sdk/unknown/src/SeedUnknownAsAny/Unknown/UnknownClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedUnknownAsAny.Core; namespace SeedUnknownAsAny; diff --git a/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs b/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs index 37b89d11e86..8b2b6197bcc 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedValidation.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs b/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs index 78777911c23..4b19a00ece9 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedValidation.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs b/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs index fe824f76709..201045eec0c 100644 --- a/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs +++ b/seed/csharp-sdk/validation/src/SeedValidation/SeedValidationClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedValidation.Core; namespace SeedValidation; diff --git a/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs b/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs index 72e0eb1db75..76c5fd09bc3 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedVariables.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs b/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs index 546c261f86c..12d13f6a53f 100644 --- a/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs +++ b/seed/csharp-sdk/variables/src/SeedVariables/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedVariables.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs index 6b1d51f37d3..4fc181ddf22 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedVersion.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs index da0064e8f41..b18e8252075 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedVersion.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs b/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs index 7d622cf5cae..bdfefe6323b 100644 --- a/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs +++ b/seed/csharp-sdk/version-no-default/src/SeedVersion/User/UserClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedVersion.Core; namespace SeedVersion; diff --git a/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs b/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs index 6b1d51f37d3..4fc181ddf22 100644 --- a/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/version/src/SeedVersion.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedVersion.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs b/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs index da0064e8f41..b18e8252075 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedVersion.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); diff --git a/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs b/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs index 7d622cf5cae..bdfefe6323b 100644 --- a/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs +++ b/seed/csharp-sdk/version/src/SeedVersion/User/UserClient.cs @@ -1,6 +1,7 @@ using System.Net.Http; using System.Text.Json; using System.Threading; +using System.Threading.Tasks; using SeedVersion.Core; namespace SeedVersion; diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs index bf77db95df9..9d860fa4ddc 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket.Test/Core/RawClientTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using SeedWebsocket.Core; using WireMock.Server; +using SystemTask = System.Threading.Tasks.Task; using WireMockRequest = WireMock.RequestBuilders.Request; using WireMockResponse = WireMock.ResponseBuilders.Response; @@ -31,7 +32,7 @@ public void SetUp() [TestCase(429)] [TestCase(500)] [TestCase(504)] - public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) @@ -71,7 +72,7 @@ public async Task MakeRequestAsync_ShouldRetry_OnRetryableStatusCodes(int status [Test] [TestCase(400)] [TestCase(409)] - public async Task MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) + public async SystemTask MakeRequestAsync_ShouldRetry_OnNonRetryableStatusCodes(int statusCode) { _server .Given(WireMockRequest.Create().WithPath("/test").UsingGet()) diff --git a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs index 258f0f04e49..1a93065edd6 100644 --- a/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs +++ b/seed/csharp-sdk/websocket/src/SeedWebsocket/Core/RawClient.cs @@ -2,6 +2,7 @@ using System.Net.Http.Headers; using System.Text; using System.Threading; +using SystemTask = System.Threading.Tasks.Task; namespace SeedWebsocket.Core; @@ -92,7 +93,7 @@ CancellationToken cancellationToken break; } var delayMs = Math.Min(InitialRetryDelayMs * (int)Math.Pow(2, i), MaxRetryDelayMs); - await Task.Delay(delayMs, cancellationToken).ConfigureAwait(false); + await SystemTask.Delay(delayMs, cancellationToken).ConfigureAwait(false); response = await httpClient .SendAsync(BuildHttpRequest(request), cancellationToken) .ConfigureAwait(false); From 420fd1c86c5a29d78cb49bff61c9ae1978bc6384 Mon Sep 17 00:00:00 2001 From: Niels Swimberghe <3382717+Swimburger@users.noreply.github.com> Date: Mon, 3 Feb 2025 11:58:12 -0500 Subject: [PATCH 6/6] format StringEnumSerializerTests.Template.cs --- .../asIs/test/StringEnumSerializerTests.Template.cs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs b/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs index 75eb0ac2582..91f23a3e97f 100644 --- a/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs +++ b/generators/csharp/codegen/src/asIs/test/StringEnumSerializerTests.Template.cs @@ -38,7 +38,6 @@ public void ShouldParseKnownEnumValue2() Assert.That(obj.EnumProperty, Is.EqualTo(KnownEnumValue2)); } - [Test] public void ShouldParseUnknownEnum() { @@ -50,8 +49,10 @@ public void ShouldParseUnknownEnum() [Test] public void ShouldSerializeKnownEnumValue2() { - var json = JsonSerializer.SerializeToElement(new DummyObject { EnumProperty = KnownEnumValue2 }, - JsonOptions); + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = KnownEnumValue2 }, + JsonOptions + ); TestContext.Out.WriteLine("Serialized JSON: \n" + json); var enumString = json.GetProperty("enum_property").GetString(); Assert.That(enumString, Is.Not.Null); @@ -61,8 +62,10 @@ public void ShouldSerializeKnownEnumValue2() [Test] public void ShouldSerializeUnknownEnum() { - var json = JsonSerializer.SerializeToElement(new DummyObject { EnumProperty = UnknownEnumValue }, - JsonOptions); + var json = JsonSerializer.SerializeToElement( + new DummyObject { EnumProperty = UnknownEnumValue }, + JsonOptions + ); TestContext.Out.WriteLine("Serialized JSON: \n" + json); var enumString = json.GetProperty("enum_property").GetString(); Assert.That(enumString, Is.Not.Null);