From 3f099ffdf71a92e3651b0f45798af3012f49d6e7 Mon Sep 17 00:00:00 2001 From: Danis Kirasirov <dbgbbu@gmail.com> Date: Fri, 2 Feb 2024 10:12:28 +0300 Subject: [PATCH] =?UTF-8?q?Revert=20"=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80?= =?UTF-8?q?=20=D0=B2=20expr"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 87f937ff98ed39d8f6778dace2f56471a2d6dd9d. --- pkg/expr/expr_test.go | 64 ------------------------------------------ pkg/expr/mongo_test.go | 33 ---------------------- pkg/files/file.go | 12 ++++---- 3 files changed, 6 insertions(+), 103 deletions(-) diff --git a/pkg/expr/expr_test.go b/pkg/expr/expr_test.go index 0c6085da..f8909daa 100644 --- a/pkg/expr/expr_test.go +++ b/pkg/expr/expr_test.go @@ -1,13 +1,11 @@ package expr import ( - "context" "fmt" "testing" "time" "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" ) func TestIsExpression(t *testing.T) { @@ -60,65 +58,3 @@ func TestIsExpression(t *testing.T) { }) } } - -type testEnvStruct struct { - ID string `expr:"id"` - Size int `expr:"size"` - Data interface{} `expr:"data"` -} - -func TestEval_StructInEnv(t *testing.T) { - ctx := context.Background() - - tests := []struct { - name string - exp string - env map[string]interface{} - wantErr bool - wantResult interface{} - }{ - { - name: "get field by expr tag", - exp: "s.id", - env: map[string]interface{}{"s": &testEnvStruct{ID: "id1"}}, - wantResult: "id1", - }, - { - name: "get field by field name", - exp: "s.ID", - env: map[string]interface{}{"s": &testEnvStruct{ID: "id1"}}, - wantResult: "id1", - }, - { - name: "get nested field", - exp: "m.s.size", - env: map[string]interface{}{"m": map[string]interface{}{"s": &testEnvStruct{Size: 1}}}, - wantResult: 1, - }, - { - name: "check field", - exp: "s.data.size < 100", - env: map[string]interface{}{"s": &testEnvStruct{Data: &testEnvStruct{Size: 0}}}, - wantResult: true, - }, - { - name: "field not exists", - exp: "s.not_exists", - env: map[string]interface{}{"s": &testEnvStruct{}}, - wantErr: true, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result, err := Eval(ctx, tt.exp, tt.env) - if tt.wantErr { - require.Error(t, err) - return - } - - require.NoError(t, err) - require.Equal(t, tt.wantResult, result) - }) - } -} diff --git a/pkg/expr/mongo_test.go b/pkg/expr/mongo_test.go index a804c3bd..1dde0f37 100644 --- a/pkg/expr/mongo_test.go +++ b/pkg/expr/mongo_test.go @@ -90,39 +90,6 @@ func TestConvertToMongo(t *testing.T) { } } -func TestConvertToMongo_StructInEnv(t *testing.T) { - ctx := context.Background() - - tests := []struct { - name string - exp string - env map[string]interface{} - wantErr bool - wantResult interface{} - }{ - { - name: "get field", - exp: "db_item.id == env_item.id", - env: map[string]interface{}{"env_item": &testEnvStruct{ID: "id1"}}, - wantResult: bson.M{"db_item.id": "id1"}, - }, - } - - for _, tt := range tests { - t.Run(tt.name, func(t *testing.T) { - result, err := ConvertToMongo(ctx, tt.exp, tt.env, nil) - if tt.wantErr { - require.Error(t, err) - return - } - - require.NoError(t, err) - require.Equal(t, tt.wantResult, result) - }) - } -} - - func BenchmarkConvertToMongo(b *testing.B) { const idsNum = 1_000_000 ctx := context.Background() diff --git a/pkg/files/file.go b/pkg/files/file.go index d2236b83..5700309d 100644 --- a/pkg/files/file.go +++ b/pkg/files/file.go @@ -16,13 +16,13 @@ const ( // File - описание файла РІ системе хранения perxis type File struct { - ID string `mapstructure:"id,omitempty" json:"id" expr:"id"` // Уникальный идентификатор файла РІ хранилище - Name string `mapstructure:"name,omitempty" json:"name" bson:"name,omitempty" expr:"name"` // РРјСЏ файла - Size int `mapstructure:"size,omitempty" json:"size" bson:"size,omitempty" expr:"size"` // Размер файла + ID string `mapstructure:"id,omitempty" json:"id" expr:"id"` // Уникальный идентификатор файла РІ хранилище + Name string `mapstructure:"name,omitempty" json:"name" bson:"name,omitempty" expr:"name"` // РРјСЏ файла + Size int `mapstructure:"size,omitempty" json:"size" bson:"size,omitempty" expr:"size"` // Размер файла MimeType string `mapstructure:"mimeType,omitempty" json:"mimeType" bson:"mimeType,omitempty" expr:"mime_type"` // Mime-type файла - URL string `mapstructure:"url,omitempty" json:"url" bson:"url,omitempty" expr:"url"` // Адрес для загрузки файла - Key string `mapstructure:"key,omitempty" json:"key" bson:"key,omitempty" expr:"key"` // Ключ для хранения файла РІ хранилище - File fs.File `mapstructure:"-" json:"-" bson:"-"` // Файл для загрузки(РёР· файловой системы) + URL string `mapstructure:"url,omitempty" json:"url" bson:"url,omitempty" expr:"url"` // Адрес для загрузки файла + Key string `mapstructure:"key,omitempty" json:"key" bson:"key,omitempty" expr:"key"` // Ключ для хранения файла РІ хранилище + File fs.File `mapstructure:"-" json:"-" bson:"-"` // Файл для загрузки(РёР· файловой системы) } func (f File) Clone() *File { -- GitLab