Skip to content

Commit

Permalink
fix: extended release output (#179)
Browse files Browse the repository at this point in the history
  • Loading branch information
benPearce1 authored Dec 16, 2022
1 parent c5e8590 commit 80e1200
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 27 deletions.
2 changes: 1 addition & 1 deletion pkg/cmd/release/create/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1381,7 +1381,7 @@ func TestReleaseCreate_AutomationMode(t *testing.T) {
_, err := testutil.ReceivePair(cmdReceiver)
assert.Nil(t, err)

assert.Equal(t, "{\"Channel\":\"Alpha channel\",\"Version\":\"1.2.3\"}\n", stdOut.String())
assert.Equal(t, "{\"ReleaseNotes\":\"\",\"Assembled\":\"0001-01-01T00:00:00Z\",\"Channel\":\"Alpha channel\",\"Version\":\"1.2.3\"}\n", stdOut.String())
assert.Equal(t, "", stdErr.String())
}},

Expand Down
21 changes: 13 additions & 8 deletions pkg/cmd/release/list/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ package list

import (
"errors"
"github.com/OctopusDeploy/cli/pkg/apiclient"

"github.com/MakeNowJust/heredoc/v2"
"github.com/OctopusDeploy/cli/pkg/apiclient"
"github.com/OctopusDeploy/cli/pkg/constants"
"github.com/OctopusDeploy/cli/pkg/factory"
"github.com/OctopusDeploy/cli/pkg/output"
Expand All @@ -15,6 +14,7 @@ import (
"github.com/OctopusDeploy/go-octopusdeploy/v2/pkg/projects"
"github.com/OctopusDeploy/go-octopusdeploy/v2/pkg/releases"
"github.com/spf13/cobra"
"time"
)

const (
Expand All @@ -32,8 +32,10 @@ func NewListFlags() *ListFlags {
}

type ReleaseViewModel struct {
Channel string
Version string
ReleaseNotes string
Assembled time.Time
Channel string
Version string
}

func NewCmdList(f factory.Factory) *cobra.Command {
Expand Down Expand Up @@ -114,9 +116,12 @@ func listRun(cmd *cobra.Command, f factory.Factory, flags *ListFlags) error {
return []string{item.ChannelID}
},
func(item *releases.Release, lookup []string) ReleaseViewModel { // result producer
item.Links = nil
return ReleaseViewModel{
Channel: lookup[0],
Version: item.Version}
Assembled: item.Assembled,
Channel: lookup[0],
Version: item.Version,
}
},
// lookup for channel names
func(keys []string) ([]string, error) {
Expand All @@ -142,9 +147,9 @@ func listRun(cmd *cobra.Command, f factory.Factory, flags *ListFlags) error {
return item
},
Table: output.TableDefinition[ReleaseViewModel]{
Header: []string{"VERSION", "CHANNEL"},
Header: []string{"VERSION", "CHANNEL", "CREATED"},
Row: func(item ReleaseViewModel) []string {
return []string{item.Version, item.Channel}
return []string{item.Version, item.Channel, item.Assembled.Format(time.RFC1123Z)}
}},
Basic: func(item ReleaseViewModel) string {
return item.Version
Expand Down
42 changes: 24 additions & 18 deletions pkg/cmd/release/list/list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
"testing"
"time"
)

var rootResource = testutil.NewRootResource()
Expand Down Expand Up @@ -87,11 +88,11 @@ func TestReleaseList(t *testing.T) {
assert.Nil(t, err)

assert.Equal(t, heredoc.Doc(`
VERSION CHANNEL
2.1 Default Channel
2.0 Default Channel
2.0-beta2 Beta Channel
2.0-beta1 Beta Channel
VERSION CHANNEL CREATED
2.1 Default Channel Mon, 01 Jan 0001 00:00:00 +0000
2.0 Default Channel Mon, 01 Jan 0001 00:00:00 +0000
2.0-beta2 Beta Channel Mon, 01 Jan 0001 00:00:00 +0000
2.0-beta1 Beta Channel Mon, 01 Jan 0001 00:00:00 +0000
`), stdOut.String())
assert.Equal(t, "", stdErr.String())
}},
Expand Down Expand Up @@ -131,11 +132,11 @@ func TestReleaseList(t *testing.T) {
assert.Nil(t, err)

assert.Equal(t, heredoc.Doc(`
VERSION CHANNEL
2.1 Default Channel
2.0 Default Channel
2.0-beta2 Beta Channel
2.0-beta1 Beta Channel
VERSION CHANNEL CREATED
2.1 Default Channel Mon, 01 Jan 0001 00:00:00 +0000
2.0 Default Channel Mon, 01 Jan 0001 00:00:00 +0000
2.0-beta2 Beta Channel Mon, 01 Jan 0001 00:00:00 +0000
2.0-beta1 Beta Channel Mon, 01 Jan 0001 00:00:00 +0000
`), stdOut.String())
assert.Equal(t, "", stdErr.String())
}},
Expand Down Expand Up @@ -167,8 +168,8 @@ func TestReleaseList(t *testing.T) {
assert.Nil(t, err)

assert.Equal(t, heredoc.Doc(`
VERSION CHANNEL
2.1 Default Channel
VERSION CHANNEL CREATED
2.1 Default Channel Mon, 01 Jan 0001 00:00:00 +0000
`), stdOut.String())
assert.Equal(t, "", stdErr.String())
}},
Expand Down Expand Up @@ -200,8 +201,8 @@ func TestReleaseList(t *testing.T) {
assert.Nil(t, err)

assert.Equal(t, heredoc.Doc(`
VERSION CHANNEL
2.1 Default Channel
VERSION CHANNEL CREATED
2.1 Default Channel Mon, 01 Jan 0001 00:00:00 +0000
`), stdOut.String())
assert.Equal(t, "", stdErr.String())
}},
Expand Down Expand Up @@ -232,15 +233,20 @@ func TestReleaseList(t *testing.T) {
assert.Nil(t, err)

type x struct {
Channel string
Version string
Assembled time.Time
Channel string
Version string
ReleaseNotes string
}
parsedStdout, err := testutil.ParseJsonStrict[[]x](stdOut)
assert.Nil(t, err)

expectedTime, _ := time.Parse(time.RFC1123Z, "Mon, 01 Jan 0001 00:00:00")
assert.Equal(t, []x{{
Channel: defaultChannel.Name,
Version: "2.1",
Channel: defaultChannel.Name,
Version: "2.1",
ReleaseNotes: "",
Assembled: expectedTime,
}}, parsedStdout)
assert.Equal(t, "", stdErr.String())
}},
Expand Down

0 comments on commit 80e1200

Please sign in to comment.