Skip to content

Commit

Permalink
tests: more tests added
Browse files Browse the repository at this point in the history
  • Loading branch information
kamarton committed Aug 28, 2024
1 parent 2469005 commit 934028c
Show file tree
Hide file tree
Showing 2 changed files with 93 additions and 32 deletions.
79 changes: 47 additions & 32 deletions tests/Matchers/ETagMatcherTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,44 +34,36 @@ public function testIsMatchWithNullEtag(): void
{
$ETagCondition = (new ETagMatcher())
->withHeaders(['If-Match' => '"123456"']);
$this->assertFalse(
$ETagCondition
->matches(null)
->matchesIfMatchHeader()
);
$matches = $ETagCondition->matches(null);
$this->assertFalse($matches->matchesIfMatchHeader());
$this->assertTrue($matches->notMatchesIfMatchHeader());
}

public function testIsNoneMatchWithNullEtag(): void
{
$ETagCondition = (new ETagMatcher())
->withHeaders(['If-None-Match' => '"123456"']);
$this->assertFalse(
$ETagCondition
->matches(null)
->matchesIfNoneMatchHeader()
);
$matches = $ETagCondition->matches(null);
$this->assertFalse($matches->matchesIfNoneMatchHeader());
$this->assertTrue($matches->notMatchesIfNoneMatchHeader());
}

public function testIsNoneMatchFail(): void
{
$ETagCondition = (new ETagMatcher())
->withHeaders(['If-None-Match' => '"123456"']);
$this->assertFalse(
$ETagCondition
->matches('"1234567"')
->matchesIfNoneMatchHeader()
);
$matches = $ETagCondition->matches('"1234567"');
$this->assertFalse($matches->matchesIfNoneMatchHeader());
$this->assertTrue($matches->notMatchesIfNoneMatchHeader());
}

public function testIsMatchFail(): void
{
$ETagCondition = (new ETagMatcher())
->withHeaders(['If-Match' => '"123456"']);
$this->assertFalse(
$ETagCondition
->matches('"1234567"')
->matchesIfMatchHeader()
);
$matches = $ETagCondition->matches('"1234567"');
$this->assertFalse($matches->matchesIfMatchHeader());
$this->assertTrue($matches->notMatchesIfMatchHeader());
}

public function testMatchWithETagHeaderBuilder(): void
Expand All @@ -81,17 +73,40 @@ public function testMatchWithETagHeaderBuilder(): void
->withWeekEtag();
$etag = $ETagHeaderBuilder->getETag();
$ETagCondition = new ETagMatcher();
$this->assertTrue(
$ETagCondition
->withHeaders(['If-Match' => $etag])
->matches($etag)
->matchesIfMatchHeader()
);
$this->assertTrue(
$ETagCondition
->withHeaders(['If-None-Match' => $etag])
->matches($etag)
->matchesIfNoneMatchHeader()
);
$matchesIfMatch = $ETagCondition
->withHeaders(['If-Match' => $etag])
->matches($etag);
$this->assertTrue($matchesIfMatch->matchesIfMatchHeader());
$this->assertFalse($matchesIfMatch->notMatchesIfMatchHeader());

$matchesIfNoneMatch = $ETagCondition
->withHeaders(['If-None-Match' => $etag])
->matches($etag);
$this->assertTrue($matchesIfNoneMatch->matchesIfNoneMatchHeader());
$this->assertFalse($matchesIfNoneMatch->notMatchesIfNoneMatchHeader());
}

public function testIfMatchHeader(): void
{
$matcher = new ETagMatcher();
$matcher2 = $matcher->withIfMatchHeader('"123"');
$this->assertFalse($matcher->hasIfMatchHeader());
$this->assertTrue($matcher2->hasIfMatchHeader());
$this->assertSame('"123"', $matcher2->getIfMatchHeader());
$matcher->ifMatchHeader('"456"');
$this->assertTrue($matcher->hasIfMatchHeader());
$this->assertSame('"456"', $matcher->getIfMatchHeader());
}

