11package context
22
33import (
4+ "io/ioutil"
5+ "os"
46 "testing"
57
8+ "gotest.tools/v3/assert"
69 "gotest.tools/v3/golden"
710 "gotest.tools/v3/icmd"
811)
@@ -19,3 +22,73 @@ func TestContextList(t *testing.T) {
1922 })
2023 golden .Assert (t , result .Stdout (), "context-ls.golden" )
2124}
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+ }
0 commit comments