mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-19 00:01:06 +02:00
stream: slot and FES should not be created if the publication creation fails (#2704)
* slot should not be created if the publication creation fails * not create FES resource when slot doesn't exist
This commit is contained in:
@@ -41,6 +41,10 @@ var (
|
||||
fesUser string = fmt.Sprintf("%s%s", constants.EventStreamSourceSlotPrefix, constants.UserRoleNameSuffix)
|
||||
slotName string = fmt.Sprintf("%s_%s_%s", constants.EventStreamSourceSlotPrefix, dbName, strings.Replace(appId, "-", "_", -1))
|
||||
|
||||
fakeCreatedSlots map[string]map[string]string = map[string]map[string]string{
|
||||
slotName: {},
|
||||
}
|
||||
|
||||
pg = acidv1.Postgresql{
|
||||
TypeMeta: metav1.TypeMeta{
|
||||
Kind: "Postgresql",
|
||||
@@ -222,7 +226,7 @@ func TestGenerateFabricEventStream(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
|
||||
// create the streams
|
||||
err = cluster.createOrUpdateStreams()
|
||||
err = cluster.createOrUpdateStreams(fakeCreatedSlots)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// compare generated stream with expected stream
|
||||
@@ -248,7 +252,7 @@ func TestGenerateFabricEventStream(t *testing.T) {
|
||||
}
|
||||
|
||||
// sync streams once again
|
||||
err = cluster.createOrUpdateStreams()
|
||||
err = cluster.createOrUpdateStreams(fakeCreatedSlots)
|
||||
assert.NoError(t, err)
|
||||
|
||||
streams, err = cluster.KubeClient.FabricEventStreams(namespace).List(context.TODO(), listOptions)
|
||||
@@ -397,7 +401,7 @@ func TestUpdateFabricEventStream(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
|
||||
// now create the stream
|
||||
err = cluster.createOrUpdateStreams()
|
||||
err = cluster.createOrUpdateStreams(fakeCreatedSlots)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// change specs of streams and patch CRD
|
||||
@@ -419,7 +423,7 @@ func TestUpdateFabricEventStream(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
|
||||
cluster.Postgresql.Spec = pgPatched.Spec
|
||||
err = cluster.createOrUpdateStreams()
|
||||
err = cluster.createOrUpdateStreams(fakeCreatedSlots)
|
||||
assert.NoError(t, err)
|
||||
|
||||
// compare stream returned from API with expected stream
|
||||
@@ -448,7 +452,7 @@ func TestUpdateFabricEventStream(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
|
||||
cluster.Postgresql.Spec = pgPatched.Spec
|
||||
err = cluster.createOrUpdateStreams()
|
||||
err = cluster.createOrUpdateStreams(fakeCreatedSlots)
|
||||
assert.NoError(t, err)
|
||||
|
||||
result = cluster.generateFabricEventStream(appId)
|
||||
@@ -466,7 +470,7 @@ func TestUpdateFabricEventStream(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
|
||||
cluster.Postgresql.Spec = pgUpdated.Spec
|
||||
cluster.createOrUpdateStreams()
|
||||
cluster.createOrUpdateStreams(fakeCreatedSlots)
|
||||
|
||||
streamList, err := cluster.KubeClient.FabricEventStreams(namespace).List(context.TODO(), listOptions)
|
||||
if len(streamList.Items) > 0 || err != nil {
|
||||
|
||||
Reference in New Issue
Block a user