public function testIfNoneMatchHeader(): void
{
$matcher = new ETagMatcher();
$matcher2 = $matcher->withIfNoneMatchHeaderValue('"123"');
$this->assertFalse($matcher->hasIfNoneMatchHeader());
$this->assertTrue($matcher2->hasIfNoneMatchHeader());
$this->assertSame('"123"', $matcher2->getIfNoneMatchHeader());
$matcher->ifNoneMatchHeaderValue('"456"');
$this->assertTrue($matcher->hasIfNoneMatchHeader());
$this->assertSame('"456"', $matcher->getIfNoneMatchHeader());
}
}
46 changes: 46 additions & 0 deletions tests/Matchers/ModifiedMatcherTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,28 @@ public function testHeaderAsTimestamp(array $headers,
$this->assertSame($expectedIfUnmodifiedSinceAsTimestamp, $matcher->getIfUnmodifiedSinceHeaderAsTimestamp());
}

public function testGetModifiedSinceHeaderAsTimestampInvalidValue(): void
{
$matcher = (new ModifiedMatcher())->headers([
'If-Modified-Since' => 'apple',
]);

$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('Invalid If-Modified-Since header value');
$matcher->getIfModifiedSinceHeaderAsTimestamp();
}

public function testGetUnmodifiedSinceHeaderAsTimestampInvalidValue(): void
{
$matcher = (new ModifiedMatcher())->headers([
'If-Unmodified-Since' => 'apple',
]);

$this->expectException(\RuntimeException::class);
$this->expectExceptionMessage('Invalid If-Unmodified-Since header value');
$matcher->getIfUnmodifiedSinceHeaderAsTimestamp();
}

public function testMatchesIfModifiedSince(): void
{
$matcher = (new ModifiedMatcher())->headers([
Expand Down Expand Up @@ -96,4 +118,28 @@ public function testMatchesIfUnmodifiedSince(): void
$this->assertFalse($matcher->matches($dtAfter)->isUnmodifiedSince());
$this->assertFalse($matcher->matches($dtEq)->isModifiedSince());
}

public function testIfModifiedSinceHeader(): void
{
$matcher = new ModifiedMatcher();
$matcher2 = $matcher->withIfModifiedSinceHeader('Tue, 15 Nov 1994 12:45:26 GMT');
$this->assertFalse($matcher->hasIfModifiedSinceHeader());
$this->assertTrue($matcher2->hasIfModifiedSinceHeader());
$this->assertSame('Tue, 15 Nov 1994 12:45:26 GMT', $matcher2->getIfModifiedSinceHeader());
$matcher->ifModifiedSinceHeader('Wed, 16 Nov 1994 12:45:26 GMT');
$this->assertTrue($matcher->hasIfModifiedSinceHeader());
$this->assertSame('Wed, 16 Nov 1994 12:45:26 GMT', $matcher->getIfModifiedSinceHeader());
}

public function testIfUnmodifiedSinceHeader(): void
{
$matcher = new ModifiedMatcher();
$matcher2 = $matcher->withIfUnmodifiedSinceHeader('Tue, 15 Nov 1994 12:45:26 GMT');
$this->assertFalse($matcher->hasIfUnmodifiedSinceHeader());
$this->assertTrue($matcher2->hasIfUnmodifiedSinceHeader());
$this->assertSame('Tue, 15 Nov 1994 12:45:26 GMT', $matcher2->getIfUnmodifiedSinceHeader());
$matcher->ifUnmodifiedSinceHeader('Wed, 16 Nov 1994 12:45:26 GMT');
$this->assertTrue($matcher->hasIfUnmodifiedSinceHeader());
$this->assertSame('Wed, 16 Nov 1994 12:45:26 GMT', $matcher->getIfUnmodifiedSinceHeader());
}
}

0 comments on commit 934028c

Please sign in to comment.