Skip to content

Commit

Permalink
Merge pull request #208 from NIT-Administrative-Systems/shift-109588
Browse files Browse the repository at this point in the history
PHPUnit 10 Shift
  • Loading branch information
nie7321 authored Feb 6, 2024
2 parents 080f010 + f4ea814 commit f2948fb
Show file tree
Hide file tree
Showing 13 changed files with 69 additions and 60 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/phpunit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

strategy:
matrix:
php-versions: ['7.4', '8.0', '8.1', '8.2', '8.3']
php-versions: ['8.1', '8.2', '8.3']

steps:
- uses: actions/checkout@v2
Expand Down
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/vendor/
/.phpunit.result.cache
/composer.lock
/.phpunit.cache
/composer.lock
/.phpunit.result.cache
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
# CHANGELOG
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
### Changed
- Support for PHP 7.4 and 8.0 has been dropped. Please use v2.0.0 if you need to use this with an older version of PHP.

## v2.0.0
There are **no breaking changes** to the library, but the minimum PHP version is now 7.4.
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@
}
],
"require": {
"php": ">=7.4",
"php": ">=8.0",
"guzzlehttp/guzzle": "^7.0"
},
"require-dev": {
"phpunit/phpunit": "^9",
"phpunit/phpunit": "^10.0",
"phpstan/phpstan": "^0.12",
"php-coveralls/php-coveralls": "^2.4"
},
Expand Down
14 changes: 7 additions & 7 deletions phpunit.xml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" backupStaticAttributes="false" bootstrap="vendor/autoload.php" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
<coverage includeUncoveredFiles="true">
<include>
<directory suffix=".php">./src</directory>
</include>
</coverage>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" backupGlobals="false" bootstrap="vendor/autoload.php" colors="true" processIsolation="false" stopOnFailure="false" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" cacheDirectory=".phpunit.cache" backupStaticProperties="false">
<testsuites>
<testsuite name="Test Suite">
<directory suffix=".php">./tests</directory>
<directory suffix=".php">./tests/Unit</directory>
</testsuite>
</testsuites>
<source>
<include>
<directory suffix=".php">./src</directory>
</include>
</source>
</phpunit>
4 changes: 2 additions & 2 deletions tests/TestCase.php → tests/SdkBaseTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
use GuzzleHttp\Exception\RequestException;
use PHPUnit\Framework\TestCase as BaseTestCase;

