github.com/xeptore/docker-cli@v20.10.14+incompatible/e2e/context/context_test.go (about) 1 package context 2 3 import ( 4 "io/ioutil" 5 "os" 6 "testing" 7 8 "gotest.tools/v3/assert" 9 "gotest.tools/v3/golden" 10 "gotest.tools/v3/icmd" 11 ) 12 13 func TestContextList(t *testing.T) { 14 cmd := icmd.Command("docker", "context", "ls") 15 cmd.Env = append(cmd.Env, 16 "DOCKER_CONFIG=./testdata/test-dockerconfig", 17 "KUBECONFIG=./testdata/test-kubeconfig", 18 ) 19 result := icmd.RunCmd(cmd).Assert(t, icmd.Expected{ 20 Err: icmd.None, 21 ExitCode: 0, 22 }) 23 golden.Assert(t, result.Stdout(), "context-ls.golden") 24 } 25 26 func TestContextImportNoTLS(t *testing.T) { 27 d, _ := ioutil.TempDir("", "") 28 defer func() { 29 os.RemoveAll(d) 30 }() 31 cmd := icmd.Command("docker", "context", "import", "remote", "./testdata/test-dockerconfig.tar") 32 cmd.Env = append(cmd.Env, 33 "DOCKER_CONFIG="+d, 34 ) 35 icmd.RunCmd(cmd).Assert(t, icmd.Success) 36 37 cmd = icmd.Command("docker", "context", "ls") 38 cmd.Env = append(cmd.Env, 39 "DOCKER_CONFIG="+d, 40 "KUBECONFIG=./testdata/test-kubeconfig", // Allows reuse of context-ls.golden 41 ) 42 result := icmd.RunCmd(cmd).Assert(t, icmd.Success) 43 golden.Assert(t, result.Stdout(), "context-ls.golden") 44 } 45 46 func TestContextImportTLS(t *testing.T) { 47 d, _ := ioutil.TempDir("", "") 48 defer func() { 49 os.RemoveAll(d) 50 }() 51 cmd := icmd.Command("docker", "context", "import", "test", "./testdata/test-dockerconfig-tls.tar") 52 cmd.Env = append(cmd.Env, 53 "DOCKER_CONFIG="+d, 54 ) 55 icmd.RunCmd(cmd).Assert(t, icmd.Success) 56 57 cmd = icmd.Command("docker", "context", "ls") 58 cmd.Env = append(cmd.Env, 59 "DOCKER_CONFIG="+d, 60 ) 61 result := icmd.RunCmd(cmd).Assert(t, icmd.Success) 62 golden.Assert(t, result.Stdout(), "context-ls-tls.golden") 63 64 b, err := ioutil.ReadFile(d + "/contexts/tls/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08/kubernetes/key.pem") 65 assert.NilError(t, err) 66 assert.Equal(t, string(b), `-----BEGIN RSA PRIVATE KEY----- 67 MIIEpAIBAAKCAQEArQk77K5sgrQYY6HiQ1y7AC+67HrRB36oEvR+Fq60RsFcc3cZ 68 xAvMkRSBPjQyskjdYY7kfykGHhfJxGKopb3cDJx3eDBxjgAniwnnOMmHVWbf8Eik 69 o0sNxkgzQPGq83nL3QvVxm3xgqe4nlTdR/Swoq6Pv0oaVYvPPMnaZIF89SJ/wlNT 70 myCs6Uq00dICi20II+M2Nw9b+EVEK4ENl+SlrsK7iuoBIh/H0ZghxOthO9J/HeBb 71 hmM4wcs1OonhPDYKHEaChYA7/Q3/8OBp3bAdlQJ1ziyP3ROAKHL2NwwkGZ8o8HP8 72 u0ex/NAb8w5J5WNePqYQd/sqfisfNpA5VIKcEQIDAQABAoIBABLo4W2aGi2mdMve 73 kxV9esoobSsOuO0ywDdiFK1x5i2dT/cmWuB70Z1BOmaL2cZ2BAt3TC1BVHPRcbFO 74 ftOuDfAq4Tt3P9Ge3rNpH6WrEGka1voxVhyqRRUYKtG8F0yIUOkVNAV9WllG7vwO 75 ligY63y7yuXCuWID51/jR0SYiglXz6G4gcJKFXtugXXiLUIg08GVWkwOsrACC+hR 76 mhcHly1926VhN5+ozjNU/GZ1LaTuK6erBZakH5bqlN97s5rrk0ZRwk/JtnkoRRdI 77 cq0918Za2vqGDHZ3MqLttL52YfDXPIEJPwlFdvC/+sXK2NhUB/xY4yuliU3sY0sf 78 XsIvIWECgYEAwD8AnZI0hnGv8hc6zJppHFRwhrtLZ+09SJwPv5Y4wxuuk5dzNkpf 79 xCNo5hjSVYA1MMmWG8p/sEXo2IyCT8sWDNCn9kieTXihxRxbj88Y2qA5O4N46Zy4 80 kPngjkP5PPDMkwaQQgUr9LvlWS7P6OJkH18ZN8s3QhMaKcHu9FFT44UCgYEA5mte 81 mMSDf9hUK3IK+yrGX62qc2H+ecXN3Zf3nehyiz+dX4ZXhBwBkwJ/mHvuAZPfoFUN 82 Xg6cdyWFJg9ynm45JXnDjmYPGmFLn0mP3Mje/+SbbW2fdFWHJW/maqj4uUqqgQd+ 83 pGNzKXq34MzDrpsqIJ7AHu3LYVMOoLAVqC7LXh0CgYEAnLF9ZfFqQH7fgvouIeBl 84 dgLZKOf2AUJcJheVunnN0DF67K+P55tdTTfzY0CuB6SVNivI3uQBiYKh1AdKm5ET 85 auSTUmlEJi8B4/BGLQQG5QOdQoXZgsgLo5cX0b1To7k9dUTvRfCDMFoKCNPgAJiu 86 NOfFXTWU15VMSObaRmcXciUCgYEA5e1cXwsxwUAodZX+eTXs8ArHHQ47Nl55GFeN 87 wufybRuUuX7AE9cyhvUmSA3aqX5a144noaTo40fwftNJZ+jLY6cGyjDzfzp5kMCC 88 KynSxPzlUCPkytyR2Hy6K9LjJ1rnm4vUBswqXcjUdiE+Xxz8w8JGKlbV7Q9JeHVd 89 lw7i5s0CgYAn9T9ySI3xCbrUa/XV/ZY2hopUdH5CDPeTd2eH+L+lctkD9nlzLrpj 90 qij+jaEUweymNx0uttgv02J3DYcIIvVq3RNAwORy5Mp9KasHmjbW2xq+HAq5yFOO 91 1ma82F5zeUl+bKqjMRCY8IVZ349VxRZtb2RVVEKyVswb7HmKp6gGbA== 92 -----END RSA PRIVATE KEY----- 93 `) 94 }