Merge 6c1f75e7c1 into 1af4c50ed0
This commit is contained in:
commit
ca71a5bfb5
|
|
@ -2,6 +2,7 @@ package cluster
|
|||
|
||||
import (
|
||||
"context"
|
||||
"crypto/sha1"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"reflect"
|
||||
|
|
@ -330,7 +331,11 @@ func getOutboxTable(tableName string, idColumn *string) zalandov1.EventStreamTab
|
|||
}
|
||||
|
||||
func getSlotName(dbName, appId string) string {
|
||||
return fmt.Sprintf("%s_%s_%s", constants.EventStreamSourceSlotPrefix, dbName, strings.Replace(appId, "-", "_", -1))
|
||||
name := fmt.Sprintf("%s_%s_%s", constants.EventStreamSourceSlotPrefix, dbName, strings.Replace(appId, "-", "_", -1))
|
||||
if len(name) > 63 {
|
||||
name = fmt.Sprintf("%s_%x", constants.EventStreamSourceSlotPrefix, sha1.Sum([]byte(name)))
|
||||
}
|
||||
return name
|
||||
}
|
||||
|
||||
func (c *Cluster) getStreamConnection(database, user, appId string) zalandov1.Connection {
|
||||
|
|
|
|||
|
|
@ -889,3 +889,27 @@ func TestDeleteStreams(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.Equalf(t, 0, len(streams.Items), "unexpected number of streams found: got %d, but expected none", len(streams.Items))
|
||||
}
|
||||
|
||||
func TestSlotNameWithinMaxLength(t *testing.T) {
|
||||
dbName := "testdb"
|
||||
appId := "test-app"
|
||||
expected := constants.EventStreamSourceSlotPrefix + "_testdb_test_app"
|
||||
result := getSlotName(dbName, appId)
|
||||
assert.Equal(t, expected, result)
|
||||
}
|
||||
|
||||
func TestSlotNameExceedsMaxLength(t *testing.T) {
|
||||
dbName := "testdb"
|
||||
appId := "this-is-a-very-long-application-id-that-will-exceed-the-maximum-length"
|
||||
expected := constants.EventStreamSourceSlotPrefix + "_5a300d179c894b672b35bac212eab875d4c4145a"
|
||||
result := getSlotName(dbName, appId)
|
||||
assert.Equal(t, expected, result)
|
||||
}
|
||||
|
||||
func TestSlotNameWithHyphens(t *testing.T) {
|
||||
dbName := "testdb"
|
||||
appId := "test-app-with-hyphens"
|
||||
expected := constants.EventStreamSourceSlotPrefix + "_testdb_test_app_with_hyphens"
|
||||
result := getSlotName(dbName, appId)
|
||||
assert.Equal(t, expected, result)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue