github.com/treeverse/lakefs@v1.24.1-0.20240520134607-95648127bfb0/pkg/gateway/sig/v2_test.go (about)

     1  package sig
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  func Test_buildPath(t *testing.T) {
     8  	type args struct {
     9  		host       string
    10  		bareDomain string
    11  		path       string
    12  	}
    13  	tests := []struct {
    14  		name string
    15  		args args
    16  		want string
    17  	}{
    18  		{name: "exact", args: args{host: "s3.host.com", bareDomain: "s3.host.com", path: "/path/1"}, want: "/path/1"},
    19  		{name: "sub1", args: args{host: "sub1.s3.host.com", bareDomain: "s3.host.com", path: "/path/1"}, want: "/sub1/path/1"},
    20  		{name: "sub.domain", args: args{host: "sub.domain.s3.host.com", bareDomain: "s3.host.com", path: "/path/1"}, want: "/sub.domain/path/1"},
    21  		{name: "no match", args: args{host: "s3.host.com", bareDomain: "s3.host.io", path: "/path/1"}, want: ""},
    22  	}
    23  	for _, tt := range tests {
    24  		t.Run(tt.name, func(t *testing.T) {
    25  			if got := buildPath(tt.args.host, tt.args.bareDomain, tt.args.path); got != tt.want {
    26  				t.Errorf("buildPath() = %v, want %v", got, tt.want)
    27  			}
    28  		})
    29  	}
    30  }