diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index 3956f0ea31..c3de5a1b12 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -31,7 +31,7 @@ "rollForward": false }, "microsoft.openapi.kiota": { - "version": "1.23.0", + "version": "1.24.1", "commands": [ "kiota" ], diff --git a/package-versions.props b/package-versions.props index 8e1d3aad30..a13e2c37eb 100644 --- a/package-versions.props +++ b/package-versions.props @@ -22,7 +22,7 @@ 9.0.* 14.2.* 13.0.* - 1.2.* + 2.0.* 7.*-* 9.0.* 17.12.* diff --git a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInCreateSocialMediaAccountRequest.cs b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInCreateSocialMediaAccountRequest.cs index 7d36b24c28..9ce0611f48 100644 --- a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInCreateSocialMediaAccountRequest.cs +++ b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInCreateSocialMediaAccountRequest.cs @@ -83,9 +83,9 @@ public string? NextRevalidation } /// The password property - public string? Password + public byte[]? Password { - get { return BackingStore?.Get("password"); } + get { return BackingStore?.Get("password"); } set { BackingStore?.Set("password", value); } } @@ -181,7 +181,7 @@ public virtual IDictionary> GetFieldDeserializers() { "firstName", n => { FirstName = n.GetStringValue(); } }, { "lastName", n => { LastName = n.GetStringValue(); } }, { "nextRevalidation", n => { NextRevalidation = n.GetStringValue(); } }, - { "password", n => { Password = n.GetStringValue(); } }, + { "password", n => { Password = n.GetByteArrayValue(); } }, { "phone", n => { Phone = n.GetStringValue(); } }, { "planet", n => { Planet = n.GetStringValue(); } }, { "profilePicture", n => { ProfilePicture = n.GetStringValue(); } }, @@ -209,7 +209,7 @@ public virtual void Serialize(ISerializationWriter writer) writer.WriteStringValue("firstName", FirstName); writer.WriteStringValue("lastName", LastName); writer.WriteStringValue("nextRevalidation", NextRevalidation); - writer.WriteStringValue("password", Password); + writer.WriteByteArrayValue("password", Password); writer.WriteStringValue("phone", Phone); writer.WriteStringValue("planet", Planet); writer.WriteStringValue("profilePicture", ProfilePicture); diff --git a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInUpdateSocialMediaAccountRequest.cs b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInUpdateSocialMediaAccountRequest.cs index a9115cb007..76bd2d8888 100644 --- a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInUpdateSocialMediaAccountRequest.cs +++ b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/AttributesInUpdateSocialMediaAccountRequest.cs @@ -83,9 +83,9 @@ public string? NextRevalidation } /// The password property - public string? Password + public byte[]? Password { - get { return BackingStore?.Get("password"); } + get { return BackingStore?.Get("password"); } set { BackingStore?.Set("password", value); } } @@ -181,7 +181,7 @@ public virtual IDictionary> GetFieldDeserializers() { "firstName", n => { FirstName = n.GetStringValue(); } }, { "lastName", n => { LastName = n.GetStringValue(); } }, { "nextRevalidation", n => { NextRevalidation = n.GetStringValue(); } }, - { "password", n => { Password = n.GetStringValue(); } }, + { "password", n => { Password = n.GetByteArrayValue(); } }, { "phone", n => { Phone = n.GetStringValue(); } }, { "planet", n => { Planet = n.GetStringValue(); } }, { "profilePicture", n => { ProfilePicture = n.GetStringValue(); } }, @@ -209,7 +209,7 @@ public virtual void Serialize(ISerializationWriter writer) writer.WriteStringValue("firstName", FirstName); writer.WriteStringValue("lastName", LastName); writer.WriteStringValue("nextRevalidation", NextRevalidation); - writer.WriteStringValue("password", Password); + writer.WriteByteArrayValue("password", Password); writer.WriteStringValue("phone", Phone); writer.WriteStringValue("planet", Planet); writer.WriteStringValue("profilePicture", ProfilePicture); diff --git a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/SocialMediaAccountAttributesInResponse.cs b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/SocialMediaAccountAttributesInResponse.cs index 5871321052..230684eee2 100644 --- a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/SocialMediaAccountAttributesInResponse.cs +++ b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/GeneratedCode/Models/SocialMediaAccountAttributesInResponse.cs @@ -83,9 +83,9 @@ public string? NextRevalidation } /// The password property - public string? Password + public byte[]? Password { - get { return BackingStore?.Get("password"); } + get { return BackingStore?.Get("password"); } set { BackingStore?.Set("password", value); } } @@ -181,7 +181,7 @@ public virtual IDictionary> GetFieldDeserializers() { "firstName", n => { FirstName = n.GetStringValue(); } }, { "lastName", n => { LastName = n.GetStringValue(); } }, { "nextRevalidation", n => { NextRevalidation = n.GetStringValue(); } }, - { "password", n => { Password = n.GetStringValue(); } }, + { "password", n => { Password = n.GetByteArrayValue(); } }, { "phone", n => { Phone = n.GetStringValue(); } }, { "planet", n => { Planet = n.GetStringValue(); } }, { "profilePicture", n => { ProfilePicture = n.GetStringValue(); } }, @@ -209,7 +209,7 @@ public virtual void Serialize(ISerializationWriter writer) writer.WriteStringValue("firstName", FirstName); writer.WriteStringValue("lastName", LastName); writer.WriteStringValue("nextRevalidation", NextRevalidation); - writer.WriteStringValue("password", Password); + writer.WriteByteArrayValue("password", Password); writer.WriteStringValue("phone", Phone); writer.WriteStringValue("planet", Planet); writer.WriteStringValue("profilePicture", ProfilePicture); diff --git a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/ModelStateValidationTests.cs b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/ModelStateValidationTests.cs index 96e4edd89d..847d0ce971 100644 --- a/test/OpenApiKiotaEndToEndTests/ModelStateValidation/ModelStateValidationTests.cs +++ b/test/OpenApiKiotaEndToEndTests/ModelStateValidation/ModelStateValidationTests.cs @@ -233,7 +233,7 @@ public async Task Cannot_exceed_min_length_constraint() { LastName = newAccount.LastName, // Using -3 instead of -1 to compensate for base64 padding. - Password = Convert.ToBase64String(Enumerable.Repeat((byte)'X', SocialMediaAccount.MinPasswordChars - 3).ToArray()) + Password = Enumerable.Repeat((byte)'X', SocialMediaAccount.MinPasswordChars - 3).ToArray() } } }; @@ -271,7 +271,7 @@ public async Task Cannot_exceed_max_length_constraint() Attributes = new AttributesInCreateSocialMediaAccountRequest { LastName = newAccount.LastName, - Password = Convert.ToBase64String(Enumerable.Repeat((byte)'X', SocialMediaAccount.MaxPasswordChars + 1).ToArray()) + Password = Enumerable.Repeat((byte)'X', SocialMediaAccount.MaxPasswordChars + 1).ToArray() } } }; @@ -292,42 +292,6 @@ public async Task Cannot_exceed_max_length_constraint() errorObject.Source.Pointer.Should().Be("/data/attributes/password"); } - [Fact] - public async Task Cannot_use_invalid_base64() - { - // Arrange - SocialMediaAccount newAccount = _fakers.SocialMediaAccount.GenerateOne(); - - using HttpClientRequestAdapter requestAdapter = _requestAdapterFactory.CreateAdapter(_testContext.Factory); - ModelStateValidationClient apiClient = new(requestAdapter); - - var requestBody = new CreateSocialMediaAccountRequestDocument - { - Data = new DataInCreateSocialMediaAccountRequest - { - Type = SocialMediaAccountResourceType.SocialMediaAccounts, - Attributes = new AttributesInCreateSocialMediaAccountRequest - { - LastName = newAccount.LastName, - Password = "not-a-valid-base64-string" - } - } - }; - - // Act - Func action = () => apiClient.SocialMediaAccounts.PostAsync(requestBody); - - // Assert - ErrorResponseDocument document = (await action.Should().ThrowExactlyAsync()).Which; - document.Errors.Should().HaveCount(1); - - ErrorObject errorObject = document.Errors.First(); - errorObject.Title.Should().Be("Input validation failed."); - errorObject.Detail.Should().Be("The Password field is not a valid Base64 encoding."); - errorObject.Source.Should().NotBeNull(); - errorObject.Source.Pointer.Should().Be("/data/attributes/password"); - } - [Theory] [InlineData(-1)] [InlineData(-0.56)] @@ -572,7 +536,7 @@ public async Task Can_create_resource_with_valid_properties() UserName = newAccount.UserName, CreditCard = newAccount.CreditCard, Email = newAccount.Email, - Password = newAccount.Password, + Password = Convert.FromBase64String(newAccount.Password!), Phone = newAccount.Phone, Age = newAccount.Age, ProfilePicture = newAccount.ProfilePicture!.ToString(),