From 21c8e2d7e27f95704706a7e1635e88c8194ed173 Mon Sep 17 00:00:00 2001 From: ko_oler <kooler89@gmail.com> Date: Mon, 10 Jul 2023 18:07:15 +0300 Subject: [PATCH] =?UTF-8?q?-=20revert=20Install=D0=A1ollection()=20-=20?= =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20=D0=BB=D0=B8=D1=88=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=82=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/setup/collection.go | 24 ----------------- pkg/setup/collection_test.go | 51 ++++++------------------------------ 2 files changed, 8 insertions(+), 67 deletions(-) diff --git a/pkg/setup/collection.go b/pkg/setup/collection.go index 1ebd0a99..9f0a41cd 100644 --- a/pkg/setup/collection.go +++ b/pkg/setup/collection.go @@ -8,7 +8,6 @@ import ( "git.perx.ru/perxis/perxis-go/pkg/collections" "git.perx.ru/perxis/perxis-go/pkg/environments" "git.perx.ru/perxis/perxis-go/pkg/errors" - "git.perx.ru/perxis/perxis-go/pkg/extension" "go.uber.org/zap" ) @@ -83,17 +82,6 @@ func UpdateExistingCollection() CollectionsOption { } } -func SetSchemaMetadata(kv ...string) CollectionsOption { - return func(c *CollectionConfig) { - if c.metadata == nil { - c.metadata = make(map[string]string) - } - for i := 0; i < len(kv); i += 2 { - c.metadata[kv[i]] = kv[i+1] - } - } -} - func (s *Setup) InstallCollections(ctx context.Context) (err error) { if len(s.Collections) == 0 { return nil @@ -145,13 +133,6 @@ func (s *Setup) InstallCollection(ctx context.Context, c CollectionConfig) (setS return false, err } - if !collection.IsView() { - for k, v := range c.metadata { - collection.Schema.WithMetadata(k, v) - } - //setMD = true - } - if exist == nil { setSchema = !collection.IsView() _, err = s.content.Collections.Create(ctx, collection) @@ -159,11 +140,6 @@ func (s *Setup) InstallCollection(ctx context.Context, c CollectionConfig) (setS return false, err } } else { - if !collection.IsView() && !exist.IsView() { - if collection.Schema.Metadata != nil && exist.Schema.Metadata[extension.ExtensionMetadataKey] != collection.Schema.Metadata[extension.ExtensionMetadataKey] && !s.IsForce() { - return false, ErrCollectionAlreadyExists - } - } var upd bool collection, upd, setSchema = c.UpdateFn(s, exist, c.collection) if upd { diff --git a/pkg/setup/collection_test.go b/pkg/setup/collection_test.go index f23aa2b4..bae2fc4b 100644 --- a/pkg/setup/collection_test.go +++ b/pkg/setup/collection_test.go @@ -10,6 +10,7 @@ import ( "git.perx.ru/perxis/perxis-go/pkg/environments" envmocks "git.perx.ru/perxis/perxis-go/pkg/environments/mocks" "git.perx.ru/perxis/perxis-go/pkg/errors" + "git.perx.ru/perxis/perxis-go/pkg/extension" "git.perx.ru/perxis/perxis-go/pkg/schema" "git.perx.ru/perxis/perxis-go/pkg/schema/field" "github.com/stretchr/testify/assert" @@ -22,7 +23,6 @@ func TestSetup_InstallCollections(t *testing.T) { collections []*collections.Collection collectionsCall func(svc *mockscollections.Collections) envsCall func(svc *envmocks.Environments) - co CollectionsOption force bool wantErr func(t *testing.T, err error) }{ @@ -95,10 +95,10 @@ func TestSetup_InstallCollections(t *testing.T) { }, { name: "Update extension collection with metadata", - collections: []*collections.Collection{{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}}, + collections: []*collections.Collection{{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test-extension")}}, collectionsCall: func(svc *mockscollections.Collections) { - svc.On("Get", mock.Anything, "sp", "env", "1").Return(&collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}, nil).Once() - svc.On("Update", mock.Anything, &collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}).Return(nil).Once() + svc.On("Get", mock.Anything, "sp", "env", "1").Return(&collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test-extension")}, nil).Once() + svc.On("Update", mock.Anything, &collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test-extension")}).Return(nil).Once() svc.On("SetSchema", mock.Anything, "sp", "env", "1", schema.New("name", field.String())).Return(nil).Once() }, envsCall: func(svc *envmocks.Environments) { @@ -107,43 +107,14 @@ func TestSetup_InstallCollections(t *testing.T) { wantErr: func(t *testing.T, err error) { assert.NoError(t, err) }, - co: SetSchemaMetadata("extension", "test-extension"), - }, - { - name: "Fail to update collection with the same id", - collections: []*collections.Collection{{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}}, - collectionsCall: func(svc *mockscollections.Collections) { - svc.On("Get", mock.Anything, "sp", "env", "1").Return(&collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("surname", field.String())}, nil).Once() - }, - wantErr: func(t *testing.T, err error) { - assert.Error(t, err) - }, - co: SetSchemaMetadata("extension", "test-extension"), - }, - { - name: "Update collection with the same id, with force", - collections: []*collections.Collection{{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}}, - collectionsCall: func(svc *mockscollections.Collections) { - svc.On("Get", mock.Anything, "sp", "env", "1").Return(&collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}, nil).Once() - svc.On("Update", mock.Anything, &collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}).Return(nil).Once() - svc.On("SetSchema", mock.Anything, "sp", "env", "1", schema.New("name", field.String())).Return(nil).Once() - }, - envsCall: func(svc *envmocks.Environments) { - svc.On("Migrate", mock.Anything, "sp", "env", &environments.MigrateOptions{Wait: true}).Return(nil).Once() - }, - wantErr: func(t *testing.T, err error) { - assert.NoError(t, err) - }, - co: SetSchemaMetadata("extension", "test-extension"), - force: true, }, { name: "Update exist view collection with the same id", - collections: []*collections.Collection{{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}}, + collections: []*collections.Collection{{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test-extension")}}, collectionsCall: func(svc *mockscollections.Collections) { svc.On("Get", mock.Anything, "sp", "env", "1").Return(&collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", View: &collections.View{SpaceID: "sp2", EnvID: environments.DefaultEnvironment, CollectionID: "2"}}, nil).Once() - svc.On("Update", mock.Anything, &collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata("extension", "test-extension")}).Return(nil).Once() - svc.On("SetSchema", mock.Anything, "sp", "env", "1", schema.New("name", field.String()).WithMetadata("extension", "test-extension")).Return(nil).Once() + svc.On("Update", mock.Anything, &collections.Collection{ID: "1", SpaceID: "sp", EnvID: "env", Schema: schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test-extension")}).Return(nil).Once() + svc.On("SetSchema", mock.Anything, "sp", "env", "1", schema.New("name", field.String()).WithMetadata(extension.ExtensionMetadataKey, "test-extension")).Return(nil).Once() }, envsCall: func(svc *envmocks.Environments) { svc.On("Migrate", mock.Anything, "sp", "env", &environments.MigrateOptions{Wait: true}).Return(nil).Once() @@ -151,7 +122,6 @@ func TestSetup_InstallCollections(t *testing.T) { wantErr: func(t *testing.T, err error) { assert.NoError(t, err) }, - co: SetSchemaMetadata("extension", "test-extension"), }, { name: "Update view collection with the same id to new view collection", @@ -166,7 +136,6 @@ func TestSetup_InstallCollections(t *testing.T) { wantErr: func(t *testing.T, err error) { assert.NoError(t, err) }, - co: SetSchemaMetadata("extension", "test-extension"), }, } @@ -183,11 +152,7 @@ func TestSetup_InstallCollections(t *testing.T) { s := NewSetup(&content.Content{Collections: c, Environments: e}, "sp", "env", nil) s.force = tt.force - if tt.co != nil { - s.AddCollections(tt.collections, tt.co) - } else { - s.AddCollections(tt.collections) - } + s.AddCollections(tt.collections) tt.wantErr(t, s.InstallCollections(context.Background())) }) } -- GitLab