github.com/aavshr/aws-sdk-go@v1.41.3/aws/signer/v4/headers_test.go (about)

     1  //go:build go1.7
     2  // +build go1.7
     3  
     4  package v4
     5  
     6  import "testing"
     7  
     8  func TestAllowedQueryHoisting(t *testing.T) {
     9  	cases := map[string]struct {
    10  		Header      string
    11  		ExpectHoist bool
    12  	}{
    13  		"object-lock": {
    14  			Header:      "X-Amz-Object-Lock-Mode",
    15  			ExpectHoist: false,
    16  		},
    17  		"s3 metadata": {
    18  			Header:      "X-Amz-Meta-SomeName",
    19  			ExpectHoist: false,
    20  		},
    21  		"another header": {
    22  			Header:      "X-Amz-SomeOtherHeader",
    23  			ExpectHoist: true,
    24  		},
    25  		"non X-AMZ header": {
    26  			Header:      "X-SomeOtherHeader",
    27  			ExpectHoist: false,
    28  		},
    29  	}
    30  
    31  	for name, c := range cases {
    32  		t.Run(name, func(t *testing.T) {
    33  			if e, a := c.ExpectHoist, allowedQueryHoisting.IsValid(c.Header); e != a {
    34  				t.Errorf("expect hoist %v, was %v", e, a)
    35  			}
    36  		})
    37  	}
    38  }