* Versioned REST API under /api/v1 * Published Pages API * Published Blog API * Published News API * Secure bearer API tokens * SHA-256 token storage * Token abilities * Token expiry and revocation * Token usage tracking * Webhook subscriptions * Site-specific webhooks * HMAC-SHA256 webhook signatures * Webhook delivery history * Failure tracking * OpenAPI 3.1 JSON documentation * API administration screen * Administration navigation * API permissions * Module registration * Feature tests
4 lines
525 B
PHP
4 lines
525 B
PHP
<?php
|
|
use Modules\Api\Models\ApiToken;
|
|
it('boots the api module',fn()=>expect(app()->providerIsLoaded(Modules\Api\Providers\ApiServiceProvider::class))->toBeTrue());it('hashes issued api tokens',function():void{$u=App\Models\User::factory()->create();[$t,$plain]=ApiToken::issue($u,'Test',['content.read']);expect($t->getRawOriginal('token'))->toBe(hash('sha256',$plain))->not->toBe($plain);});it('publishes openapi documentation',fn()=>$this->getJson('/api/v1/openapi.json')->assertOk()->assertJsonPath('openapi','3.1.0'));
|