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  }