diff --git a/pkg/cmd/release/create/create_test.go b/pkg/cmd/release/create/create_test.go index 99308282..1a77845a 100644 --- a/pkg/cmd/release/create/create_test.go +++ b/pkg/cmd/release/create/create_test.go @@ -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()) }}, diff --git a/pkg/cmd/release/list/list.go b/pkg/cmd/release/list/list.go index 3dc17612..10e6f1a8 100644 --- a/pkg/cmd/release/list/list.go +++ b/pkg/cmd/release/list/list.go @@ -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" @@ -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 ( @@ -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 { @@ -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) { @@ -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 diff --git a/pkg/cmd/release/list/list_test.go b/pkg/cmd/release/list/list_test.go index 697db755..a3b6d805 100644 --- a/pkg/cmd/release/list/list_test.go +++ b/pkg/cmd/release/list/list_test.go @@ -15,6 +15,7 @@ import ( "github.com/spf13/cobra" "github.com/stretchr/testify/assert" "testing" + "time" ) var rootResource = testutil.NewRootResource() @@ -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()) }}, @@ -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()) }}, @@ -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()) }}, @@ -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()) }}, @@ -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()) }},