Skip to content

Commit

Permalink
test: single table migration as transaction (#736)
Browse files Browse the repository at this point in the history
  • Loading branch information
zepatrik authored Sep 28, 2021
1 parent 9f3e8c6 commit 9eda48c
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion internal/persistence/sql/migrations/single_table_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,12 @@ func TestToSingleTableMigrator(t *testing.T) {
t.Run("case=non-deserializable tuple", func(t *testing.T) {
n := setup(t)

valid := &relationtuple.InternalRelationTuple{
Namespace: n.Name,
Object: "o1",
Relation: "r",
Subject: &relationtuple.SubjectID{ID: "s"},
}
require.NoError(t, m.insertOldRelationTuples(ctx, n, &relationtuple.InternalRelationTuple{
Namespace: n.Name,
Object: "o0",
Expand All @@ -136,12 +142,19 @@ func TestToSingleTableMigrator(t *testing.T) {
Object: "o1",
Relation: "r",
Subject: &relationtuple.SubjectID{ID: "invalid#subject-id"},
}))
}, valid))
err := m.MigrateNamespace(ctx, n)
require.Error(t, err)
invalid, ok := err.(ErrInvalidTuples)
require.True(t, ok)
assert.Len(t, invalid, 2)

rts, next, err := r.Persister().GetRelationTuples(ctx, &relationtuple.RelationQuery{
Namespace: n.Name,
})
require.NoError(t, err)
require.Equal(t, "", next)
assert.Equal(t, []*relationtuple.InternalRelationTuple{valid}, rts)
})
})
}
Expand Down

0 comments on commit 9eda48c

Please sign in to comment.