fix: improve performance by reducing full table scans (#4684)

* use instance id on update in projections

* create index on domain in instance_domain projection

* add missing instanceID filter to app queries
This commit is contained in:
Livio Spring
2022-11-10 11:59:33 +01:00
committed by GitHub
parent ac66a54df9
commit 78ae64471a
71 changed files with 683 additions and 399 deletions

View File

@@ -23,7 +23,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
want wantReduce
}{
{
name: "org.reduceAdded",
name: "org reduceAdded",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyAddedEventType),
@@ -67,7 +67,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceChanged",
name: "org reduceChanged",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyChangedEventType),
@@ -83,7 +83,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_primary_color, light_background_color, light_warn_color, light_font_color) = ($1, $2, $3, $4, $5, $6) WHERE (id = $7) AND (state = $8)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_primary_color, light_background_color, light_warn_color, light_font_color) = ($1, $2, $3, $4, $5, $6) WHERE (id = $7) AND (state = $8) AND (instance_id = $9)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
@@ -93,6 +93,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
"#ffffff",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -100,7 +101,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceRemoved",
name: "org reduceRemoved",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyRemovedEventType),
@@ -116,9 +117,10 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "DELETE FROM projections.label_policies WHERE (id = $1)",
expectedStmt: "DELETE FROM projections.label_policies WHERE (id = $1) AND (instance_id = $2)",
expectedArgs: []interface{}{
"agg-id",
"instance-id",
},
},
},
@@ -126,7 +128,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceInstanceRemoved",
name: "instance reduceInstanceRemoved",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.InstanceRemovedEventType),
@@ -152,7 +154,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceActivated",
name: "org reduceActivated",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyActivatedEventType),
@@ -183,7 +185,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceLogoAdded light",
name: "org reduceLogoAdded light",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyLogoAddedEventType),
@@ -199,13 +201,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/logo.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -213,7 +216,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceLogoAdded dark",
name: "org reduceLogoAdded dark",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyLogoDarkAddedEventType),
@@ -229,13 +232,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/logo.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -243,7 +247,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceIconAdded light",
name: "org reduceIconAdded light",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyIconAddedEventType),
@@ -259,13 +263,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/icon.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -273,7 +278,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceIconAdded dark",
name: "org reduceIconAdded dark",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyIconDarkAddedEventType),
@@ -289,13 +294,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/icon.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -303,7 +309,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceLogoRemoved light",
name: "org reduceLogoRemoved light",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyLogoRemovedEventType),
@@ -319,13 +325,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -333,7 +340,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceLogoRemoved dark",
name: "org reduceLogoRemoved dark",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyLogoDarkRemovedEventType),
@@ -349,13 +356,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -363,7 +371,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceIconRemoved light",
name: "org reduceIconRemoved light",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyIconRemovedEventType),
@@ -379,13 +387,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -393,7 +402,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceIconRemoved dark",
name: "org reduceIconRemoved dark",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyIconDarkRemovedEventType),
@@ -409,13 +418,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -423,7 +433,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceFontAdded",
name: "org reduceFontAdded",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyFontAddedEventType),
@@ -439,13 +449,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/font.ttf",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -453,7 +464,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceFontRemoved",
name: "org reduceFontRemoved",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyFontRemovedEventType),
@@ -469,13 +480,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -483,7 +495,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "org.reduceAssetsRemoved",
name: "org reduceAssetsRemoved",
args: args{
event: getEvent(testEvent(
repository.EventType(org.LabelPolicyAssetsRemovedEventType),
@@ -499,7 +511,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url, light_icon_url, dark_logo_url, dark_icon_url, font_url) = ($1, $2, $3, $4, $5, $6, $7) WHERE (id = $8) AND (state = $9)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url, light_icon_url, dark_logo_url, dark_icon_url, font_url) = ($1, $2, $3, $4, $5, $6, $7) WHERE (id = $8) AND (state = $9) AND (instance_id = $10)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
@@ -510,6 +522,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -517,7 +530,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceAdded",
name: "instance reduceAdded",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyAddedEventType),
@@ -561,7 +574,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceChanged",
name: "instance reduceChanged",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyChangedEventType),
@@ -577,7 +590,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_primary_color, light_background_color, light_warn_color, light_font_color, dark_primary_color, dark_background_color, dark_warn_color, dark_font_color, hide_login_name_suffix, should_error_popup, watermark_disabled) = ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) WHERE (id = $14) AND (state = $15)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_primary_color, light_background_color, light_warn_color, light_font_color, dark_primary_color, dark_background_color, dark_warn_color, dark_font_color, hide_login_name_suffix, should_error_popup, watermark_disabled) = ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) WHERE (id = $14) AND (state = $15) AND (instance_id = $16)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
@@ -594,6 +607,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
true,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -601,7 +615,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceActivated",
name: "instance reduceActivated",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyActivatedEventType),
@@ -632,7 +646,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceLogoAdded light",
name: "instance reduceLogoAdded light",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyLogoAddedEventType),
@@ -648,13 +662,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/logo.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -662,7 +677,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceLogoAdded dark",
name: "instance reduceLogoAdded dark",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyLogoDarkAddedEventType),
@@ -678,13 +693,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/logo.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -692,7 +708,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceIconAdded light",
name: "instance reduceIconAdded light",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyIconAddedEventType),
@@ -708,13 +724,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/icon.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -722,7 +739,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceIconAdded dark",
name: "instance reduceIconAdded dark",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyIconDarkAddedEventType),
@@ -738,13 +755,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/icon.png",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -752,7 +770,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceLogoRemoved light",
name: "instance reduceLogoRemoved light",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyLogoRemovedEventType),
@@ -768,13 +786,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -782,7 +801,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceLogoRemoved dark",
name: "instance reduceLogoRemoved dark",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyLogoDarkRemovedEventType),
@@ -798,13 +817,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_logo_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -812,7 +832,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceIconRemoved light",
name: "instance reduceIconRemoved light",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyIconRemovedEventType),
@@ -828,13 +848,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -842,7 +863,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceIconRemoved dark",
name: "instance reduceIconRemoved dark",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyIconDarkRemovedEventType),
@@ -858,13 +879,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, dark_icon_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -872,7 +894,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceFontAdded",
name: "instance reduceFontAdded",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyFontAddedEventType),
@@ -888,13 +910,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
"/path/to/font.ttf",
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -902,7 +925,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceFontRemoved",
name: "instance reduceFontRemoved",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyFontRemovedEventType),
@@ -918,13 +941,14 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, font_url) = ($1, $2, $3) WHERE (id = $4) AND (state = $5) AND (instance_id = $6)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},
@@ -932,7 +956,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
},
},
{
name: "instance.reduceAssetsRemoved",
name: "instance reduceAssetsRemoved",
args: args{
event: getEvent(testEvent(
repository.EventType(instance.LabelPolicyAssetsRemovedEventType),
@@ -948,7 +972,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
executer: &testExecuter{
executions: []execution{
{
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url, light_icon_url, dark_logo_url, dark_icon_url, font_url) = ($1, $2, $3, $4, $5, $6, $7) WHERE (id = $8) AND (state = $9)",
expectedStmt: "UPDATE projections.label_policies SET (change_date, sequence, light_logo_url, light_icon_url, dark_logo_url, dark_icon_url, font_url) = ($1, $2, $3, $4, $5, $6, $7) WHERE (id = $8) AND (state = $9) AND (instance_id = $10)",
expectedArgs: []interface{}{
anyArg{},
uint64(15),
@@ -959,6 +983,7 @@ func TestLabelPolicyProjection_reduces(t *testing.T) {
nil,
"agg-id",
domain.LabelPolicyStatePreview,
"instance-id",
},
},
},