awslabs / aws-sdk-kotlin

Multiplatform AWS SDK for Kotlin
Apache License 2.0
412 stars 49 forks source link

S3 e2e test fails with new signer #619

Closed aajtodd closed 2 years ago

aajtodd commented 2 years ago

Describe the bug

After merging the new signer implementation (https://github.com/awslabs/aws-sdk-kotlin/pull/616) the S3BucketOpsIntegrationTest::testQueryParameterEncoding e2e test fails.

Expected behavior

Test passes

Current behavior

S3BucketOpsIntegrationTest > testQueryParameterEncoding() FAILED                                                                                                       
    java.lang.NumberFormatException: For input string: "&'"                        
        at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
        at java.base/java.lang.Integer.parseInt(Integer.java:638)                  
        at aws.smithy.kotlin.runtime.util.text.TextKt.urlDecodeComponent(Text.kt:194)                                                    
        at aws.smithy.kotlin.runtime.util.text.TextKt.urlReencodeComponent(Text.kt:217)                                                                                
        at aws.smithy.kotlin.runtime.util.text.TextKt.urlReencodeComponent$default(Text.kt:216)  
        at aws.smithy.kotlin.runtime.auth.awssigning.CanonicalizerKt.asQueryParamComponents(Canonicalizer.kt:194)                                                      
        at aws.smithy.kotlin.runtime.auth.awssigning.CanonicalizerKt.canonicalQueryParams(Canonicalizer.kt:189)                                                        
        at aws.smithy.kotlin.runtime.auth.awssigning.CanonicalizerKt.access$canonicalQueryParams(Canonicalizer.kt:1)                                                   
        at aws.smithy.kotlin.runtime.auth.awssigning.DefaultCanonicalizer.canonicalRequest(Canonicalizer.kt:121)                                                      
        at aws.smithy.kotlin.runtime.auth.awssigning.DefaultAwsSignerImpl.sign(DefaultAwsSigner.kt:28)                                                                 
        at aws.smithy.kotlin.runtime.auth.awssigning.DefaultAwsSignerImpl$sign$1.invokeSuspend(DefaultAwsSigner.kt)                                                   
        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)                                                                      
        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)                                                                                                
        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:279)                                                      
        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)                                                                                           
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)                                                                                       
        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)                                                                                                   
        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)                                                                              
        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)       
        at aws.sdk.kotlin.e2etest.S3BucketOpsIntegrationTest.testQueryParameterEncoding(S3IntegrationTest.kt:105)        

Steps to Reproduce

./gradlew :codegen:sdk:bootstrap -Paws.services=+s3
./gradlew :services:s3:e2eTest

Possible Solution

No response

Context

No response

AWS Kotlin SDK version used

main@c40eaac6cb3e33c6c1edb91033513b2221baa06e

Platform (JVM/JS/Native)

JVM

Operating System and version

macos

ianbotsf commented 2 years ago

Resolved by smithy-kotlin#654.

github-actions[bot] commented 2 years ago

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see. If you need more assistance, please either tag a team member or open a new issue that references this one. If you wish to keep having a conversation with other community members under this issue feel free to do so.