packages/sql-catalog/tests/Unit/Core/Catalog/FindingTest.php

1<?php
2
3declare(strict_types=1);
4
5namespace Tests\Unit\Core\Catalog;
6
7use PHPUnit\Framework\Attributes\CoversClass;
8use PHPUnit\Framework\Attributes\UsesClass;
9use PHPUnit\Framework\TestCase;
10use SqlCatalog\Core\Catalog\Finding;
11use SqlCatalog\Core\Catalog\FindingRule;
12use SqlCatalog\Core\Catalog\Severity;
13
14#[CoversClass(Finding::class)]
15#[UsesClass(FindingRule::class)]
16#[UsesClass(Severity::class)]
17final class FindingTest extends TestCase
18{
19    public function testOfTakesTheSeverityOfTheRule(): void
20    {
21        $finding = Finding::of(FindingRule::ExternalInput, 'a message');
22        self::assertSame(Severity::High, $finding->severity);
23        self::assertSame('a message', $finding->message);
24    }
25
26    public function testTheSeverityCanBeStatedOutright(): void
27    {
28        $finding = new Finding(FindingRule::DynamicSql, Severity::Low, 'a message');
29        self::assertSame(Severity::Low, $finding->severity);
30    }
31}
32