Add extensive Pest tests for workspace context security covering: - WorkspaceContext resolution from headers and authentication - Automatic workspace scoping for queries - MissingWorkspaceContextException handling - Workspace boundary enforcement - Cross-workspace data isolation and query prevention - Context injection via middleware - Edge cases including concurrent contexts and request isolation Also update Pest.php to include src/Mcp/Tests/Unit directory. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Pest Configuration
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Configure Pest testing framework for the core-mcp package.
|
|
| This file binds test traits to test cases and provides helper functions.
|
|
|
|
|
*/
|
|
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
use Tests\TestCase;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Test Case
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The closure passed to the "uses()" method binds an abstract test case
|
|
| to all Feature and Unit tests. The TestCase class provides a bridge
|
|
| between Laravel's testing utilities and Pest's expressive syntax.
|
|
|
|
|
*/
|
|
|
|
uses(TestCase::class)->in('Feature', 'Unit', '../src/Mcp/Tests/Unit');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Database Refresh
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Apply RefreshDatabase to Feature tests that need a clean database state.
|
|
| Unit tests typically don't require database access.
|
|
|
|
|
*/
|
|
|
|
uses(RefreshDatabase::class)->in('Feature', '../src/Mcp/Tests/Unit');
|