github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/fs/fshttp/http_test.go (about)

     1  package fshttp
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestCleanAuth(t *testing.T) {
    10  	for _, test := range []struct {
    11  		in   string
    12  		want string
    13  	}{
    14  		{"", ""},
    15  		{"floo", "floo"},
    16  		{"Authorization: ", "Authorization: "},
    17  		{"Authorization: \n", "Authorization: \n"},
    18  		{"Authorization: A", "Authorization: X"},
    19  		{"Authorization: A\n", "Authorization: X\n"},
    20  		{"Authorization: AAAA", "Authorization: XXXX"},
    21  		{"Authorization: AAAA\n", "Authorization: XXXX\n"},
    22  		{"Authorization: AAAAA", "Authorization: XXXX"},
    23  		{"Authorization: AAAAA\n", "Authorization: XXXX\n"},
    24  		{"Authorization: AAAA\n", "Authorization: XXXX\n"},
    25  		{"Authorization: AAAAAAAAA\nPotato: Help\n", "Authorization: XXXX\nPotato: Help\n"},
    26  		{"Sausage: 1\nAuthorization: AAAAAAAAA\nPotato: Help\n", "Sausage: 1\nAuthorization: XXXX\nPotato: Help\n"},
    27  	} {
    28  		got := string(cleanAuth([]byte(test.in), authBufs[0]))
    29  		assert.Equal(t, test.want, got, test.in)
    30  	}
    31  }
    32  
    33  func TestCleanAuths(t *testing.T) {
    34  	for _, test := range []struct {
    35  		in   string
    36  		want string
    37  	}{
    38  		{"", ""},
    39  		{"floo", "floo"},
    40  		{"Authorization: AAAAAAAAA\nPotato: Help\n", "Authorization: XXXX\nPotato: Help\n"},
    41  		{"X-Auth-Token: AAAAAAAAA\nPotato: Help\n", "X-Auth-Token: XXXX\nPotato: Help\n"},
    42  		{"X-Auth-Token: AAAAAAAAA\nAuthorization: AAAAAAAAA\nPotato: Help\n", "X-Auth-Token: XXXX\nAuthorization: XXXX\nPotato: Help\n"},
    43  	} {
    44  		got := string(cleanAuths([]byte(test.in)))
    45  		assert.Equal(t, test.want, got, test.in)
    46  	}
    47  }