Skip to content

Commit

Permalink
feat: switched to branch version of sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
demeyerthom committed Sep 27, 2024
1 parent 54b9e6d commit 3634b49
Show file tree
Hide file tree
Showing 13 changed files with 68 additions and 84 deletions.
3 changes: 0 additions & 3 deletions Taskfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,6 @@ tasks:
test:
cmd: go test -tags=testing -race ./...

test:integration:
cmd: go test -tags=integration ./...

cover:
cmd: go test -tags=testing -race -coverprofile=coverage.out -covermode=atomic ./...

Expand Down
3 changes: 1 addition & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,11 @@ require (
github.com/hashicorp/hcl/v2 v2.22.0
github.com/lithammer/dedent v1.1.0
github.com/mach-composer/mach-composer-plugin-sdk v1.0.0
github.com/mach-composer/mcc-sdk-go v0.1.0
github.com/mach-composer/mcc-sdk-go v0.1.1-0.20240927102148-addd64120f02
github.com/mattn/go-isatty v0.0.20
github.com/mitchellh/mapstructure v1.5.0
github.com/olekukonko/tablewriter v0.0.5
github.com/rs/zerolog v1.33.0
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
github.com/spf13/afero v1.11.0
github.com/spf13/cobra v1.8.1
Expand Down
8 changes: 2 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -243,8 +243,6 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
github.com/dominikbraun/graph v0.23.0 h1:TdZB4pPqCLFxYhdyMFb1TBdFxp8XLcJfTTBQucVPgCo=
github.com/dominikbraun/graph v0.23.0/go.mod h1:yOjYyogZLY1LSG9E33JWZJiq5k83Qy2C6POAuiViluc=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
Expand Down Expand Up @@ -452,8 +450,8 @@ github.com/mach-composer/mach-composer-plugin-sdk v1.0.0 h1:JC2CexXB03VxxyfNUdlB
github.com/mach-composer/mach-composer-plugin-sdk v1.0.0/go.mod h1:qfmnfIOp8k4RYlOEbV0UVOQZ8g3mJPKsUopZCOW2qDU=
github.com/mach-composer/mach-composer-plugin-sdk/v2 v2.0.1 h1:UcA2ZvtD+4nEDaG0a91yZKLZxZ5LMeNYh2vljrtTngs=
github.com/mach-composer/mach-composer-plugin-sdk/v2 v2.0.1/go.mod h1:J5rRF9zUUZIx8vs2lUn3TH8tAHfmb0D3IBC6rKaboVA=
github.com/mach-composer/mcc-sdk-go v0.1.0 h1:yxacUjllDa8lBW9uw8gvOhPOcyeT45+rqL1koSlEJtg=
github.com/mach-composer/mcc-sdk-go v0.1.0/go.mod h1:yGj8wVh9P/HCNhjM4uVhguiROZaehFT7AJEDcMToopM=
github.com/mach-composer/mcc-sdk-go v0.1.1-0.20240927102148-addd64120f02 h1:7+8LJBlWFTDcEsfoa8GPeV1O3WdlxqW/XdAxJ+xFzvM=
github.com/mach-composer/mcc-sdk-go v0.1.1-0.20240927102148-addd64120f02/go.mod h1:xpvf4p/wmktgqLsjh3648ylQg8O0jQjqPVdPugEc3ok=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
Expand Down Expand Up @@ -512,8 +510,6 @@ github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6ke
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw=
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
Expand Down
7 changes: 5 additions & 2 deletions internal/cli/errors.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package cli

import (
"errors"
"fmt"
"os"
"strings"
Expand Down Expand Up @@ -55,7 +56,8 @@ func PrintExitError(summary string, detail ...string) {

func HandleErr(err error) {
log.Error().Msgf("Error: %v\n", err)
if openApiErr, ok := err.(*mccsdk.GenericOpenAPIError); ok {
var openApiErr *mccsdk.GenericOpenAPIError
if errors.As(err, &openApiErr) {
remoteErr := openApiErr.Model()

switch svcErr := remoteErr.(type) {
Expand All @@ -78,7 +80,8 @@ func HandleErr(err error) {
return
}

if groupedErr, ok := err.(*GroupedError); ok {
var groupedErr *GroupedError
if errors.As(err, &groupedErr) {
var details []string
for _, e := range groupedErr.Errors {
details = append(details, e.Error())
Expand Down
10 changes: 5 additions & 5 deletions internal/cloud/client_wrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ type ClientWrapper interface {
CreateComponent(ctx context.Context, organization, project, key string) (*mccsdk.Component, error)
CreateComponentVersion(ctx context.Context, organization, project, key, version, branch string) (*mccsdk.ComponentVersion, error)
GetLatestComponentVersion(ctx context.Context, organization, project, key, branch string) (*mccsdk.ComponentVersion, error)
PushComponentVersionCommits(ctx context.Context, organization, project, componentKey, versionIdentifier string, commits []mccsdk.CommitData) error
PushComponentVersionCommits(ctx context.Context, organization, project, componentKey, versionIdentifier string, commits []mccsdk.CommitDraft) error
}

func NewClientWrapper(client *mccsdk.APIClient) *MccSdkClientWrapper {
Expand All @@ -24,11 +24,11 @@ type MccSdkClientWrapper struct {
client *mccsdk.APIClient
}

func (m *MccSdkClientWrapper) PushComponentVersionCommits(ctx context.Context, organization, project, componentKey, versionIdentifier string, commits []mccsdk.CommitData) error {
_, err := m.client.
func (m *MccSdkClientWrapper) PushComponentVersionCommits(ctx context.Context, organization, project, componentKey, versionIdentifier string, commits []mccsdk.CommitDraft) error {
_, _, err := m.client.
ComponentsApi.
ComponentVersionPushCommits(ctx, organization, project, componentKey, versionIdentifier).
ComponentVersionCommits(mccsdk.ComponentVersionCommits{
ComponentCommitCreateDraft(mccsdk.ComponentCommitCreateDraft{
Commits: commits,
}).
Execute()
Expand All @@ -52,7 +52,7 @@ func (m *MccSdkClientWrapper) CreateComponentVersion(ctx context.Context, organi
ComponentVersionCreate(ctx, organization, project, componentKey).
ComponentVersionDraft(mccsdk.ComponentVersionDraft{
Version: version,
Branch: branch,
Branch: &branch,
}).
Execute()
return r, err
Expand Down
2 changes: 1 addition & 1 deletion internal/cloud/client_wrapper_mock.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func (c *ClientWrapperMock) GetLatestComponentVersion(ctx context.Context, organ
return args.Get(0).(*mccsdk.ComponentVersion), args.Error(1)
}

func (c *ClientWrapperMock) PushComponentVersionCommits(ctx context.Context, organization, project, componentKey, versionIdentifier string, commits []mccsdk.CommitData) error {
func (c *ClientWrapperMock) PushComponentVersionCommits(ctx context.Context, organization, project, componentKey, versionIdentifier string, commits []mccsdk.CommitDraft) error {
args := c.Called(ctx, organization, project, componentKey, versionIdentifier, commits)
return args.Error(0)
}
8 changes: 4 additions & 4 deletions internal/cloud/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,19 +125,19 @@ func autoRegisterVersion(ctx context.Context, client ClientWrapper, repository g
}

// Push commits
newCommits := make([]mccsdk.CommitData, len(commits))
newCommits := make([]mccsdk.CommitDraft, len(commits))
for i := range pie.Reverse(commits) {
c := commits[i]
newCommits[i] = mccsdk.CommitData{
newCommits[i] = mccsdk.CommitDraft{
Commit: c.Commit,
Subject: c.Message,
Parents: c.Parents,
Author: mccsdk.CommitDataAuthor{
Author: mccsdk.CommitAuthorDraft{
Name: c.Author.Name,
Email: c.Author.Email,
Date: c.Author.Date,
},
Committer: mccsdk.CommitDataAuthor{
Committer: mccsdk.CommitAuthorDraft{
Name: c.Committer.Name,
Email: c.Committer.Email,
Date: c.Committer.Date,
Expand Down
15 changes: 7 additions & 8 deletions internal/cloud/version_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package cloud
import (
"context"
"github.com/mach-composer/mach-composer-cli/internal/gitutils"
"github.com/mach-composer/mach-composer-cli/internal/utils"
"github.com/mach-composer/mcc-sdk-go/mccsdk"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
Expand Down Expand Up @@ -55,7 +54,7 @@ func TestRegisterComponentVersionComponentNotFoundWithCreateComponent(t *testing
client := &ClientWrapperMock{}

Check failure on line 54 in internal/cloud/version_test.go

View workflow job for this annotation

GitHub Actions / test

undefined: ClientWrapperMock
client.On("ListComponents", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentPaginator{}, nil)
client.On("CreateComponent", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.Component{
Key: utils.Ref("test-component"),
Key: "test-component",
}, nil)
client.On("CreateComponentVersion", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentVersion{
Version: "test-component-version"}, nil)
Expand All @@ -79,7 +78,7 @@ func TestRegisterComponentVersionComponentFound(t *testing.T) {
client.On("ListComponents", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentPaginator{
Results: []mccsdk.Component{
{
Key: utils.Ref("test-component"),
Key: "test-component",
},
},
}, nil)
Expand All @@ -106,7 +105,7 @@ func TestRegisterComponentVersionComponentFoundAutoGitRevisionNotFound(t *testin
client.On("ListComponents", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentPaginator{
Results: []mccsdk.Component{
{
Key: utils.Ref("test-component"),
Key: "test-component",
},
},
}, nil)
Expand Down Expand Up @@ -139,7 +138,7 @@ func TestRegisterComponentVersionComponentFoundAutoNoCommits(t *testing.T) {
client.On("ListComponents", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentPaginator{
Results: []mccsdk.Component{
{
Key: utils.Ref("test-component"),
Key: "test-component",
},
},
}, nil)
Expand Down Expand Up @@ -172,15 +171,15 @@ func TestRegisterComponentVersionComponentFoundAutoOK(t *testing.T) {
client.On("ListComponents", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentPaginator{
Results: []mccsdk.Component{
{
Key: utils.Ref("test-component"),
Key: "test-component",
},
},
}, nil)
client.On("GetLatestComponentVersion", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentVersion{
Version: "previous-test-component-version"}, nil)
client.On("CreateComponentVersion", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentVersion{
Version: "test-component-version"}, nil)
client.On("PushComponentVersionCommits", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.MatchedBy(func(s []mccsdk.CommitData) bool {
client.On("PushComponentVersionCommits", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.MatchedBy(func(s []mccsdk.CommitDraft) bool {
assert.Len(t, s, 1)
assert.Equal(t, "test-commit", s[0].Commit)
assert.Equal(t, "test-subject", s[0].Subject)
Expand Down Expand Up @@ -232,7 +231,7 @@ func TestRegisterComponentVersionComponentFoundAutoDryRun(t *testing.T) {
client.On("ListComponents", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(&mccsdk.ComponentPaginator{
Results: []mccsdk.Component{
{
Key: utils.Ref("test-component"),
Key: "test-component",
},
},
}, nil)
Expand Down
10 changes: 5 additions & 5 deletions internal/cmd/cloudcmd/api_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ var listApiClientCmd = &cobra.Command{
if err != nil {
return err
}
paginator, _, err := (client.
paginator, _, err := client.
APIClientsApi.
ApiClientQuery(ctx, organization, project).
Execute())
Execute()

if err != nil {
return err
Expand All @@ -34,7 +34,7 @@ var listApiClientCmd = &cobra.Command{
data := make([][]string, len(paginator.Results))
for i, record := range paginator.Results {
lastUsed := "never"
if record.LastUsedAt != nil {
if record.LastUsedAt.IsSet() {
lastUsed = record.GetLastUsedAt().Format("2006-01-02 15:04:05")
}

Expand Down Expand Up @@ -68,13 +68,13 @@ var createApiClientCmd = &cobra.Command{
if err != nil {
return err
}
resource, _, err := (client.
resource, _, err := client.
APIClientsApi.
ApiClientCreate(ctx, organization, project).
ApiClientDraft(mccsdk.ApiClientDraft{
Scope: []string{"project:manage"},
}).
Execute())
Execute()

if err != nil {
return err
Expand Down
19 changes: 4 additions & 15 deletions internal/cmd/cloudcmd/component.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ var componentListCmd = &cobra.Command{
for i, record := range paginator.Results {
data[i] = []string{
record.CreatedAt.Local().Format("2006-01-02 15:04:05"),
*record.Key,
record.Key,
}
}

Expand Down Expand Up @@ -135,25 +135,14 @@ var componentUpdateCmd = &cobra.Command{
organization := MustGetString(cmd, "organization")
project := MustGetString(cmd, "project")
componentKey := args[0]
var patchedDraft = mccsdk.PatchedComponentDraft{}

newKey, err := cmd.Flags().GetString("key")
if err != nil {
return err
}
var patches []mccsdk.PatchRequestInner

if newKey != "" {
patches = append(patches, mccsdk.PatchRequestInner{
JSONPatchRequestAddReplaceTest: &mccsdk.JSONPatchRequestAddReplaceTest{
Path: "/key",
Op: "replace",
Value: newKey,
},
})
}

if len(patches) == 0 {
return nil
patchedDraft.Key = &newKey
}

client, err := cloud.NewClient(ctx)
Expand All @@ -163,7 +152,7 @@ var componentUpdateCmd = &cobra.Command{
resource, _, err := client.
ComponentsApi.
ComponentPatch(ctx, organization, project, componentKey).
PatchRequestInner(patches).
PatchedComponentDraft(patchedDraft).
Execute()
if err != nil {
return err
Expand Down
Loading

0 comments on commit 3634b49

Please sign in to comment.