github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/engine/daemon/info_test.go (about)

     1  package daemon
     2  
     3  import (
     4  	"testing"
     5  
     6  	"gotest.tools/v3/assert"
     7  )
     8  
     9  func TestMaskURLCredentials(t *testing.T) {
    10  	tests := []struct {
    11  		rawURL    string
    12  		maskedURL string
    13  	}{
    14  		{
    15  			rawURL:    "",
    16  			maskedURL: "",
    17  		}, {
    18  			rawURL:    "invalidURL",
    19  			maskedURL: "invalidURL",
    20  		}, {
    21  			rawURL:    "http://proxy.example.com:80/",
    22  			maskedURL: "http://proxy.example.com:80/",
    23  		}, {
    24  			rawURL:    "http://USER:PASSWORD@proxy.example.com:80/",
    25  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/",
    26  		}, {
    27  			rawURL:    "http://PASSWORD:PASSWORD@proxy.example.com:80/",
    28  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/",
    29  		}, {
    30  			rawURL:    "http://USER:@proxy.example.com:80/",
    31  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/",
    32  		}, {
    33  			rawURL:    "http://:PASSWORD@proxy.example.com:80/",
    34  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/",
    35  		}, {
    36  			rawURL:    "http://USER@docker:password@proxy.example.com:80/",
    37  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/",
    38  		}, {
    39  			rawURL:    "http://USER%40docker:password@proxy.example.com:80/",
    40  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/",
    41  		}, {
    42  			rawURL:    "http://USER%40docker:pa%3Fsword@proxy.example.com:80/",
    43  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/",
    44  		}, {
    45  			rawURL:    "http://USER%40docker:pa%3Fsword@proxy.example.com:80/hello%20world",
    46  			maskedURL: "http://xxxxx:xxxxx@proxy.example.com:80/hello%20world",
    47  		},
    48  	}
    49  	for _, test := range tests {
    50  		maskedURL := maskCredentials(test.rawURL)
    51  		assert.Equal(t, maskedURL, test.maskedURL)
    52  	}
    53  }