Skip to content
This repository was archived by the owner on Sep 16, 2024. It is now read-only.

Commit 6c99c54

Browse files
changes based on suggestions
1 parent 7713d76 commit 6c99c54

File tree

5 files changed

+38
-39
lines changed

5 files changed

+38
-39
lines changed
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/hellofresh/goengine"
88
"github.com/hellofresh/goengine/strategy/json"
99
"github.com/hellofresh/goengine/strategy/json/sql/postgres"
10-
"github.com/hellofresh/goengine/strategy/json/sql/postgres/strategy"
1110
)
1211

1312
func main() {
@@ -19,7 +18,7 @@ func main() {
1918
defer db.Close()
2019

2120
transformer := json.NewPayloadTransformer()
22-
strategy, err := strategy.NewMultiThreadStreamStrategy(transformer)
21+
strategy, err := postgres.NewMultiTenancyStreamStrategy(transformer)
2322
failOnErr(err)
2423

2524
manager, err := postgres.NewStreamManager(db, transformer, strategy, nil, nil)

strategy/json/sql/postgres/strategy/multi_thread_stream_strategy.go renamed to strategy/json/sql/postgres/multi_thread_stream_strategy.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package strategy
1+
package postgres
22

33
import (
44
"fmt"
@@ -15,13 +15,13 @@ import (
1515
// Ensure MultiThreadStreamStrategy implements strategy.PersistenceStrategy
1616
var _ sql.PersistenceStrategy = &MultiThreadStreamStrategy{}
1717

18-
// MultiThreadStreamStrategy struct represents eventstore with multi thread stream
18+
// MultiThreadStreamStrategy struct represents eventstore with multitenancy stream
1919
type MultiThreadStreamStrategy struct {
2020
converter goengine.MessagePayloadConverter
2121
}
2222

23-
// NewMultiThreadStreamStrategy is the constructor postgres for PersistenceStrategy interface
24-
func NewMultiThreadStreamStrategy(converter goengine.MessagePayloadConverter) (sql.PersistenceStrategy, error) {
23+
// NewMultiTenancyStreamStrategy is the constructor postgres for PersistenceStrategy interface
24+
func NewMultiTenancyStreamStrategy(converter goengine.MessagePayloadConverter) (sql.PersistenceStrategy, error) {
2525
if converter == nil {
2626
return nil, goengine.InvalidArgumentError("converter")
2727
}

strategy/json/sql/postgres/strategy/multi_thread_stream_strategy_test.go renamed to strategy/json/sql/postgres/multi_thread_stream_strategy_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package strategy_test
1+
package postgres_test
22

33
import (
44
"errors"
@@ -17,7 +17,7 @@ import (
1717

1818
func TestNewMultiThreadPostgresStrategy(t *testing.T) {
1919
t.Run("error on no converter provided", func(t *testing.T) {
20-
strategy, err := strategy.NewMultiThreadStreamStrategy(nil)
20+
strategy, err := postgres.NewMultiTenancyStreamStrategy(nil)
2121

2222
if assert.Error(t, err) {
2323
arg := err.(goengine.InvalidArgumentError)
@@ -27,15 +27,15 @@ func TestNewMultiThreadPostgresStrategy(t *testing.T) {
2727
})
2828

2929
t.Run("error on no converter provided", func(t *testing.T) {
30-
strategy, err := strategy.NewMultiThreadStreamStrategy(&mocks.MessagePayloadConverter{})
30+
strategy, err := postgres.NewMultiTenancyStreamStrategy(&mocks.MessagePayloadConverter{})
3131

32-
assert.IsTypef(t, &strategy.MultiThreadStreamStrategy{}, strategy, "")
32+
assert.IsTypef(t, &postgres.MultiThreadStreamStrategy{}, strategy, "")
3333
assert.Nil(t, err)
3434
})
3535
}
3636

3737
func TestMultiThreadGenerateTableName(t *testing.T) {
38-
strategy, err := strategy.NewMultiThreadStreamStrategy(&mocks.MessagePayloadConverter{})
38+
strategy, err := postgres.NewMultiTenancyStreamStrategy(&mocks.MessagePayloadConverter{})
3939
require.NoError(t, err)
4040

4141
t.Run("name conversions", func(t *testing.T) {
@@ -110,7 +110,7 @@ func TestMultiThreadGenerateTableName(t *testing.T) {
110110

111111
for _, testCase := range testCases {
112112
t.Run(testCase.title, func(t *testing.T) {
113-
tableName, err := strategy.GenerateTableName(testCase.input)
113+
tableName, err := postgres.GenerateTableName(testCase.input)
114114

115115
assert.NoError(t, err)
116116
assert.Equal(t, testCase.output, tableName)
@@ -119,7 +119,7 @@ func TestMultiThreadGenerateTableName(t *testing.T) {
119119
})
120120

121121
t.Run("Empty stream names are not supported", func(t *testing.T) {
122-
tableName, err := strategy.GenerateTableName("")
122+
tableName, err := postgres.GenerateTableName("")
123123

124124
asserts := assert.New(t)
125125
asserts.Empty(tableName)
@@ -133,26 +133,26 @@ func TestMultiThreadGenerateTableName(t *testing.T) {
133133
func TestMultiThreadColumnNames(t *testing.T) {
134134
expectedColumns := []string{"event_id", "event_name", "payload", "metadata", "aggregate_type", "aggregate_id", "created_at"}
135135

136-
strategy, err := strategy.NewMultiThreadStreamStrategy(&mocks.MessagePayloadConverter{})
136+
strategy, err := postgres.NewMultiTenancyStreamStrategy(&mocks.MessagePayloadConverter{})
137137
require.NoError(t, err)
138138

139139
t.Run("get expected columns", func(t *testing.T) {
140-
cols := strategy.InsertColumnNames()
140+
cols := postgres.InsertColumnNames()
141141

142142
assert.Equal(t, cols, expectedColumns)
143143
})
144144

145145
t.Run("cannot modify data", func(t *testing.T) {
146-
assert.Equal(t, strategy.InsertColumnNames(), expectedColumns)
146+
assert.Equal(t, postgres.InsertColumnNames(), expectedColumns)
147147
})
148148
}
149149

150150
func TestMultiThreadCreateSchema(t *testing.T) {
151-
strategy, err := strategy.NewMultiThreadStreamStrategy(&mocks.MessagePayloadConverter{})
151+
strategy, err := postgres.NewMultiTenancyStreamStrategy(&mocks.MessagePayloadConverter{})
152152
require.NoError(t, err)
153153

154154
t.Run("output statement elements count", func(t *testing.T) {
155-
cs := strategy.CreateSchema("abc")
155+
cs := postgres.CreateSchema("abc")
156156

157157
assert.Equal(t, 3, len(cs))
158158
assert.Contains(t, cs[0], `CREATE TABLE "abc"`)
@@ -193,10 +193,10 @@ func TestMultiThreadPrepareData(t *testing.T) {
193193
)
194194
}
195195

196-
strategy, err := strategy.NewMultiThreadStreamStrategy(pc)
196+
strategy, err := postgres.NewMultiTenancyStreamStrategy(pc)
197197
require.NoError(t, err)
198198

199-
data, err := strategy.PrepareData(messages)
199+
data, err := postgres.PrepareData(messages)
200200

201201
assert.NoError(t, err)
202202
assert.Equal(t, expectedColumns, data)
@@ -222,10 +222,10 @@ func TestMultiThreadPrepareData(t *testing.T) {
222222
pc := mocks.NewMessagePayloadConverter(ctrl)
223223
pc.EXPECT().ConvertPayload(payload).Return("PayloadFirst", nil, expectedErr).Times(1)
224224

225-
strategy, err := strategy.NewMultiThreadStreamStrategy(pc)
225+
strategy, err := postgres.NewMultiTenancyStreamStrategy(pc)
226226
require.NoError(t, err)
227227

228-
data, err := strategy.PrepareData(messages)
228+
data, err := postgres.PrepareData(messages)
229229

230230
assert.Error(t, expectedErr, err)
231231
assert.Nil(t, data)

strategy/json/sql/postgres/strategy/single_stream_strategy.go renamed to strategy/json/sql/postgres/single_stream_strategy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package strategy
1+
package postgres
22

33
import (
44
"fmt"

strategy/json/sql/postgres/strategy/single_stream_strategy_test.go renamed to strategy/json/sql/postgres/single_stream_strategy_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package strategy_test
1+
package postgres_test
22

33
import (
44
"errors"
@@ -17,7 +17,7 @@ import (
1717

1818
func TestNewPostgresStrategy(t *testing.T) {
1919
t.Run("error on no converter provided", func(t *testing.T) {
20-
strategy, err := strategy.NewSingleStreamStrategy(nil)
20+
strategy, err := postgres.NewSingleStreamStrategy(nil)
2121

2222
if assert.Error(t, err) {
2323
arg := err.(goengine.InvalidArgumentError)
@@ -27,15 +27,15 @@ func TestNewPostgresStrategy(t *testing.T) {
2727
})
2828

2929
t.Run("error on no converter provided", func(t *testing.T) {
30-
strategy, err := strategy.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
30+
strategy, err := postgres.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
3131

32-
assert.IsTypef(t, &strategy.SingleStreamStrategy{}, strategy, "")
32+
assert.IsTypef(t, &postgres.SingleStreamStrategy{}, strategy, "")
3333
assert.Nil(t, err)
3434
})
3535
}
3636

3737
func TestGenerateTableName(t *testing.T) {
38-
strategy, err := strategy.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
38+
strategy, err := postgres.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
3939
require.NoError(t, err)
4040

4141
t.Run("name conversions", func(t *testing.T) {
@@ -110,7 +110,7 @@ func TestGenerateTableName(t *testing.T) {
110110

111111
for _, testCase := range testCases {
112112
t.Run(testCase.title, func(t *testing.T) {
113-
tableName, err := strategy.GenerateTableName(testCase.input)
113+
tableName, err := postgres.GenerateTableName(testCase.input)
114114

115115
assert.NoError(t, err)
116116
assert.Equal(t, testCase.output, tableName)
@@ -119,7 +119,7 @@ func TestGenerateTableName(t *testing.T) {
119119
})
120120

121121
t.Run("Empty stream names are not supported", func(t *testing.T) {
122-
tableName, err := strategy.GenerateTableName("")
122+
tableName, err := postgres.GenerateTableName("")
123123

124124
asserts := assert.New(t)
125125
asserts.Empty(tableName)
@@ -133,26 +133,26 @@ func TestGenerateTableName(t *testing.T) {
133133
func TestColumnNames(t *testing.T) {
134134
expectedColumns := []string{"event_id", "event_name", "payload", "metadata", "aggregate_type", "aggregate_id", "aggregate_version", "created_at"}
135135

136-
strategy, err := strategy.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
136+
strategy, err := postgres.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
137137
require.NoError(t, err)
138138

139139
t.Run("get expected columns", func(t *testing.T) {
140-
cols := strategy.InsertColumnNames()
140+
cols := postgres.InsertColumnNames()
141141

142142
assert.Equal(t, cols, expectedColumns)
143143
})
144144

145145
t.Run("cannot modify data", func(t *testing.T) {
146-
assert.Equal(t, strategy.InsertColumnNames(), expectedColumns)
146+
assert.Equal(t, postgres.InsertColumnNames(), expectedColumns)
147147
})
148148
}
149149

150150
func TestCreateSchema(t *testing.T) {
151-
strategy, err := strategy.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
151+
strategy, err := postgres.NewSingleStreamStrategy(&mocks.MessagePayloadConverter{})
152152
require.NoError(t, err)
153153

154154
t.Run("output statement elements count", func(t *testing.T) {
155-
cs := strategy.CreateSchema("abc")
155+
cs := postgres.CreateSchema("abc")
156156

157157
assert.Equal(t, 3, len(cs))
158158
assert.Contains(t, cs[0], `CREATE TABLE "abc"`)
@@ -194,10 +194,10 @@ func TestPrepareData(t *testing.T) {
194194
)
195195
}
196196

197-
strategy, err := strategy.NewSingleStreamStrategy(pc)
197+
strategy, err := postgres.NewSingleStreamStrategy(pc)
198198
require.NoError(t, err)
199199

200-
data, err := strategy.PrepareData(messages)
200+
data, err := postgres.PrepareData(messages)
201201

202202
assert.NoError(t, err)
203203
assert.Equal(t, expectedColumns, data)
@@ -223,10 +223,10 @@ func TestPrepareData(t *testing.T) {
223223
pc := mocks.NewMessagePayloadConverter(ctrl)
224224
pc.EXPECT().ConvertPayload(payload).Return("PayloadFirst", nil, expectedErr).Times(1)
225225

226-
strategy, err := strategy.NewSingleStreamStrategy(pc)
226+
strategy, err := postgres.NewSingleStreamStrategy(pc)
227227
require.NoError(t, err)
228228

229-
data, err := strategy.PrepareData(messages)
229+
data, err := postgres.PrepareData(messages)
230230

231231
assert.Error(t, expectedErr, err)
232232
assert.Nil(t, data)

0 commit comments

Comments
 (0)