Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Add custom prefix devurl #74

Merged
merged 7 commits into from
Aug 4, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
use requireSuccess(); log.Fatal() where appropriate; change 'del' to …
…'rm'
  • Loading branch information
Russtopia committed Jul 31, 2020
commit 1dc6c3ba86ee57a3036267aa0e3552c0eabebb81
4 changes: 2 additions & 2 deletions ci/integration/devurls_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,8 @@ func TestDevURLCLI(t *testing.T) {
// tcli.Success(),
// jsonUnmarshals(&durl))

// // == devurl del should function
// c.Run(ctx, `coder urls del env1 3002`).Assert(t,
// // == devurl rm should function
// c.Run(ctx, `coder urls rm env1 3002`).Assert(t,
// tcli.Success())

// // == removed devurl should no longer be there
Expand Down
40 changes: 15 additions & 25 deletions cmd/coder/urls.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,21 +88,21 @@ func (sub listSubCmd) Run(fl *pflag.FlagSet) {
envName := fl.Arg(0)
devURLs := urlList(envName)

if len(devURLs) == 0 {
return
}

switch sub.outputFmt {
case "human":
w := tabwriter.NewWriter(os.Stdout, 0, 0, 1, ' ', tabwriter.TabIndent)
for _, devURL := range devURLs {
fmt.Fprintf(w, "%s\t%d\t%s\n", devURL.URL, devURL.Port, devURL.Access)
}
err := w.Flush()
if err != nil {
flog.Fatal("failed to flush writer: %v", err)
}
requireSuccess(err, "failed to flush writer: %v", err)
case "json":
err := json.NewEncoder(os.Stdout).Encode(devURLs)
if err != nil {
flog.Fatal("failed to encode devurls to json: %v", err)
}
requireSuccess(err, "failed to encode devurls to json: %v", err)
default:
exitUsage(fl)
}
Expand All @@ -116,7 +116,7 @@ func (sub *listSubCmd) Spec() cli.CommandSpec {
return cli.CommandSpec{
Name: "ls",
Usage: "<env> <flags>",
Desc: "list all devurls",
Desc: "list all devurls for a given environment",
}
}

Expand Down Expand Up @@ -169,7 +169,7 @@ func (sub createSubCmd) Run(fl *pflag.FlagSet) {

name = sub.urlname
if name != "" && !devURLNameValidRx.MatchString(name) {
flog.Error("update devurl: name must be < 64 chars in length, begin with a letter and only contain letters or digits.")
flog.Fatal("update devurl: name must be < 64 chars in length, begin with a letter and only contain letters or digits.")
return
}
entClient := requireAuth()
Expand All @@ -180,25 +180,21 @@ func (sub createSubCmd) Run(fl *pflag.FlagSet) {
if found {
flog.Info("Updating devurl for port %v", port)
err := entClient.UpdateDevURL(env.ID, urlID, portNum, name, access)
if err != nil {
flog.Error("update devurl: %s", err.Error())
}
requireSuccess(err, "update devurl: %s", err)
} else {
flog.Info("Adding devurl for port %v", port)
err := entClient.InsertDevURL(env.ID, portNum, name, access)
if err != nil {
flog.Error("insert devurl: %s", err.Error())
}
requireSuccess(err, "insert devurl: %s", err)
}
}

type delSubCmd struct{}

func (sub delSubCmd) Spec() cli.CommandSpec {
return cli.CommandSpec{
Name: "del",
Name: "rm",
Usage: "<env name> <port>",
Desc: "delete a devurl",
Desc: "remove a devurl",
}
}

Expand Down Expand Up @@ -239,9 +235,7 @@ func (sub delSubCmd) Run(fl *pflag.FlagSet) {
}

err = entClient.DelDevURL(env.ID, urlID)
if err != nil {
flog.Error("delete devurl: %s", err.Error())
}
requireSuccess(err, "delete devurl: %s", err)
}

// urlList returns the list of active devURLs from the cemanager.
Expand All @@ -253,9 +247,7 @@ func urlList(envName string) []DevURL {
reqURL := fmt.Sprintf(reqString, entClient.BaseURL, env.ID, entClient.Token)

resp, err := http.Get(reqURL)
if err != nil {
flog.Fatal("%v", err)
}
requireSuccess(err, "%v", err)
defer resp.Body.Close()

if resp.StatusCode != 200 {
Expand All @@ -266,9 +258,7 @@ func urlList(envName string) []DevURL {

devURLs := make([]DevURL, 0)
err = dec.Decode(&devURLs)
if err != nil {
flog.Fatal("%v", err)
}
requireSuccess(err, "%v", err)

return devURLs
}