github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/commands/clear/clear_test.go (about) 1 package clear 2 3 import ( 4 "testing" 5 6 "github.com/daticahealth/cli/test" 7 ) 8 9 var clearTests = []struct { 10 privKey bool 11 session bool 12 envs bool 13 pods bool 14 }{ 15 {false, false, false, false}, 16 {false, false, false, true}, 17 {false, false, true, false}, 18 {false, true, false, false}, 19 {true, false, false, false}, 20 {true, true, true, true}, 21 } 22 23 func TestClear(t *testing.T) { 24 for _, data := range clearTests { 25 t.Logf("Data: %+v", data) 26 settings := test.GetSettings("") 27 err := CmdClear(data.privKey, data.session, data.envs, data.pods, settings) 28 if err != nil { 29 t.Errorf("Unexpected error: %s", err) 30 continue 31 } 32 if data.privKey && settings.PrivateKeyPath != "" { 33 t.Errorf("Private key should have been cleared") 34 continue 35 } 36 if data.session && settings.SessionToken != "" { 37 t.Errorf("Session token should have been cleared") 38 } 39 if data.envs && settings.Environments != nil && len(settings.Environments) != 0 { 40 t.Errorf("Environments should have been cleared") 41 } 42 if data.pods && settings.Pods != nil && len(*settings.Pods) != 0 { 43 t.Errorf("Pods should have been cleared") 44 } 45 } 46 }