From ed024afec162c60ebd5cdbb33c6d04b0a9221f1c Mon Sep 17 00:00:00 2001 From: Nathan <148575555+nathan-artie@users.noreply.github.com> Date: Sat, 18 May 2024 11:18:38 -0700 Subject: [PATCH] Replace `array.Empty` with `stringutil.Empty` (#695) --- lib/array/strings.go | 12 ------------ lib/array/strings_test.go | 13 ------------- lib/config/config.go | 5 ++--- lib/kafkalib/topic.go | 4 ++-- models/event/event.go | 3 +-- 5 files changed, 5 insertions(+), 32 deletions(-) diff --git a/lib/array/strings.go b/lib/array/strings.go index e1272f42a..200426d17 100644 --- a/lib/array/strings.go +++ b/lib/array/strings.go @@ -52,15 +52,3 @@ func InterfaceToArrayString(val any, recastAsArray bool) ([]string, error) { return vals, nil } - -// Empty will iterate over a list, if one of the item in the list is empty, it will return true -// This is useful to check the presence of a setting. -func Empty(list []string) bool { - for _, v := range list { - if empty := v == ""; empty { - return true - } - } - - return false -} diff --git a/lib/array/strings_test.go b/lib/array/strings_test.go index c20a8cc53..6820254b1 100644 --- a/lib/array/strings_test.go +++ b/lib/array/strings_test.go @@ -80,16 +80,3 @@ func TestToArrayString(t *testing.T) { } } - -func TestNotEmpty(t *testing.T) { - notEmptyList := []string{ - "aaa", - "foo", - "bar", - } - - assert.False(t, Empty(notEmptyList)) - - notEmptyList = append(notEmptyList, "") - assert.True(t, Empty(notEmptyList)) -} diff --git a/lib/config/config.go b/lib/config/config.go index a7b02d2c0..87077295a 100644 --- a/lib/config/config.go +++ b/lib/config/config.go @@ -8,7 +8,6 @@ import ( "gopkg.in/yaml.v3" - "github.com/artie-labs/transfer/lib/array" "github.com/artie-labs/transfer/lib/config/constants" "github.com/artie-labs/transfer/lib/kafkalib" "github.com/artie-labs/transfer/lib/numbers" @@ -279,7 +278,7 @@ func (c Config) Validate() error { } // Username and password are not required (if it's within the same VPC or connecting locally - if array.Empty([]string{c.Kafka.GroupID, c.Kafka.BootstrapServer}) { + if stringutil.Empty(c.Kafka.GroupID, c.Kafka.BootstrapServer) { return fmt.Errorf("kafka group or bootstrap server is empty") } case constants.PubSub: @@ -287,7 +286,7 @@ func (c Config) Validate() error { return fmt.Errorf("pubsub config is nil") } - if array.Empty([]string{c.Pubsub.ProjectID, c.Pubsub.PathToCredentials}) { + if stringutil.Empty(c.Pubsub.ProjectID, c.Pubsub.PathToCredentials) { return fmt.Errorf("pubsub projectID or pathToCredentials is empty") } } diff --git a/lib/kafkalib/topic.go b/lib/kafkalib/topic.go index 0f0993818..b4b8487da 100644 --- a/lib/kafkalib/topic.go +++ b/lib/kafkalib/topic.go @@ -5,8 +5,8 @@ import ( "slices" "strings" - "github.com/artie-labs/transfer/lib/array" "github.com/artie-labs/transfer/lib/kafkalib/partition" + "github.com/artie-labs/transfer/lib/stringutil" ) type DatabaseSchemaPair struct { @@ -91,7 +91,7 @@ func (t TopicConfig) String() string { func (t TopicConfig) Validate() error { // IdempotentKey is optional. - empty := array.Empty([]string{t.Database, t.Schema, t.Topic, t.CDCFormat}) + empty := stringutil.Empty(t.Database, t.Schema, t.Topic, t.CDCFormat) if empty { return fmt.Errorf("database, schema, topic or cdc format is empty") } diff --git a/models/event/event.go b/models/event/event.go index a2b41c94a..fbc1dbf4e 100644 --- a/models/event/event.go +++ b/models/event/event.go @@ -9,7 +9,6 @@ import ( "strings" "time" - "github.com/artie-labs/transfer/lib/array" "github.com/artie-labs/transfer/lib/artie" "github.com/artie-labs/transfer/lib/cdc" "github.com/artie-labs/transfer/lib/config" @@ -82,7 +81,7 @@ func ToMemoryEvent(event cdc.Event, pkMap map[string]any, tc *kafkalib.TopicConf func (e *Event) IsValid() bool { // Does it have a PK or table set? - if array.Empty([]string{e.Table}) { + if stringutil.Empty(e.Table) { return false }