postgresql 使用postgres Pgtap和逻辑运算符

vmjh9lq9  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(142)

我正在使用pgtap和supabase test helpers测试我的数据库表
我有一个表posts,它有一个creator uuid和一个published boolean字段。我的行级策略检查帖子的创建者总是被允许查看它,无论是否发布。匿名用户只允许看到发布后的帖子。这按预期工作。
如何使用pgtap测试此行为?我尝试使用is(),但这只允许我检查两个约束中的一个,而不是使用OR将两者合并起来。
我需要类似的东西:is(creator, tests.get_supabase_uid('test_owner') -> 'id') OR is(published, true) FROM posts

uqcuzwp8

uqcuzwp81#

有第三方指南可用于测试supabase RLS策略here
查看“测试您的RLS策略”部分
它引用了supabase-test-helpers,但如果你不想使用它,你可以复制你需要的函数。

相关问题