1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 05:14:03 +00:00

Use tenant id instead of getTenantKey()

This commit is contained in:
lukinovec 2025-06-09 14:04:15 +02:00
parent df0d96f9bf
commit f68ead8e38

View file

@ -196,9 +196,9 @@ test('queries are correctly scoped using RLS', function (
$post1 = Post::create([ $post1 = Post::create([
'text' => 'first post', 'text' => 'first post',
'tenant_id' => $tenant1->getTenantKey(), 'tenant_id' => $tenant1->id,
'author_id' => Author::create(['name' => 'author1', 'tenant_id' => $tenant1->getTenantKey()])->id, 'author_id' => Author::create(['name' => 'author1', 'tenant_id' => $tenant1->id])->id,
'category_id' => Category::create(['name' => 'category1', 'tenant_id' => $tenant1->getTenantKey()])->id, 'category_id' => Category::create(['name' => 'category1', 'tenant_id' => $tenant1->id])->id,
]); ]);
$post1Comment = Comment::create(['text' => 'first comment', 'post_id' => $post1->id]); $post1Comment = Comment::create(['text' => 'first comment', 'post_id' => $post1->id]);
@ -209,9 +209,9 @@ test('queries are correctly scoped using RLS', function (
$post2 = Post::create([ $post2 = Post::create([
'text' => 'second post', 'text' => 'second post',
'tenant_id' => $tenant2->getTenantKey(), 'tenant_id' => $tenant2->id,
'author_id' => Author::create(['name' => 'author2', 'tenant_id' => $tenant2->getTenantKey()])->id, 'author_id' => Author::create(['name' => 'author2', 'tenant_id' => $tenant2->id])->id,
'category_id' => Category::create(['name' => 'category2', 'tenant_id' => $tenant2->getTenantKey()])->id 'category_id' => Category::create(['name' => 'category2', 'tenant_id' => $tenant2->id])->id
]); ]);
$post2Comment = Comment::create(['text' => 'second comment', 'post_id' => $post2->id]); $post2Comment = Comment::create(['text' => 'second comment', 'post_id' => $post2->id]);
@ -327,7 +327,7 @@ test('queries are correctly scoped using RLS', function (
expect(Note::count())->toBe(1); expect(Note::count())->toBe(1);
// Directly inserting records to other tenant's tables should fail (insufficient privilege error new row violates row-level security policy) // Directly inserting records to other tenant's tables should fail (insufficient privilege error new row violates row-level security policy)
expect(fn () => DB::statement("INSERT INTO posts (text, author_id, category_id, tenant_id) VALUES ('third post', 1, 1, '{$tenant1->getTenantKey()}')")) expect(fn () => DB::statement("INSERT INTO posts (text, author_id, category_id, tenant_id) VALUES ('third post', 1, 1, '{$tenant1->id}')"))
->toThrow(QueryException::class); ->toThrow(QueryException::class);
expect(fn () => DB::statement("INSERT INTO comments (text, post_id) VALUES ('third comment', {$post1->id})")) expect(fn () => DB::statement("INSERT INTO comments (text, post_id) VALUES ('third comment', {$post1->id})"))
@ -496,7 +496,7 @@ test('forceRls prevents even the table owner from querying his own tables if he
// Create RLS policy for the orders table // Create RLS policy for the orders table
pest()->artisan('tenants:rls'); pest()->artisan('tenants:rls');
$tenant1->run(fn () => Order::create(['name' => 'order1', 'tenant_id' => $tenant1->getTenantKey()])); $tenant1->run(fn () => Order::create(['name' => 'order1', 'tenant_id' => $tenant1->id]));
// We are still using the 'administrator' user - owner of the orders table // We are still using the 'administrator' user - owner of the orders table
@ -543,7 +543,7 @@ test('users with BYPASSRLS privilege can bypass RLS regardless of forceRls setti
// Create RLS policy for the orders table // Create RLS policy for the orders table
pest()->artisan('tenants:rls'); pest()->artisan('tenants:rls');
$tenant1->run(fn () => Order::create(['name' => 'order1', 'tenant_id' => $tenant1->getTenantKey()])); $tenant1->run(fn () => Order::create(['name' => 'order1', 'tenant_id' => $tenant1->id]));
// We are still using the 'administrator' user // We are still using the 'administrator' user