abstract class TestCase extends BaseTestCase
abstract class SdkBaseTestCase extends BaseTestCase
{
protected $api;
protected $test_class;

public function setUp(): void
protected function setUp(): void
{
parent::setUp();

Expand Down
12 changes: 6 additions & 6 deletions tests/Unit/DeadLetterQueue.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

namespace Northwestern\SysDev\SOA\EventHub\Tests\Unit;

use Northwestern\SysDev\SOA\EventHub\Tests\TestCase;
use Northwestern\SysDev\SOA\EventHub\Tests\SdkBaseTestCase;

class DeadLetterQueue extends TestCase
final class DeadLetterQueue extends SdkBaseTestCase
{
protected $test_class = \Northwestern\SysDev\SOA\EventHub\DeadLetterQueue::class;

public function test_get_info()
public function test_get_info(): void
{
$response = '{"name":"etsysdev.test.queue.name.DLQ","realName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name.DLQ","eventHubAccount":"sysdev-test-acct","destinationType":"DLQ","queueStatistics":[{"label":"QueueSize","maximum":null,"minimum":null,"startTime":null,"sum":null,"current":null,"sampleSize":null,"average":null},{"label":"EnqueueCount","maximum":null,"minimum":null,"startTime":null,"sum":null,"current":null,"sampleSize":null,"average":null},{"label":"EnqueueTime","maximum":null,"minimum":null,"startTime":null,"sum":null,"current":null,"sampleSize":null,"average":null},{"label":"ExpiredCount","maximum":null,"minimum":null,"startTime":null,"sum":null,"current":null,"sampleSize":null,"average":null},{"label":"DispatchCount","maximum":null,"minimum":null,"startTime":null,"sum":null,"current":null,"sampleSize":null,"average":null},{"label":"DequeueCount","maximum":null,"minimum":null,"startTime":null,"sum":null,"current":null,"sampleSize":null,"average":null}]}';

Expand All @@ -23,15 +23,15 @@ public function test_get_info()
$this->assertEquals('etsysdev.test.queue.name.DLQ', $dlq['name']);
} // end test_get_info

public function test_move_to_dlq()
public function test_move_to_dlq(): void
{
$this->api->setHttpClient($this->mockHttpResponse(204, null));

$status = $this->api->moveToDLQ('etsysdev.test.queue.name', 'ID:1234:baz', 'etsysdev.test.queue.name');
$this->assertTrue($status);
} // end test_move_to_dlq

public function test_read_oldest()
public function test_read_oldest(): void
{
$response_id = 'ID:12345:baz';
$response_body = ['cool' => 'message'];
Expand All @@ -54,7 +54,7 @@ public function test_read_oldest()
$this->assertNull($message);
} // end test_read_oldest

public function test_move_from_dlq()
public function test_move_from_dlq(): void
{
$this->api->setHttpClient($this->mockHttpResponse(204, null));

Expand Down
10 changes: 5 additions & 5 deletions tests/Unit/DeliveredMessage.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@

namespace Northwestern\SysDev\SOA\EventHub\Tests\Unit;

use Northwestern\SysDev\SOA\EventHub\Tests\TestCase;
use Northwestern\SysDev\SOA\EventHub\Tests\SdkBaseTestCase;
use Northwestern\SysDev\SOA\EventHub\Model\DeliveredMessage as DeliveredMessageModel; // same name as the class, needs an alias to work

class DeliveredMessage extends TestCase
final class DeliveredMessage extends SdkBaseTestCase
{
public function test_opens_json_message()
public function test_opens_json_message(): void
{
$msg = new DeliveredMessageModel('ID:12345', '{"test": true}');

$this->assertArrayHasKey('test', $msg->getMessage());
} // end test_opens_json_message

public function test_raw_xml_available()
public function test_raw_xml_available(): void
{
$xml = '<?xml version="1.0" encoding="UTF-8"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Do the thing this weekend!</body></note>';
$msg = new DeliveredMessageModel('ID:12345', $xml);
Expand All @@ -23,7 +23,7 @@ public function test_raw_xml_available()
$this->assertEquals($xml, $msg->getRawMessage());
} // end test_raw_xml_available

public function test_has_message_id()
public function test_has_message_id(): void
{
$id = 'ID:12345';
$msg = new DeliveredMessageModel($id, '');
Expand Down
8 changes: 4 additions & 4 deletions tests/Unit/ErrorHandling.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

namespace Northwestern\SysDev\SOA\EventHub\Tests\Unit;

use Northwestern\SysDev\SOA\EventHub\Tests\TestCase;
use Northwestern\SysDev\SOA\EventHub\Tests\SdkBaseTestCase;

class ErrorHandling extends TestCase
final class ErrorHandling extends SdkBaseTestCase
{
// Doesn't matter, they all use EventHubBase, which is what we're testing.
protected $test_class = \Northwestern\SysDev\SOA\EventHub\Topic::class;

public function test_connection_problem()
public function test_connection_problem(): void
{
$this->expectException(\Northwestern\SysDev\SOA\EventHub\Exception\EventHubDown::class);

Expand All @@ -18,7 +18,7 @@ public function test_connection_problem()
$this->api->listAll();
} // end test_connection_problem

public function test_unauthorized_access()
public function test_unauthorized_access(): void
{
$this->expectException(\Northwestern\SysDev\SOA\EventHub\Exception\EventHubError::class);
$this->expectExceptionCode(500);
Expand Down
14 changes: 7 additions & 7 deletions tests/Unit/Message.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

namespace Northwestern\SysDev\SOA\EventHub\Tests\Unit;

use Northwestern\SysDev\SOA\EventHub\Tests\TestCase;
use Northwestern\SysDev\SOA\EventHub\Tests\SdkBaseTestCase;

class Message extends TestCase
final class Message extends SdkBaseTestCase
{
protected $test_class = \Northwestern\SysDev\SOA\EventHub\Message::class;

public function test_read_oldest()
public function test_read_oldest(): void
{
$response_id = 'ID:12345:baz';
$response_body = ['cool' => 'message'];
Expand All @@ -31,20 +31,20 @@ public function test_read_oldest()
$this->assertNull($message);
} // end test_read_oldest

public function test_acknowledge_oldest()
public function test_acknowledge_oldest(): void
{
$this->api->setHttpClient($this->mockHttpResponse(204, null));
$status = $this->api->acknowledgeOldest('etsysdev.test.queue.name');
$this->assertTrue($status);
} // end test_acknowledge_oldest

public function test_read()
public function test_read(): void
{
// Does not currently work in EventHub
$this->markTestIncomplete();
} // end test_read

public function test_acknowledge()
public function test_acknowledge(): void
{
// With fastForward arg
$this->api->setHttpClient($this->mockHttpResponse(204, null));
Expand All @@ -57,7 +57,7 @@ public function test_acknowledge()
$this->assertTrue($status);
} // end test_acknowledge

public function test_move()
public function test_move(): void
{
// With delay arg
$this->api->setHttpClient($this->mockHttpResponse(204, null));
Expand Down
16 changes: 8 additions & 8 deletions tests/Unit/Queue.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

namespace Northwestern\SysDev\SOA\EventHub\Tests\Unit;

use Northwestern\SysDev\SOA\EventHub\Tests\TestCase;
use Northwestern\SysDev\SOA\EventHub\Tests\SdkBaseTestCase;

class Queue extends TestCase
final class Queue extends SdkBaseTestCase
{
protected $test_class = \Northwestern\SysDev\SOA\EventHub\Queue::class;

public function test_list_all()
public function test_list_all(): void
{
$response = '[{"eventHubAccount":"sysdev-test-acct","topicName":"etsysdev.test.queue.name","readTimeout":1000,"autoAcknowledge":false,"queueRealName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","alertAddress":"nicholas.evans@northwestern.edu","queueStatistics":[{"label":"QueueSize","maximum":0,"minimum":0,"startTime":"2018-10-31T06:39:00","sum":null,"average":0,"current":0,"sampleSize":null},{"label":"EnqueueCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null},{"label":"EnqueueTime","maximum":2076194,"minimum":5738,"startTime":"2018-10-31T06:39:00","sum":null,"average":791356.4578313242,"current":null,"sampleSize":null},{"label":"ExpiredCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null},{"label":"DispatchCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null},{"label":"DequeueCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null}],"selfPublishingAllowed":true,"destinationType":"QUEUE","name":"etsysdev.test.queue.name","realName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","hasMessage":false,"dlqName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name.DLQ"}]';

Expand All @@ -23,7 +23,7 @@ public function test_list_all()
$this->assertEquals('etsysdev.test.queue.name', $queues[0]['topicName']);
} // end test_list_all

public function test_get_info()
public function test_get_info(): void
{
$response = '{"eventHubAccount":"sysdev-test-acct","topicName":"etsysdev.test.queue.name","readTimeout":1000,"autoAcknowledge":false,"queueRealName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","alertAddress":"nicholas.evans@northwestern.edu","queueStatistics":[{"label":"QueueSize","maximum":0,"minimum":0,"startTime":"2018-10-31T06:39:00","sum":null,"average":0,"current":0,"sampleSize":null},{"label":"EnqueueCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null},{"label":"EnqueueTime","maximum":2076194,"minimum":5738,"startTime":"2018-10-31T06:39:00","sum":null,"average":791356.4578313242,"current":null,"sampleSize":null},{"label":"ExpiredCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null},{"label":"DispatchCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null},{"label":"DequeueCount","maximum":null,"minimum":null,"startTime":"2018-10-31T06:39:00","sum":0,"average":null,"current":null,"sampleSize":null}],"selfPublishingAllowed":true,"destinationType":"QUEUE","name":"etsysdev.test.queue.name","realName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","hasMessage":false,"dlqName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name.DLQ"}';

Expand All @@ -38,15 +38,15 @@ public function test_get_info()
$this->assertEquals('etsysdev.test.queue.name', $queue['topicName']);
} // end test_get_info

public function test_clear_all_messages()
public function test_clear_all_messages(): void
{
$this->api->setHttpClient($this->mockHttpResponse(204, ''));
$status = $this->api->clearAllMessages('etsysdev.test.queue.name');

$this->assertTrue($status);
} // end test_clear_all_messages

public function test_configure()
public function test_configure(): void
{
$response = '{"eventHubAccount":"sysdev-test-acct","topicName":"etsysdev.test.queue.name","readTimeout":1000,"autoAcknowledge":false,"queueRealName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","alertAddress":"nicholas.evans@northwestern.edu","queueStatistics":[],"selfPublishingAllowed":true,"destinationType":"QUEUE","name":"etsysdev.test.queue.name","realName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","hasMessage":false,"dlqName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name.DLQ"}';

Expand All @@ -55,7 +55,7 @@ public function test_configure()
$this->assertEquals('etsysdev.test.queue.name', $queue['topicName']);
} // end test_configure

public function test_send_test_json_message()
public function test_send_test_json_message(): void
{
$response_id = 'ID:12345:baz';
$this->api->setHttpClient($this->mockHttpResponse(204, null, ['X-message-id' => $response_id]));
Expand All @@ -64,7 +64,7 @@ public function test_send_test_json_message()
$this->assertEquals($response_id, $message_id);
} // end test_send_test_json_message

public function test_send_test_message()
public function test_send_test_message(): void
{
$response_id = 'ID:12345:baz';
$this->api->setHttpClient($this->mockHttpResponse(204, null, ['X-message-id' => $response_id]));
Expand Down
14 changes: 7 additions & 7 deletions tests/Unit/Topic.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

namespace Northwestern\SysDev\SOA\EventHub\Tests\Unit;

use Northwestern\SysDev\SOA\EventHub\Tests\TestCase;
use Northwestern\SysDev\SOA\EventHub\Tests\SdkBaseTestCase;

class Topic extends TestCase
final class Topic extends SdkBaseTestCase
{
protected $test_class = \Northwestern\SysDev\SOA\EventHub\Topic::class;

public function test_list_all()
public function test_list_all(): void
{
$response = '[{"eventHubAccount":"sysdev-test-acct","topicName":"etsysdev.test.queue.name","readTimeout":1000,"autoAcknowledge":false,"queueRealName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","alertAddress":"nicholas.evans@northwestern.edu","queueStatistics":[{"label":"QueueSize","maximum":1,"minimum":0,"startTime":"2018-10-30T14:18:00","sum":null,"current":0,"sampleSize":null,"average":0.5},{"label":"EnqueueCount","maximum":null,"minimum":null,"startTime":"2018-10-30T14:18:00","sum":1,"current":null,"sampleSize":null,"average":null},{"label":"EnqueueTime","maximum":2076194,"minimum":5738,"startTime":"2018-10-30T14:18:00","sum":null,"current":null,"sampleSize":null,"average":784116.5967366379},{"label":"ExpiredCount","maximum":null,"minimum":null,"startTime":"2018-10-30T14:18:00","sum":1,"current":null,"sampleSize":null,"average":null},{"label":"DispatchCount","maximum":null,"minimum":null,"startTime":"2018-10-30T14:18:00","sum":9,"current":null,"sampleSize":null,"average":null},{"label":"DequeueCount","maximum":null,"minimum":null,"startTime":"2018-10-30T14:18:00","sum":1,"current":null,"sampleSize":null,"average":null}],"selfPublishingAllowed":true,"destinationType":"QUEUE","name":"etsysdev.test.queue.name","realName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","hasMessage":false,"dlqName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name.DLQ"}]';

Expand All @@ -23,7 +23,7 @@ public function test_list_all()
$this->assertEquals('etsysdev.test.queue.name', $queues[0]['topicName']);
} // end test_list_all

public function test_get_info()
public function test_get_info(): void
{
$response = '{"eventHubAccount":"sysdev-test-acct","topicName":"etsysdev.test.queue.name","readTimeout":1000,"autoAcknowledge":false,"queueRealName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","alertAddress":"nicholas.evans@northwestern.edu","queueStatistics":[{"label":"QueueSize","startTime":"2018-10-30T14:22:00","maximum":1,"minimum":0,"current":0,"sum":null,"average":0.5,"sampleSize":null},{"label":"EnqueueCount","startTime":"2018-10-30T14:22:00","maximum":null,"minimum":null,"current":null,"sum":1,"average":null,"sampleSize":null},{"label":"EnqueueTime","startTime":"2018-10-30T14:22:00","maximum":2076194,"minimum":5738,"current":null,"sum":null,"average":785780.1386910215,"sampleSize":null},{"label":"ExpiredCount","startTime":"2018-10-30T14:22:00","maximum":null,"minimum":null,"current":null,"sum":1,"average":null,"sampleSize":null},{"label":"DispatchCount","startTime":"2018-10-30T14:22:00","maximum":null,"minimum":null,"current":null,"sum":9,"average":null,"sampleSize":null},{"label":"DequeueCount","startTime":"2018-10-30T14:22:00","maximum":null,"minimum":null,"current":null,"sum":1,"average":null,"sampleSize":null}],"selfPublishingAllowed":true,"destinationType":"QUEUE","name":"etsysdev.test.queue.name","realName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","hasMessage":false,"dlqName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name.DLQ"}';

Expand All @@ -38,7 +38,7 @@ public function test_get_info()
$this->assertEquals('etsysdev.test.queue.name', $queue['topicName']);
} // end test_get_info

public function test_configure()
public function test_configure(): void
{
$response = '{"eventHubAccount":"sysdev-test-acct","topicName":"etsysdev.test.queue.name","readTimeout":1000,"autoAcknowledge":false,"queueRealName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","alertAddress":"nicholas.evans@northwestern.edu","queueStatistics":[],"selfPublishingAllowed":true,"destinationType":"QUEUE","name":"etsysdev.test.queue.name","realName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name","hasMessage":false,"dlqName":"Consumer.sysdev-test-acct.VirtualTopic.etsysdev.test.queue.name.DLQ"}';
$this->api->setHttpClient($this->mockHttpResponse(200, $response));
Expand All @@ -47,7 +47,7 @@ public function test_configure()
$this->assertEquals('etsysdev.test.queue.name', $config['topicName']);
} // end test_configure

public function test_write_json_message()
public function test_write_json_message(): void
{
$response_id = 'ID:12345:baz';
$this->api->setHttpClient($this->mockHttpResponse(204, null, ['X-message-id' => $response_id]));
Expand All @@ -56,7 +56,7 @@ public function test_write_json_message()
$this->assertEquals($response_id, $message_id);
} // end test_write_json_message

public function test_write_message()
public function test_write_message(): void
{
$response_id = 'ID:12345:baz';
$this->api->setHttpClient($this->mockHttpResponse(204, null, ['X-message-id' => $response_id]));
Expand Down
Loading

0 comments on commit f2948fb

Please sign in to comment.