github.com/jcarley/cli@v0.0.0-20180201210820-966d90434c30/commands/deploykeys/rm_test.go (about) 1 package deploykeys 2 3 import ( 4 "fmt" 5 "net/http" 6 "testing" 7 8 "github.com/daticahealth/cli/commands/services" 9 "github.com/daticahealth/cli/test" 10 ) 11 12 const sampleKey = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCykOkMAXDMKuz/6x1bVT/4Cz6JjDrEnkjbwvFq6Gp9NLW79vjcHJdhkeYEhnhtmNf62PVP2lHgmkxuk0OFl5mZg+SZeNep/cSfKdp99KjG2cGWd2XDDxwQLG8JyUcLRZ+1Q653lncwc6vL+hmBCvQ4gQhx9OA+XzNk064BQb/BCMWyLvQXAXr2dGKs1jIDV/CsMBgXmz4KjnYuuBYM3o44MeYw9fMPFz5J+i/sZUDPdXUAGGQd8cYrpxfNI4Qn33839uspa0eCCT6iMuCBX9heJs6CQ77vl+5TFdZjr+xahegcnDGtHyxUL76Jwm22bJ3jFJCDWYr1/vTZvJy6+wf9" 13 14 var rmTests = []struct { 15 keyName string 16 svcName string 17 expectErr bool 18 }{ 19 {keyName, test.SvcLabel, false}, 20 {"invalid-key", test.SvcLabel, true}, 21 {keyName, "invalid-svc", true}, 22 } 23 24 func TestRm(t *testing.T) { 25 mux, server, baseURL := test.Setup() 26 defer test.Teardown(server) 27 settings := test.GetSettings(baseURL.String()) 28 mux.HandleFunc("/environments/"+test.EnvID+"/services", 29 func(w http.ResponseWriter, r *http.Request) { 30 test.AssertEquals(t, r.Method, "GET") 31 fmt.Fprint(w, fmt.Sprintf(`[{"id":"%s","label":"%s","type":"code"}]`, test.SvcID, test.SvcLabel)) 32 }, 33 ) 34 mux.HandleFunc("/environments/"+test.EnvID+"/services/"+test.SvcID+"/ssh_keys/"+keyName+"/type/ssh", 35 func(w http.ResponseWriter, r *http.Request) { 36 test.AssertEquals(t, r.Method, "DELETE") 37 w.WriteHeader(204) 38 }, 39 ) 40 41 for _, data := range rmTests { 42 t.Logf("Data: %+v", data) 43 44 // test 45 err := CmdRm(data.keyName, data.svcName, New(settings), services.New(settings)) 46 47 // assert 48 if err != nil != data.expectErr { 49 t.Errorf("Unexpected error: %s", err) 50 continue 51 } 52 } 53 }