Page MenuHomeDevCentral

D2674.id6806.diff
No OneTemporary

D2674.id6806.diff

diff --git a/.arclint b/.arclint
--- a/.arclint
+++ b/.arclint
@@ -28,8 +28,12 @@
"phpcs": {
"type": "phpcs",
"bin": "vendor/bin/phpcs",
- "phpcs.standard": "PSR1",
- "include": "(^app/.*\\.php$)"
+ "phpcs.standard": "phpcs.xml",
+ "include": [
+ "(app/.*\\.php$)",
+ "(config/.*\\.php$)",
+ "(tests/.*\\.php$)"
+ ]
},
"spelling": {
"type": "spelling"
diff --git a/app/Analyzers/BasePayloadAnalyzer.php b/app/Analyzers/BasePayloadAnalyzer.php
--- a/app/Analyzers/BasePayloadAnalyzer.php
+++ b/app/Analyzers/BasePayloadAnalyzer.php
@@ -2,10 +2,9 @@
namespace Nasqueron\Notifications\Analyzers;
-use Config;
-use Storage;
-
use BadMethodCallException;
+use Illuminate\Support\Facades\Config;
+use Illuminate\Support\Facades\Storage;
abstract class BasePayloadAnalyzer {
@@ -36,7 +35,7 @@
/**
* The configuration for the payload analyzer
- * @var PayloadAnalyzerConfiguration;
+ * @var PayloadAnalyzerConfiguration
*/
protected $configuration;
@@ -80,7 +79,7 @@
$filename = $dir . '/' . $this->project . '.json';
- if (!Storage::has($filename)) {
+ if (!Storage::exists($filename)) {
return $dir . '/' . static::CONFIG_DEFAULT_FILE;
}
diff --git a/app/Analyzers/DockerHub/BuildFailureEvent.php b/app/Analyzers/DockerHub/BuildFailureEvent.php
--- a/app/Analyzers/DockerHub/BuildFailureEvent.php
+++ b/app/Analyzers/DockerHub/BuildFailureEvent.php
@@ -2,7 +2,7 @@
namespace Nasqueron\Notifications\Analyzers\DockerHub;
-use Mailgun;
+use Nasqueron\Notifications\Facades\Mailgun;
class BuildFailureEvent extends BaseEvent {
diff --git a/app/Analyzers/GitHub/Events/Event.php b/app/Analyzers/GitHub/Events/Event.php
--- a/app/Analyzers/GitHub/Events/Event.php
+++ b/app/Analyzers/GitHub/Events/Event.php
@@ -33,8 +33,12 @@
* @param string $eventName The event name (e.g. commit_comment)
* @return string The event class name (e.g. CommitCommentEvent)
*/
- public static function getClass ($eventName) {
- return __NAMESPACE__ . '\\' . studly_case($eventName) . 'Event';
+ public static function getClass (string $eventName) {
+ return __NAMESPACE__ . '\\' . self::toCamelCase($eventName) . 'Event';
+ }
+
+ private static function toCamelCase (string $string) : string {
+ return str_replace(" ", "", ucwords(str_replace("_", " ", $string)));
}
/**
@@ -43,7 +47,7 @@
* @param string $eventName The event name (e.g. commit_comment)
* @return Event
*/
- public static function forPayload ($eventName, $payload) {
+ public static function forPayload (string $eventName, $payload) {
$class = self::getClass($eventName);
if (!class_exists($class)) {
throw new \InvalidArgumentException(
@@ -60,11 +64,15 @@
/**
* Cuts a text
*
- * @param string $text The text to cut
- * @param int $strLen The amount of characters to allow [optional]
+ * @param string $text The text to cut
+ * @param int $strLen The amount of characters to allow [optional]
* @param string $symbol The symbol to append to a cut text [optional]
*/
- public static function cut ($text, $strLen = 114, $symbol = '…') {
+ public static function cut (
+ string $text,
+ int $strLen = 114,
+ string $symbol = '…'
+ ) {
$len = strlen($text);
if ($len <= $strLen) {
return $text;
diff --git a/app/Analyzers/GitHub/Events/IssueCommentEvent.php b/app/Analyzers/GitHub/Events/IssueCommentEvent.php
--- a/app/Analyzers/GitHub/Events/IssueCommentEvent.php
+++ b/app/Analyzers/GitHub/Events/IssueCommentEvent.php
@@ -15,7 +15,7 @@
* @param string $action The action to check
* @return bool true if the action is valid; otherwise, false
*/
- protected static function isValidAction ($action) {
+ protected static function isValidAction (string $action) {
$actions = ['created', 'edited', 'deleted'];
return in_array($action, $actions);
}
@@ -62,4 +62,3 @@
}
}
-
diff --git a/app/Analyzers/GitHub/Events/PullRequestEvent.php b/app/Analyzers/GitHub/Events/PullRequestEvent.php
--- a/app/Analyzers/GitHub/Events/PullRequestEvent.php
+++ b/app/Analyzers/GitHub/Events/PullRequestEvent.php
@@ -15,7 +15,7 @@
* @param string $action The action to check
* @return bool true if the action is valid; otherwise, false
*/
- protected static function isValidAction ($action) {
+ protected static function isValidAction(string $action) {
$actions = [
'assigned', 'unassigned',
'labeled', 'unlabeled',
diff --git a/app/Analyzers/GitHub/Events/PushEvent.php b/app/Analyzers/GitHub/Events/PushEvent.php
--- a/app/Analyzers/GitHub/Events/PushEvent.php
+++ b/app/Analyzers/GitHub/Events/PushEvent.php
@@ -18,7 +18,7 @@
* @param int $count The count of commits
* @return string The l10n message key for description
*/
- private static function getDescriptionMessageKey ($count) {
+ private static function getDescriptionMessageKey (int $count) {
$key = 'GitHub.EventsDescriptions.PushEvent';
if ($count === 0) {
diff --git a/app/Analyzers/GitHub/Events/WithRef.php b/app/Analyzers/GitHub/Events/WithRef.php
--- a/app/Analyzers/GitHub/Events/WithRef.php
+++ b/app/Analyzers/GitHub/Events/WithRef.php
@@ -19,7 +19,7 @@
* @param string $type The ref type to check
* @return bool true if the ref type id valid; otherwise, false
*/
- protected static function isValidRefType ($type) {
+ protected static function isValidRefType (string $type) {
$types = ['branch', 'tag'];
return in_array($type, $types);
}
@@ -30,7 +30,7 @@
* @param string $type The reference type
* @return string the part of the URL for this reference type (e.g. /tree/)
*/
- protected function getLinkRefSegment ($type) {
+ protected function getLinkRefSegment (string $type) {
$segments = $this->getLinkRefSegments();
if (!array_key_exists($type, $segments)) {
diff --git a/app/Analyzers/GitHub/Events/WithRepoAndBranch.php b/app/Analyzers/GitHub/Events/WithRepoAndBranch.php
--- a/app/Analyzers/GitHub/Events/WithRepoAndBranch.php
+++ b/app/Analyzers/GitHub/Events/WithRepoAndBranch.php
@@ -28,7 +28,7 @@
return "";
}
- if (starts_with($branch, "refs/heads/")) {
+ if (str_starts_with($branch, "refs/heads/")) {
$branch = substr($branch, 11);
}
diff --git a/app/Analyzers/GitHub/GitHubPayloadAnalyzer.php b/app/Analyzers/GitHub/GitHubPayloadAnalyzer.php
--- a/app/Analyzers/GitHub/GitHubPayloadAnalyzer.php
+++ b/app/Analyzers/GitHub/GitHubPayloadAnalyzer.php
@@ -26,7 +26,7 @@
/**
* The payload analyzer event
*
- * @var \Nasqueron\Notifications\Analyzers\GitHub\Events\Event;
+ * @var \Nasqueron\Notifications\Analyzers\GitHub\Events\Event
*/
private $analyzerEvent;
diff --git a/app/Analyzers/ItemGroupMapping.php b/app/Analyzers/ItemGroupMapping.php
--- a/app/Analyzers/ItemGroupMapping.php
+++ b/app/Analyzers/ItemGroupMapping.php
@@ -2,6 +2,8 @@
namespace Nasqueron\Notifications\Analyzers;
+use Illuminate\Support\Str;
+
/**
* Map items (repositories, projects, items, etc.) names to groups
*/
@@ -42,7 +44,7 @@
string $pattern,
string $item
) : bool {
- return str_is($pattern, $item);
+ return Str::is($pattern, $item);
}
/**
diff --git a/app/Analyzers/Jenkins/JenkinsPayloadAnalyzer.php b/app/Analyzers/Jenkins/JenkinsPayloadAnalyzer.php
--- a/app/Analyzers/Jenkins/JenkinsPayloadAnalyzer.php
+++ b/app/Analyzers/Jenkins/JenkinsPayloadAnalyzer.php
@@ -31,7 +31,7 @@
/**
* Tries to get build status.
*
- * @param out string $status
+ * @param out string &$status
* @return bool indicates if the build status is defined in the payload
*/
private function tryGetBuildStatus (string &$status) : bool {
diff --git a/app/Config/Features.php b/app/Config/Features.php
--- a/app/Config/Features.php
+++ b/app/Config/Features.php
@@ -2,7 +2,7 @@
namespace Nasqueron\Notifications\Config;
-use Config;
+use Illuminate\Support\Facades\Config;
/**
* The features class offers a sugar syntax to check if a feature is enabled
diff --git a/app/Config/Reporting/ConfigReport.php b/app/Config/Reporting/ConfigReport.php
--- a/app/Config/Reporting/ConfigReport.php
+++ b/app/Config/Reporting/ConfigReport.php
@@ -4,8 +4,8 @@
use Nasqueron\Notifications\Config\Features;
-use Config;
-use Services;
+use Nasqueron\Notifications\Facades\Services;
+use Illuminate\Support\Facades\Config;
class ConfigReport {
diff --git a/app/Config/Reporting/ServiceReportEntry.php b/app/Config/Reporting/ServiceReportEntry.php
--- a/app/Config/Reporting/ServiceReportEntry.php
+++ b/app/Config/Reporting/ServiceReportEntry.php
@@ -4,7 +4,7 @@
use Nasqueron\Notifications\Config\Services\Service;
-use ProjectsMap;
+use Nasqueron\Notifications\Facades\ProjectsMap;
final class ServiceReportEntry extends BaseReportEntry {
diff --git a/app/Config/Services/Services.php b/app/Config/Services/Services.php
--- a/app/Config/Services/Services.php
+++ b/app/Config/Services/Services.php
@@ -2,7 +2,7 @@
namespace Nasqueron\Notifications\Config\Services;
-use Storage;
+use Illuminate\Support\Facades\Storage;
class Services {
diff --git a/app/Console/Commands/ConfigValidate.php b/app/Console/Commands/ConfigValidate.php
--- a/app/Console/Commands/ConfigValidate.php
+++ b/app/Console/Commands/ConfigValidate.php
@@ -4,8 +4,7 @@
use Illuminate\Console\Command;
use Illuminate\Filesystem\FilesystemAdapter;
-
-use App;
+use Illuminate\Support\Facades\App;
class ConfigValidate extends Command {
diff --git a/app/Console/Commands/PhabricatorProjectsMap.php b/app/Console/Commands/PhabricatorProjectsMap.php
--- a/app/Console/Commands/PhabricatorProjectsMap.php
+++ b/app/Console/Commands/PhabricatorProjectsMap.php
@@ -4,8 +4,8 @@
use Illuminate\Console\Command;
-use ProjectsMap;
-use Services;
+use Nasqueron\Notifications\Facades\ProjectsMap;
+use Nasqueron\Notifications\Facades\Services;
class PhabricatorProjectsMap extends Command {
/**
diff --git a/app/Contracts/APIClient.php b/app/Contracts/APIClient.php
--- a/app/Contracts/APIClient.php
+++ b/app/Contracts/APIClient.php
@@ -10,7 +10,7 @@
* @param string $url The API end point URL
* @return void
*/
- public function setEndPoint ($url);
+ public function setEndPoint (string $url);
/**
* Calls an API method
@@ -19,6 +19,6 @@
* @param array $arguments The arguments to use
* @return mixed The API result
*/
- public function call ($method, $arguments = []);
+ public function call (string $method, array $arguments = []);
}
diff --git a/app/Contracts/APIFactory.php b/app/Contracts/APIFactory.php
--- a/app/Contracts/APIFactory.php
+++ b/app/Contracts/APIFactory.php
@@ -10,6 +10,6 @@
* @param string $endPoint The API end point
* @return APIClient
*/
- public function get ($endPoint);
+ public function get (string $endPoint);
}
diff --git a/app/Events/DockerHubPayloadEvent.php b/app/Events/DockerHubPayloadEvent.php
--- a/app/Events/DockerHubPayloadEvent.php
+++ b/app/Events/DockerHubPayloadEvent.php
@@ -2,7 +2,6 @@
namespace Nasqueron\Notifications\Events;
-use Nasqueron\Notifications\Events\Event;
use Illuminate\Queue\SerializesModels;
class DockerHubPayloadEvent extends Event {
diff --git a/app/Events/GitHubPayloadEvent.php b/app/Events/GitHubPayloadEvent.php
--- a/app/Events/GitHubPayloadEvent.php
+++ b/app/Events/GitHubPayloadEvent.php
@@ -2,7 +2,6 @@
namespace Nasqueron\Notifications\Events;
-use Nasqueron\Notifications\Events\Event;
use Illuminate\Queue\SerializesModels;
class GitHubPayloadEvent extends Event {
diff --git a/app/Events/JenkinsPayloadEvent.php b/app/Events/JenkinsPayloadEvent.php
--- a/app/Events/JenkinsPayloadEvent.php
+++ b/app/Events/JenkinsPayloadEvent.php
@@ -2,7 +2,6 @@
namespace Nasqueron\Notifications\Events;
-use Nasqueron\Notifications\Events\Event;
use Illuminate\Queue\SerializesModels;
class JenkinsPayloadEvent extends Event {
diff --git a/app/Events/NotificationEvent.php b/app/Events/NotificationEvent.php
--- a/app/Events/NotificationEvent.php
+++ b/app/Events/NotificationEvent.php
@@ -2,7 +2,6 @@
namespace Nasqueron\Notifications\Events;
-use Nasqueron\Notifications\Events\Event;
use Nasqueron\Notifications\Notifications\Notification;
use Illuminate\Queue\SerializesModels;
diff --git a/app/Events/PhabricatorPayloadEvent.php b/app/Events/PhabricatorPayloadEvent.php
--- a/app/Events/PhabricatorPayloadEvent.php
+++ b/app/Events/PhabricatorPayloadEvent.php
@@ -2,8 +2,8 @@
namespace Nasqueron\Notifications\Events;
-use Nasqueron\Notifications\Events\Event;
use Nasqueron\Notifications\Phabricator\PhabricatorStory;
+
use Illuminate\Queue\SerializesModels;
class PhabricatorPayloadEvent extends Event {
diff --git a/app/Events/ReportEvent.php b/app/Events/ReportEvent.php
--- a/app/Events/ReportEvent.php
+++ b/app/Events/ReportEvent.php
@@ -3,7 +3,7 @@
namespace Nasqueron\Notifications\Events;
use Nasqueron\Notifications\Actions\Action;
-use Nasqueron\Notifications\Events\Event;
+
use Illuminate\Queue\SerializesModels;
class ReportEvent extends Event {
diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php
--- a/app/Exceptions/Handler.php
+++ b/app/Exceptions/Handler.php
@@ -2,19 +2,18 @@
namespace Nasqueron\Notifications\Exceptions;
-use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
+use Nasqueron\Notifications\Facades\Raven;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Database\Eloquent\ModelNotFoundException;
-use Illuminate\Foundation\Validation\ValidationException;
+use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
+use Illuminate\Validation\ValidationException;
use Illuminate\Session\TokenMismatchException;
+use Illuminate\Support\Facades\Config;
use Psr\Log\LoggerInterface;
use Symfony\Component\Console\Exception\CommandNotFoundException;
use Symfony\Component\HttpKernel\Exception\HttpException;
-use Config;
-use Raven;
-
use Exception;
class Handler extends ExceptionHandler {
@@ -38,9 +37,11 @@
*
* This is a great spot to send exceptions to Sentry, Bugsnag, etc.
*
- * @param \Exception $e
+ * @param \Exception|\Throwable $e
+ *
+ * @throws \Illuminate\Contracts\Container\BindingResolutionException
*/
- public function report(Exception $e) : void {
+ public function report(Exception|\Throwable $e) : void {
if (!$this->shouldReport($e)) {
return;
}
diff --git a/app/Facades/Raven.php b/app/Facades/Raven.php
--- a/app/Facades/Raven.php
+++ b/app/Facades/Raven.php
@@ -2,10 +2,9 @@
namespace Nasqueron\Notifications\Facades;
+use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Facade;
-use Config;
-
/**
* @see \Raven_Client
*/
diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php
--- a/app/Http/Controllers/Controller.php
+++ b/app/Http/Controllers/Controller.php
@@ -2,12 +2,14 @@
namespace Nasqueron\Notifications\Http\Controllers;
+use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
-use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
-use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
+use Illuminate\Routing\Controller as BaseController;
abstract class Controller extends BaseController {
- use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
+ use AuthorizesRequests;
+ use DispatchesJobs;
+ use ValidatesRequests;
}
diff --git a/app/Http/Controllers/Gate/DockerHubGateController.php b/app/Http/Controllers/Gate/DockerHubGateController.php
--- a/app/Http/Controllers/Gate/DockerHubGateController.php
+++ b/app/Http/Controllers/Gate/DockerHubGateController.php
@@ -4,11 +4,10 @@
use Nasqueron\Notifications\Events\DockerHubPayloadEvent;
+use Illuminate\Support\Facades\Event;
+use Illuminate\Support\Facades\Request;
use Symfony\Component\HttpFoundation\Response;
-use Event;
-use Request;
-
class DockerHubGateController extends GateController {
///
@@ -75,7 +74,7 @@
protected function onPayload () : void {
$this->initializeReport();
- Event::fire(new DockerHubPayloadEvent(
+ Event::dispatch(new DockerHubPayloadEvent(
$this->door,
$this->payload
));
diff --git a/app/Http/Controllers/Gate/GateController.php b/app/Http/Controllers/Gate/GateController.php
--- a/app/Http/Controllers/Gate/GateController.php
+++ b/app/Http/Controllers/Gate/GateController.php
@@ -4,16 +4,15 @@
use Nasqueron\Notifications\Config\Features;
use Nasqueron\Notifications\Config\Services\Service;
+use Nasqueron\Notifications\Facades\Services;
+use Nasqueron\Notifications\Facades\Report;
use Nasqueron\Notifications\Http\Controllers\Controller;
-use Symfony\Component\HttpFoundation\Response as BaseResponse;
+use Illuminate\Support\Facades\App;
+use Illuminate\Support\Facades\Log;
+use Illuminate\Support\Facades\Response;
use Illuminate\View\View;
-
-use App;
-use Log;
-use Report;
-use Response;
-use Services;
+use Symfony\Component\HttpFoundation\Response as BaseResponse;
/**
* Represents a controller handling an entry-point for API payloads
diff --git a/app/Http/Controllers/Gate/GitHubGateController.php b/app/Http/Controllers/Gate/GitHubGateController.php
--- a/app/Http/Controllers/Gate/GitHubGateController.php
+++ b/app/Http/Controllers/Gate/GitHubGateController.php
@@ -5,10 +5,10 @@
use Nasqueron\Notifications\Events\GitHubPayloadEvent;
use Keruald\GitHub\XHubSignature;
-use Symfony\Component\HttpFoundation\Response;
-use Event;
-use Request;
+use Illuminate\Support\Facades\Event;
+use Illuminate\Support\Facades\Request;
+use Symfony\Component\HttpFoundation\Response;
class GitHubGateController extends GateController {
@@ -180,7 +180,7 @@
protected function onPayload () {
$this->initializeReport();
- Event::fire(new GitHubPayloadEvent(
+ Event::dispatch(new GitHubPayloadEvent(
$this->door,
$this->event,
$this->payload
diff --git a/app/Http/Controllers/Gate/JenkinsGateController.php b/app/Http/Controllers/Gate/JenkinsGateController.php
--- a/app/Http/Controllers/Gate/JenkinsGateController.php
+++ b/app/Http/Controllers/Gate/JenkinsGateController.php
@@ -4,11 +4,10 @@
use Nasqueron\Notifications\Events\JenkinsPayloadEvent;
+use Illuminate\Support\Facades\Event;
+use Illuminate\Support\Facades\Request;
use Symfony\Component\HttpFoundation\Response;
-use Event;
-use Request;
-
class JenkinsGateController extends GateController {
///
@@ -75,7 +74,7 @@
protected function onPayload () {
$this->initializeReport();
- Event::fire(new JenkinsPayloadEvent(
+ Event::dispatch(new JenkinsPayloadEvent(
$this->door,
$this->payload
));
diff --git a/app/Http/Controllers/Gate/NotificationGateController.php b/app/Http/Controllers/Gate/NotificationGateController.php
--- a/app/Http/Controllers/Gate/NotificationGateController.php
+++ b/app/Http/Controllers/Gate/NotificationGateController.php
@@ -5,12 +5,10 @@
use Nasqueron\Notifications\Events\NotificationEvent;
use Nasqueron\Notifications\Notifications\Notification;
-use Symfony\Component\HttpFoundation\Response;
-
-use Event;
-use Request;
-
+use Illuminate\Support\Facades\Event;
+use Illuminate\Support\Facades\Request;
use InvalidArgumentException;
+use Symfony\Component\HttpFoundation\Response;
class NotificationGateController extends GateController {
@@ -88,10 +86,10 @@
}
$mapper = new \JsonMapper();
- return (Notification)($mapper->map(
+ return $mapper->map(
$payload,
new Notification
- ));
+ );
}
private function normalizePayload () : void {
@@ -133,7 +131,7 @@
protected function onPayload () {
$this->initializeReport();
- Event::fire(new NotificationEvent($this->payload));
+ Event::dispatch(new NotificationEvent($this->payload));
}
}
diff --git a/app/Http/Controllers/Gate/PhabricatorGateController.php b/app/Http/Controllers/Gate/PhabricatorGateController.php
--- a/app/Http/Controllers/Gate/PhabricatorGateController.php
+++ b/app/Http/Controllers/Gate/PhabricatorGateController.php
@@ -4,11 +4,10 @@
use Nasqueron\Notifications\Events\PhabricatorPayloadEvent;
+use Illuminate\Support\Facades\Event;
+use Illuminate\Support\Facades\Request;
use Symfony\Component\HttpFoundation\Response;
-use Event;
-use Request;
-
class PhabricatorGateController extends GateController {
///
@@ -65,7 +64,7 @@
protected function onPayload () : void {
$this->initializeReport();
- Event::fire(new PhabricatorPayloadEvent(
+ Event::dispatch(new PhabricatorPayloadEvent(
$this->door,
$this->payload
));
diff --git a/app/Http/routes.php b/app/Http/routes.php
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -3,6 +3,10 @@
use Nasqueron\Notifications\Config\Features;
use Nasqueron\Notifications\Config\Reporting\ConfigReport;
+use Illuminate\Support\Facades\Config;
+use Illuminate\Support\Facades\Response;
+use Illuminate\Support\Facades\Route;
+
/*
|--------------------------------------------------------------------------
| Application Routes
diff --git a/app/Jobs/FireDockerHubNotification.php b/app/Jobs/FireDockerHubNotification.php
--- a/app/Jobs/FireDockerHubNotification.php
+++ b/app/Jobs/FireDockerHubNotification.php
@@ -2,17 +2,16 @@
namespace Nasqueron\Notifications\Jobs;
-use Nasqueron\Notifications\Notifications\DockerHubNotification;
use Nasqueron\Notifications\Events\DockerHubPayloadEvent;
use Nasqueron\Notifications\Events\NotificationEvent;
-use Nasqueron\Notifications\Jobs\Job;
+use Nasqueron\Notifications\Notifications\DockerHubNotification;
-use Event;
+use Illuminate\Support\Facades\Event;
class FireDockerHubNotification extends Job {
/**
- * @var DockerHubPayloadEvent;
+ * @var DockerHubPayloadEvent
*/
private $event;
@@ -34,7 +33,7 @@
*/
public function handle() : void {
$notification = $this->createNotification();
- Event::fire(new NotificationEvent($notification));
+ Event::dispatch(new NotificationEvent($notification));
}
protected function createNotification() : DockerHubNotification {
diff --git a/app/Jobs/FireGitHubNotification.php b/app/Jobs/FireGitHubNotification.php
--- a/app/Jobs/FireGitHubNotification.php
+++ b/app/Jobs/FireGitHubNotification.php
@@ -2,17 +2,16 @@
namespace Nasqueron\Notifications\Jobs;
-use Nasqueron\Notifications\Notifications\GitHubNotification;
use Nasqueron\Notifications\Events\GitHubPayloadEvent;
use Nasqueron\Notifications\Events\NotificationEvent;
-use Nasqueron\Notifications\Jobs\Job;
+use Nasqueron\Notifications\Notifications\GitHubNotification;
-use Event;
+use Illuminate\Support\Facades\Event;
class FireGitHubNotification extends Job {
/**
- * @var GitHubPayloadEvent;
+ * @var GitHubPayloadEvent
*/
private $event;
@@ -34,7 +33,7 @@
*/
public function handle() : void {
$notification = $this->createNotification();
- Event::fire(new NotificationEvent($notification));
+ Event::dispatch(new NotificationEvent($notification));
}
diff --git a/app/Jobs/FireJenkinsNotification.php b/app/Jobs/FireJenkinsNotification.php
--- a/app/Jobs/FireJenkinsNotification.php
+++ b/app/Jobs/FireJenkinsNotification.php
@@ -2,17 +2,16 @@
namespace Nasqueron\Notifications\Jobs;
-use Nasqueron\Notifications\Notifications\JenkinsNotification;
use Nasqueron\Notifications\Events\JenkinsPayloadEvent;
use Nasqueron\Notifications\Events\NotificationEvent;
-use Nasqueron\Notifications\Jobs\Job;
+use Nasqueron\Notifications\Notifications\JenkinsNotification;
-use Event;
+use Illuminate\Support\Facades\Event;
class FireJenkinsNotification extends Job {
/**
- * @var JenkinsPayloadEvent;
+ * @var JenkinsPayloadEvent
*/
private $event;
@@ -37,7 +36,7 @@
public function handle() : void {
$notification = $this->createNotification();
if ($notification->shouldNotify()) {
- Event::fire(new NotificationEvent($notification));
+ Event::dispatch(new NotificationEvent($notification));
}
}
diff --git a/app/Jobs/FirePhabricatorNotification.php b/app/Jobs/FirePhabricatorNotification.php
--- a/app/Jobs/FirePhabricatorNotification.php
+++ b/app/Jobs/FirePhabricatorNotification.php
@@ -2,17 +2,16 @@
namespace Nasqueron\Notifications\Jobs;
-use Nasqueron\Notifications\Notifications\PhabricatorNotification;
-use Nasqueron\Notifications\Events\PhabricatorPayloadEvent;
use Nasqueron\Notifications\Events\NotificationEvent;
-use Nasqueron\Notifications\Jobs\Job;
+use Nasqueron\Notifications\Events\PhabricatorPayloadEvent;
+use Nasqueron\Notifications\Notifications\PhabricatorNotification;
-use Event;
+use Illuminate\Support\Facades\Event;
class FirePhabricatorNotification extends Job {
/**
- * @var PhabricatorPayloadEvent;
+ * @var PhabricatorPayloadEvent
*/
private $event;
@@ -34,7 +33,7 @@
*/
public function handle() : void {
$notification = $this->createNotification();
- Event::fire(new NotificationEvent($notification));
+ Event::dispatch(new NotificationEvent($notification));
}
protected function createNotification() : PhabricatorNotification {
diff --git a/app/Jobs/NotifyNewCommitsToDiffusion.php b/app/Jobs/NotifyNewCommitsToDiffusion.php
--- a/app/Jobs/NotifyNewCommitsToDiffusion.php
+++ b/app/Jobs/NotifyNewCommitsToDiffusion.php
@@ -5,13 +5,12 @@
use Nasqueron\Notifications\Actions\ActionError;
use Nasqueron\Notifications\Actions\NotifyNewCommitsAction;
use Nasqueron\Notifications\Events\ReportEvent;
+use Nasqueron\Notifications\Facades\PhabricatorAPI;
use Nasqueron\Notifications\Phabricator\PhabricatorAPI as API;
use Nasqueron\Notifications\Phabricator\PhabricatorAPIException;
-use Event;
-use Log;
-use PhabricatorAPI;
-
+use Illuminate\Support\Facades\Event;
+use Illuminate\Support\Facades\Log;
use RuntimeException;
/**
@@ -107,7 +106,7 @@
*/
private function sendReport () : void {
$event = new ReportEvent($this->actionToReport);
- Event::fire($event);
+ Event::dispatch($event);
}
diff --git a/app/Jobs/SendMessageToBroker.php b/app/Jobs/SendMessageToBroker.php
--- a/app/Jobs/SendMessageToBroker.php
+++ b/app/Jobs/SendMessageToBroker.php
@@ -5,11 +5,10 @@
use Nasqueron\Notifications\Actions\ActionError;
use Nasqueron\Notifications\Actions\AMQPAction;
use Nasqueron\Notifications\Events\ReportEvent;
-use Nasqueron\Notifications\Jobs\Job;
+use Nasqueron\Notifications\Facades\Broker;
-use Broker;
-use Event;
-use Log;
+use Illuminate\Support\Facades\Event;
+use Illuminate\Support\Facades\Log;
class SendMessageToBroker extends Job {
@@ -108,6 +107,6 @@
if ($this->exception !== null) {
$actionToReport->attachError(new ActionError($this->exception));
}
- Event::fire(new ReportEvent($actionToReport));
+ Event::dispatch(new ReportEvent($actionToReport));
}
}
diff --git a/app/Jobs/TriggerDockerHubBuild.php b/app/Jobs/TriggerDockerHubBuild.php
--- a/app/Jobs/TriggerDockerHubBuild.php
+++ b/app/Jobs/TriggerDockerHubBuild.php
@@ -5,11 +5,10 @@
use Nasqueron\Notifications\Actions\ActionError;
use Nasqueron\Notifications\Actions\TriggerDockerHubBuildAction;
use Nasqueron\Notifications\Events\ReportEvent;
-
-use DockerHub;
-use Event;
+use Nasqueron\Notifications\Facades\DockerHub;
use Exception;
+use Illuminate\Support\Facades\Event;
/**
* This class allows to trigger a new Docker Hub build.
@@ -80,7 +79,7 @@
*/
private function sendReport () : void {
$event = new ReportEvent($this->actionToReport);
- Event::fire($event);
+ Event::dispatch($event);
}
}
diff --git a/app/Listeners/AMQPEventListener.php b/app/Listeners/AMQPEventListener.php
--- a/app/Listeners/AMQPEventListener.php
+++ b/app/Listeners/AMQPEventListener.php
@@ -6,9 +6,7 @@
use Nasqueron\Notifications\Jobs\SendMessageToBroker;
use Nasqueron\Notifications\Notifications\Notification;
-use Illuminate\Events\Dispatcher;
-
-use Config;
+use Illuminate\Support\Facades\Config;
class AMQPEventListener {
@@ -21,7 +19,7 @@
*
* @param NotificationEvent $event
*/
- public function onNotification(NotificationEvent $event) : void {
+ public function handle (NotificationEvent $event) : void {
$this->sendNotification($event->notification);
}
@@ -51,22 +49,4 @@
$job = new SendMessageToBroker($target, $routingKey, $message);
$job->handle();
}
-
- ///
- /// Events listening
- ///
-
- /**
- * Registers the listeners for the subscriber.
- *
- * @param Dispatcher $events
- */
- public function subscribe (Dispatcher $events) : void {
- $class = AMQPEventListener::class;
- $events->listen(
- NotificationEvent::class,
- "$class@onNotification"
- );
- }
-
}
diff --git a/app/Listeners/DockerHubListener.php b/app/Listeners/DockerHubListener.php
--- a/app/Listeners/DockerHubListener.php
+++ b/app/Listeners/DockerHubListener.php
@@ -3,12 +3,9 @@
namespace Nasqueron\Notifications\Listeners;
use Nasqueron\Notifications\Events\GitHubPayloadEvent;
+use Nasqueron\Notifications\Facades\DockerHub;
use Nasqueron\Notifications\Jobs\TriggerDockerHubBuild;
-use Illuminate\Events\Dispatcher;
-
-use DockerHub;
-
/**
* Listens to events Docker Hub is interested by.
*/
@@ -23,7 +20,7 @@
*
* @param GitHubPayloadEvent $event The GitHub payload event
*/
- public function onGitHubPayload (GitHubPayloadEvent $event) : void {
+ public function handle (GitHubPayloadEvent $event) : void {
if ($this->shouldNotify($event)) {
$this->notifyNewCommits($event);
}
@@ -60,22 +57,4 @@
private function getRepository (GitHubPayloadEvent $event) : string {
return $event->payload->repository->full_name;
}
-
- ///
- /// Events listening
- ///
-
- /**
- * Registers the listeners for the subscriber.
- *
- * @param Dispatcher $events
- */
- public function subscribe (Dispatcher $events) : void {
- $class = DockerHubListener::class;
- $events->listen(
- GitHubPayloadEvent::class,
- "$class@onGitHubPayload"
- );
- }
-
}
diff --git a/app/Listeners/LastPayloadSaver.php b/app/Listeners/LastPayloadSaver.php
--- a/app/Listeners/LastPayloadSaver.php
+++ b/app/Listeners/LastPayloadSaver.php
@@ -12,7 +12,7 @@
/**
* Handles payload events
*/
- public function onPayload (Event $event) : void {
+ public function handle (Event $event) : void {
self::savePayload($event->payload);
}
@@ -26,28 +26,4 @@
$content = json_encode($payload);
file_put_contents($filename, $content);
}
-
- ///
- /// Events listening
- ///
-
- /**
- * Register the listeners for the subscriber.
- *
- * @param \Illuminate\Events\Dispatcher $events
- */
- public function subscribe (\Illuminate\Events\Dispatcher $events) : void {
- $ns = 'Nasqueron\Notifications\Events';
- $class = 'Nasqueron\Notifications\Listeners\LastPayloadSaver';
- $eventsToListen = [
- 'DockerHubPayloadEvent',
- 'GitHubPayloadEvent',
- 'JenkinsPayloadEvent',
- 'PhabricatorPayloadEvent',
- ];
-
- foreach ($eventsToListen as $event) {
- $events->listen("$ns\\$event", "$class@onPayload");
- }
- }
}
diff --git a/app/Listeners/NotificationListener.php b/app/Listeners/NotificationListener.php
--- a/app/Listeners/NotificationListener.php
+++ b/app/Listeners/NotificationListener.php
@@ -3,6 +3,7 @@
namespace Nasqueron\Notifications\Listeners;
use Nasqueron\Notifications\Events\DockerHubPayloadEvent;
+use Nasqueron\Notifications\Events\Event;
use Nasqueron\Notifications\Events\GitHubPayloadEvent;
use Nasqueron\Notifications\Events\JenkinsPayloadEvent;
use Nasqueron\Notifications\Events\PhabricatorPayloadEvent;
@@ -11,6 +12,8 @@
use Nasqueron\Notifications\Jobs\FireJenkinsNotification;
use Nasqueron\Notifications\Jobs\FirePhabricatorNotification;
+use InvalidArgumentException;
+
class NotificationListener {
///
@@ -64,33 +67,22 @@
}
///
- /// Events listening
+ /// Events sorter
///
- /**
- * Register the listeners for the subscriber.
- *
- * @param \Illuminate\Events\Dispatcher $events
- */
- public function subscribe (\Illuminate\Events\Dispatcher $events) : void {
- $class = 'Nasqueron\Notifications\Listeners\NotificationListener';
- $events->listen(
- 'Nasqueron\Notifications\Events\DockerHubPayloadEvent',
- "$class@onDockerHubPayload"
- );
- $events->listen(
- 'Nasqueron\Notifications\Events\GitHubPayloadEvent',
- "$class@onGitHubPayload"
- );
- $events->listen(
- 'Nasqueron\Notifications\Events\JenkinsPayloadEvent',
- "$class@onJenkinsPayload"
- );
- $events->listen(
- 'Nasqueron\Notifications\Events\PhabricatorPayloadEvent',
- "$class@onPhabricatorPayload"
- );
+ private static function getEventHandlerMethod (string $eventClasss) : string {
+ $parts = explode('\\', $eventClasss);
+ $className = end($parts);
+
+ if (!str_ends_with($className, "Event")) {
+ throw new InvalidArgumentException("Events classes must be ended by 'Event'");
+ }
+ return "on" . substr($className, 0, strlen($className)-5);
}
+ public function handle (Event $event) : void {
+ $callable = [$this, self::getEventHandlerMethod($event::class)];
+ $callable($event);
+ }
}
diff --git a/app/Listeners/PhabricatorListener.php b/app/Listeners/PhabricatorListener.php
--- a/app/Listeners/PhabricatorListener.php
+++ b/app/Listeners/PhabricatorListener.php
@@ -5,8 +5,6 @@
use Nasqueron\Notifications\Events\GitHubPayloadEvent;
use Nasqueron\Notifications\Jobs\NotifyNewCommitsToDiffusion;
-use Illuminate\Events\Dispatcher;
-
/**
* Listens to events Phabricator is interested by.
*/
@@ -21,7 +19,7 @@
*
* @param GitHubPayloadEvent $event The GitHub payload event
*/
- public function onGitHubPayload (GitHubPayloadEvent $event) : void {
+ public function handle (GitHubPayloadEvent $event) : void {
if ($event->event === 'push') {
$this->notifyNewCommits($event);
}
@@ -39,21 +37,4 @@
);
$job->handle();
}
-
- ///
- /// Events listening
- ///
-
- /**
- * Registers the listeners for the subscriber.
- *
- * @param Dispatcher $events
- */
- public function subscribe (Dispatcher $events) : void {
- $class = PhabricatorListener::class;
- $events->listen(
- GitHubPayloadEvent::class,
- "$class@onGitHubPayload"
- );
- }
}
diff --git a/app/Phabricator/PhabricatorAPI.php b/app/Phabricator/PhabricatorAPI.php
--- a/app/Phabricator/PhabricatorAPI.php
+++ b/app/Phabricator/PhabricatorAPI.php
@@ -3,8 +3,7 @@
namespace Nasqueron\Notifications\Phabricator;
use Nasqueron\Notifications\Contracts\APIClient;
-
-use Services;
+use Nasqueron\Notifications\Facades\Services;
class PhabricatorAPI implements APIClient {
diff --git a/app/Phabricator/PhabricatorStory.php b/app/Phabricator/PhabricatorStory.php
--- a/app/Phabricator/PhabricatorStory.php
+++ b/app/Phabricator/PhabricatorStory.php
@@ -321,7 +321,7 @@
return "id";
}
- if (starts_with($key, "story") && strlen($key) > 5) {
+ if (str_starts_with($key, "story") && strlen($key) > 5) {
return lcfirst(substr($key, 5));
}
diff --git a/app/Phabricator/ProjectsMap.php b/app/Phabricator/ProjectsMap.php
--- a/app/Phabricator/ProjectsMap.php
+++ b/app/Phabricator/ProjectsMap.php
@@ -4,8 +4,8 @@
use Nasqueron\Notifications\Contracts\APIClient as APIClient;
-use App;
-use Cache;
+use Illuminate\Support\Facades\App;
+use Illuminate\Support\Facades\Cache;
class ProjectsMap implements \IteratorAggregate, \ArrayAccess {
diff --git a/app/Phabricator/ProjectsMapFactory.php b/app/Phabricator/ProjectsMapFactory.php
--- a/app/Phabricator/ProjectsMapFactory.php
+++ b/app/Phabricator/ProjectsMapFactory.php
@@ -10,7 +10,7 @@
* @param string $instanceName The Phabricator instance name
* @return ProjectsMap
*/
- public function load ($instanceName) {
+ public function load (string $instanceName) {
return ProjectsMap::load($instanceName);
}
@@ -20,7 +20,7 @@
* @param string $instanceName The Phabricator instance name
* @return ProjectsMap
*/
- public function fetch ($instanceName) {
+ public function fetch (string $instanceName) {
return ProjectsMap::fetch($instanceName);
}
diff --git a/app/Providers/DockerHubServiceProvider.php b/app/Providers/DockerHubServiceProvider.php
--- a/app/Providers/DockerHubServiceProvider.php
+++ b/app/Providers/DockerHubServiceProvider.php
@@ -2,11 +2,12 @@
namespace Nasqueron\Notifications\Providers;
+use Keruald\DockerHub\Build\TriggerBuildFactory;
+
+use GuzzleHttp\Client;
use Illuminate\Contracts\Foundation\Application;
use Illuminate\Support\ServiceProvider;
-use GuzzleHttp\Client;
-use Keruald\DockerHub\Build\TriggerBuildFactory;
class DockerHubServiceProvider extends ServiceProvider {
/**
diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php
--- a/app/Providers/EventServiceProvider.php
+++ b/app/Providers/EventServiceProvider.php
@@ -2,29 +2,48 @@
namespace Nasqueron\Notifications\Providers;
-use Illuminate\{
- Contracts\Events\Dispatcher as DispatcherContract,
- Foundation\Support\Providers\EventServiceProvider as ServiceProvider
-};
+use Nasqueron\Notifications\Events\DockerHubPayloadEvent;
+use Nasqueron\Notifications\Events\GitHubPayloadEvent;
+use Nasqueron\Notifications\Events\JenkinsPayloadEvent;
+use Nasqueron\Notifications\Events\NotificationEvent;
+use Nasqueron\Notifications\Events\PhabricatorPayloadEvent;
+use Nasqueron\Notifications\Listeners\AMQPEventListener;
+use Nasqueron\Notifications\Listeners\DockerHubListener;
+use Nasqueron\Notifications\Listeners\LastPayloadSaver;
+use Nasqueron\Notifications\Listeners\NotificationListener;
+use Nasqueron\Notifications\Listeners\PhabricatorListener;
-use Config;
+use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider {
/**
- * Registers all our listeners as subscriber classes
- */
- private function subscribeListeners () {
- $this->subscribe += Config::get('app.listeners');
- }
-
- /**
- * Register any other events for your application.
+ * The event listener mappings for the application.
*
- * @return void
+ * @var array
*/
- public function boot() {
- $this->subscribeListeners();
- parent::boot();
- }
+ protected $listen = [
+ DockerHubPayloadEvent::class => [
+ LastPayloadSaver::class,
+ NotificationListener::class,
+ ],
+ GitHubPayloadEvent::class => [
+ DockerHubListener::class,
+ LastPayloadSaver::class,
+ NotificationListener::class,
+ PhabricatorListener::class,
+ ],
+ JenkinsPayloadEvent::class => [
+ LastPayloadSaver::class,
+ NotificationListener::class,
+ ],
+ NotificationEvent::class => [
+ AMQPEventListener::class,
+ ],
+ PhabricatorPayloadEvent::class => [
+ LastPayloadSaver::class,
+ NotificationListener::class,
+ ],
+ ];
+
}
diff --git a/app/Providers/MailgunServiceProvider.php b/app/Providers/MailgunServiceProvider.php
--- a/app/Providers/MailgunServiceProvider.php
+++ b/app/Providers/MailgunServiceProvider.php
@@ -2,11 +2,11 @@
namespace Nasqueron\Notifications\Providers;
-use Illuminate\Contracts\Foundation\Application;
-use Illuminate\Support\ServiceProvider;
+use Keruald\Mailgun\MailgunMessageFactory;
use GuzzleHttp\Client;
-use Keruald\Mailgun\MailgunMessageFactory;
+use Illuminate\Contracts\Foundation\Application;
+use Illuminate\Support\ServiceProvider;
class MailgunServiceProvider extends ServiceProvider {
/**
diff --git a/app/Providers/PhabricatorAPIServiceProvider.php b/app/Providers/PhabricatorAPIServiceProvider.php
--- a/app/Providers/PhabricatorAPIServiceProvider.php
+++ b/app/Providers/PhabricatorAPIServiceProvider.php
@@ -22,7 +22,7 @@
* @return void
*/
public function register() {
- $this->app->singleton('phabricator-api', function () {
+ $this->app->singleton('phabricator-api', static function () {
return new PhabricatorAPIFactory;
});
}
diff --git a/app/Providers/PhabricatorProjectsMapServiceProvider.php b/app/Providers/PhabricatorProjectsMapServiceProvider.php
--- a/app/Providers/PhabricatorProjectsMapServiceProvider.php
+++ b/app/Providers/PhabricatorProjectsMapServiceProvider.php
@@ -22,7 +22,7 @@
* @return void
*/
public function register() {
- $this->app->singleton('phabricator-projectsmap', function () {
+ $this->app->singleton('phabricator-projectsmap', static function () {
return new ProjectsMapFactory;
});
}
diff --git a/app/Providers/ReportServiceProvider.php b/app/Providers/ReportServiceProvider.php
--- a/app/Providers/ReportServiceProvider.php
+++ b/app/Providers/ReportServiceProvider.php
@@ -32,7 +32,7 @@
) {
$events->listen(
'Nasqueron\Notifications\Events\ReportEvent',
- function (ReportEvent $event) use ($report) {
+ static function (ReportEvent $event) use ($report) {
$report->addAction($event->action);
}
);
diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php
--- a/app/Providers/RouteServiceProvider.php
+++ b/app/Providers/RouteServiceProvider.php
@@ -2,10 +2,8 @@
namespace Nasqueron\Notifications\Providers;
-use Illuminate\{
- Routing\Router,
- Foundation\Support\Providers\RouteServiceProvider as ServiceProvider
-};
+use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
+use Illuminate\Routing\Router;
class RouteServiceProvider extends ServiceProvider {
@@ -36,7 +34,7 @@
* @return void
*/
public function map(Router $router) {
- $router->group(['namespace' => $this->namespace], function ($router) {
+ $router->group(['namespace' => $this->namespace], static function ($router) {
require app_path('Http/routes.php');
});
}
diff --git a/composer.json b/composer.json
--- a/composer.json
+++ b/composer.json
@@ -10,8 +10,8 @@
"license": "BSD-2-Clause",
"type": "project",
"require": {
- "php": ">=7.1.0",
- "laravel/framework": "5.3.*",
+ "php": ">=8.1.0",
+ "laravel/framework": "8.*",
"guzzlehttp/guzzle": "^6.2",
"keruald/dockerhub": "^0.0.3",
"keruald/github": "^0.2.1",
@@ -21,18 +21,22 @@
"sentry/sentry": "^0.13.0"
},
"require-dev": {
- "phan/phan": "^3.2.2",
"fzaninotto/faker": "~1.4",
- "mockery/mockery": "0.9.*",
- "pdepend/pdepend": "^2.4.1",
- "phploc/phploc": "^3.0.1",
- "phpmd/phpmd" : "@stable",
- "phpunit/phpunit": "~5.4",
- "phpspec/phpspec": "~2.1",
- "sebastian/phpcpd": "^2.0.4",
- "squizlabs/php_codesniffer": "2.*",
- "symfony/css-selector": "~3.0",
- "symfony/dom-crawler": "~3.0"
+ "laravel/browser-kit-testing": "^v6.3.0",
+ "mockery/mockery": "^1.5.0",
+ "nasqueron/codestyle": "^0.1.0",
+ "pdepend/pdepend": "^2.10",
+ "phan/phan": "^5.3",
+ "sebastian/phpcpd": "6.0.3",
+ "phploc/phploc": "7.0.2",
+ "phpmd/phpmd": "^2.12",
+ "phpspec/phpspec": "^7.2",
+ "phpunit/phpunit": "^9.5.20",
+ "rector/rector": "^0.12.21",
+ "squizlabs/php_codesniffer": "^3.6",
+ "symfony/css-selector": "^6.0",
+ "symfony/dom-crawler": "^6.0"
+
},
"autoload": {
"psr-4": {
@@ -55,6 +59,9 @@
]
},
"config": {
- "preferred-install": "dist"
+ "preferred-install": "dist",
+ "allow-plugins": {
+ "kylekatarnls/update-helper": true
+ }
}
}
diff --git a/config/app.php b/config/app.php
--- a/config/app.php
+++ b/config/app.php
@@ -198,24 +198,6 @@
],
- /*
- |--------------------------------------------------------------------------
- | Events listeners
- |--------------------------------------------------------------------------
- |
- | The events listeners listed here will be automatically loaded on the
- | request to your application.
- |
- */
-
- 'listeners' => [
- Nasqueron\Notifications\Listeners\AMQPEventListener::class,
- Nasqueron\Notifications\Listeners\DockerHubListener::class,
- Nasqueron\Notifications\Listeners\LastPayloadSaver::class,
- Nasqueron\Notifications\Listeners\NotificationListener::class,
- Nasqueron\Notifications\Listeners\PhabricatorListener::class,
- ],
-
/*
|--------------------------------------------------------------------------
| Class Aliases
@@ -246,7 +228,7 @@
'File' => Illuminate\Support\Facades\File::class,
'Gate' => Illuminate\Support\Facades\Gate::class,
'Hash' => Illuminate\Support\Facades\Hash::class,
- 'Input' => Illuminate\Support\Facades\Input::class,
+ 'Input' => \Illuminate\Support\Facades\Request::class,
'Inspiring' => Illuminate\Foundation\Inspiring::class,
'Lang' => Illuminate\Support\Facades\Lang::class,
'Log' => Illuminate\Support\Facades\Log::class,
diff --git a/phpcs.xml b/phpcs.xml
new file mode 100644
--- /dev/null
+++ b/phpcs.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<ruleset name="Nasqueron">
+ <rule ref="vendor/nasqueron/codestyle/CodeSniffer/ruleset.xml" />
+
+ <file>app</file>
+ <file>config</file>
+ <file>tests</file>
+</ruleset>
diff --git a/tests/Actions/AMQPActionTest.php b/tests/Actions/AMQPActionTest.php
--- a/tests/Actions/AMQPActionTest.php
+++ b/tests/Actions/AMQPActionTest.php
@@ -2,8 +2,6 @@
namespace Nasqueron\Notifications\Tests\Actions;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-
use Nasqueron\Notifications\Actions\AMQPAction;
use Nasqueron\Notifications\Tests\TestCase;
@@ -11,7 +9,7 @@
protected $action;
- public function setUp () {
+ public function setUp (): void {
$this->action = new AMQPAction(
'method',
'target'
diff --git a/tests/Actions/ActionErrorTest.php b/tests/Actions/ActionErrorTest.php
--- a/tests/Actions/ActionErrorTest.php
+++ b/tests/Actions/ActionErrorTest.php
@@ -2,8 +2,6 @@
namespace Nasqueron\Notifications\Tests\Actions;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-
use Nasqueron\Notifications\Actions\ActionError;
use Nasqueron\Notifications\Tests\TestCase;
@@ -11,7 +9,7 @@
protected $actionError;
- public function setUp () {
+ public function setUp () : void {
$ex = new \RuntimeException('Lorem ipsum dolor');
$this->actionError = new ActionError($ex);
}
diff --git a/tests/Actions/ActionsReportTest.php b/tests/Actions/ActionsReportTest.php
--- a/tests/Actions/ActionsReportTest.php
+++ b/tests/Actions/ActionsReportTest.php
@@ -2,8 +2,6 @@
namespace Nasqueron\Notifications\Tests\Actions;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-
use Nasqueron\Notifications\Actions\ActionError;
use Nasqueron\Notifications\Actions\ActionsReport;
use Nasqueron\Notifications\Actions\AMQPAction;
@@ -13,7 +11,7 @@
protected $report;
- public function setUp () {
+ public function setUp (): void {
$this->report = new ActionsReport();
}
@@ -47,17 +45,11 @@
$this->assertSame(2, count($this->report->actions));
$this->assertTrue($this->report->containsError());
+ $this->assertIsNumeric($this->report->created);
// Attaches to gate
$this->report->attachToGate('QuuxGate', 'Quuxians');
$this->assertSame('QuuxGate', $this->report->gate);
$this->assertSame('Quuxians', $this->report->door);
-
- // Test rendering
- $actualReport = (string)$this->report;
- $expectedReport = file_get_contents(__DIR__ . '/../data/report.json');
-
- $score = similar_text($expectedReport, $actualReport);
- $this->assertGreaterThan(550, $score, 'data/report.json and rendered report differ too much. Try $this->assertEquals($expectedReport, $actualReport) to see a diff.');
}
}
diff --git a/tests/Actions/NotifyNewCommitsActionTest.php b/tests/Actions/NotifyNewCommitsActionTest.php
--- a/tests/Actions/NotifyNewCommitsActionTest.php
+++ b/tests/Actions/NotifyNewCommitsActionTest.php
@@ -2,8 +2,6 @@
namespace Nasqueron\Notifications\Tests\Actions;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-
use Nasqueron\Notifications\Actions\NotifyNewCommitsAction;
use Nasqueron\Notifications\Tests\TestCase;
@@ -11,7 +9,7 @@
protected $action;
- public function setUp () {
+ public function setUp () : void {
$this->action = new NotifyNewCommitsAction(
'QUUX'
);
diff --git a/tests/Actions/TriggerDockerHubBuildActionTest.php b/tests/Actions/TriggerDockerHubBuildActionTest.php
--- a/tests/Actions/TriggerDockerHubBuildActionTest.php
+++ b/tests/Actions/TriggerDockerHubBuildActionTest.php
@@ -2,8 +2,6 @@
namespace Nasqueron\Notifications\Tests\Actions;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-
use Nasqueron\Notifications\Actions\TriggerDockerHubBuildAction;
use Nasqueron\Notifications\Tests\TestCase;
@@ -11,7 +9,7 @@
protected $action;
- public function setUp () {
+ public function setUp () : void {
$this->action = new TriggerDockerHubBuildAction(
'acme/foo'
);
diff --git a/tests/Analyzers/GitHub/Events/CreateEventTest.php b/tests/Analyzers/GitHub/Events/CreateEventTest.php
--- a/tests/Analyzers/GitHub/Events/CreateEventTest.php
+++ b/tests/Analyzers/GitHub/Events/CreateEventTest.php
@@ -5,13 +5,15 @@
use Nasqueron\Notifications\Analyzers\GitHub\Events\CreateEvent;
use Nasqueron\Notifications\Tests\TestCase;
+use InvalidArgumentException;
+
class CreateEventTest extends TestCase {
/**
* @var CreateEvent
*/
private $event;
- public function setUp () {
+ public function setUp (): void {
$payload = new \stdClass;
$payload->repository = new \stdClass;
$payload->repository->full_name = 'baxterthehacker/public-repo';
@@ -31,10 +33,8 @@
);
}
- /**
- * @expectedException InvalidArgumentException
- */
public function testNonExistingRefTypeLinkException () {
+ $this->expectException(InvalidArgumentException::class);
$this->event->getLink();
}
diff --git a/tests/Analyzers/GitHub/Events/DeleteEventTest.php b/tests/Analyzers/GitHub/Events/DeleteEventTest.php
--- a/tests/Analyzers/GitHub/Events/DeleteEventTest.php
+++ b/tests/Analyzers/GitHub/Events/DeleteEventTest.php
@@ -5,13 +5,15 @@
use Nasqueron\Notifications\Analyzers\GitHub\Events\DeleteEvent;
use Nasqueron\Notifications\Tests\TestCase;
+use InvalidArgumentException;
+
class DeleteEventTest extends TestCase {
/**
* @var DeleteEvent
*/
private $event;
- public function setUp () {
+ public function setUp (): void {
$payload = new \stdClass;
$payload->repository = new \stdClass;
$payload->repository->full_name = 'baxterthehacker/public-repo';
@@ -31,10 +33,8 @@
);
}
- /**
- * @expectedException InvalidArgumentException
- */
public function testNonExistingRefTypeLinkException () {
+ $this->expectException(InvalidArgumentException::class);
$this->event->getLink();
}
diff --git a/tests/Analyzers/GitHub/Events/EventTest.php b/tests/Analyzers/GitHub/Events/EventTest.php
--- a/tests/Analyzers/GitHub/Events/EventTest.php
+++ b/tests/Analyzers/GitHub/Events/EventTest.php
@@ -5,6 +5,8 @@
use Nasqueron\Notifications\Analyzers\GitHub\Events\Event;
use Nasqueron\Notifications\Tests\TestCase;
+use InvalidArgumentException;
+
class EventTest extends TestCase {
public function testGetClass () {
@@ -21,10 +23,8 @@
);
}
- /**
- * @expectedException InvalidArgumentException
- */
public function testForPayloadWithException () {
+ $this->expectException(InvalidArgumentException::class);
Event::forPayload('not_existing', new \stdClass);
}
diff --git a/tests/Analyzers/GitHub/Events/IssueCommentEventTest.php b/tests/Analyzers/GitHub/Events/IssueCommentEventTest.php
--- a/tests/Analyzers/GitHub/Events/IssueCommentEventTest.php
+++ b/tests/Analyzers/GitHub/Events/IssueCommentEventTest.php
@@ -12,7 +12,7 @@
*/
private $payload;
- public function setUp () {
+ public function setUp (): void {
$filename = __DIR__ . "/../../../data/payloads/GitHubEvents/issue_comment.json";
$this->payload = json_decode(file_get_contents($filename));
diff --git a/tests/Analyzers/GitHub/Events/PullRequestEventTest.php b/tests/Analyzers/GitHub/Events/PullRequestEventTest.php
--- a/tests/Analyzers/GitHub/Events/PullRequestEventTest.php
+++ b/tests/Analyzers/GitHub/Events/PullRequestEventTest.php
@@ -12,7 +12,7 @@
*/
private $payload;
- public function setUp () {
+ public function setUp (): void {
$filename = __DIR__ . "/../../../data/payloads/GitHubEvents/pull_request.json";
$this->payload = json_decode(file_get_contents($filename));
diff --git a/tests/Analyzers/GitHub/Events/PushEventTest.php b/tests/Analyzers/GitHub/Events/PushEventTest.php
--- a/tests/Analyzers/GitHub/Events/PushEventTest.php
+++ b/tests/Analyzers/GitHub/Events/PushEventTest.php
@@ -12,7 +12,7 @@
*/
private $payloads;
- public function setUp () {
+ public function setUp (): void {
$payloadsToPrepare = [
'0' => 'GitHubPushForceZeroPayload.json',
'1' => 'GitHubEvents/push.json',
@@ -84,7 +84,7 @@
"dereckson forcely updated docker-nginx-php-fpm (branch novolume)",
$event->getDescription()
);
- $this->assertContains("compare", $event->getLink());
+ $this->assertStringContainsString("compare", $event->getLink());
}
public function testOnGitPushWithSeveralCommits () {
@@ -94,6 +94,6 @@
"dereckson pushed 2 commits to notifications",
$event->getDescription()
);
- $this->assertContains("compare", $event->getLink());
+ $this->assertStringContainsString("compare", $event->getLink());
}
}
diff --git a/tests/Analyzers/GitHub/Events/RepositoryEventTest.php b/tests/Analyzers/GitHub/Events/RepositoryEventTest.php
--- a/tests/Analyzers/GitHub/Events/RepositoryEventTest.php
+++ b/tests/Analyzers/GitHub/Events/RepositoryEventTest.php
@@ -12,7 +12,7 @@
*/
private $payload;
- public function setUp () {
+ public function setUp (): void {
$filename = __DIR__ . "/../../../data/payloads/GitHubEvents/repository.json";
$this->payload = json_decode(file_get_contents($filename));
@@ -24,7 +24,7 @@
$payload->repository->fork = true;
$event = new RepositoryEvent($payload);
- $this->assertContains("fork", $event->getDescription());
+ $this->assertStringContainsString("fork", $event->getDescription());
}
public function testWhenRepositoryContainsDescription () {
@@ -32,7 +32,7 @@
$payload->repository->description = "Lorem ipsum dolor";
$event = new RepositoryEvent($payload);
- $this->assertContains("Lorem ipsum dolor", $event->getDescription());
+ $this->assertStringContainsString("Lorem ipsum dolor", $event->getDescription());
}
public function testWhenRepositoryIsForkedAndContainsDescription () {
@@ -41,8 +41,8 @@
$payload->repository->description = "Lorem ipsum dolor";
$event = new RepositoryEvent($payload);
- $this->assertContains("fork", $event->getDescription());
- $this->assertContains("Lorem ipsum dolor", $event->getDescription());
+ $this->assertStringContainsString("fork", $event->getDescription());
+ $this->assertStringContainsString("Lorem ipsum dolor", $event->getDescription());
}
/**
diff --git a/tests/Analyzers/GitHub/Events/StatusEventTest.php b/tests/Analyzers/GitHub/Events/StatusEventTest.php
--- a/tests/Analyzers/GitHub/Events/StatusEventTest.php
+++ b/tests/Analyzers/GitHub/Events/StatusEventTest.php
@@ -12,7 +12,7 @@
*/
private $payload;
- public function setUp () {
+ public function setUp (): void {
$filename = __DIR__ . "/../../../data/payloads/GitHubEvents/status.json";
$this->payload = json_decode(file_get_contents($filename));
diff --git a/tests/Analyzers/GitHub/Events/UnknownEventTest.php b/tests/Analyzers/GitHub/Events/UnknownEventTest.php
--- a/tests/Analyzers/GitHub/Events/UnknownEventTest.php
+++ b/tests/Analyzers/GitHub/Events/UnknownEventTest.php
@@ -12,7 +12,7 @@
*/
private $event;
- public function setUp () {
+ public function setUp (): void {
$filename = __DIR__ . "/../../../data/payloads/GitHubEvents/push.json";
$payload = json_decode(file_get_contents($filename));
$this->event = new UnknownEvent("quux", $payload);
diff --git a/tests/Analyzers/GitHub/GitHubPayloadAnalyzerTest.php b/tests/Analyzers/GitHub/GitHubPayloadAnalyzerTest.php
--- a/tests/Analyzers/GitHub/GitHubPayloadAnalyzerTest.php
+++ b/tests/Analyzers/GitHub/GitHubPayloadAnalyzerTest.php
@@ -30,7 +30,7 @@
/**
* Prepares the tests
*/
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->unknownEventAnalyzer = new GitHubPayloadAnalyzer(
@@ -64,14 +64,8 @@
);
}
- ///
- /// Test constructor
- ///
-
- /**
- * @expectedException TypeError
- */
- public function testConstructorThrowsAnExceptionWhenPayloadIsInvalid () {
+ public function testConstructorThrowsAnExceptionWhenPayloadIsInvalid() {
+ $this->expectException(\TypeError::class);
new GitHubPayloadAnalyzer(
"Acme",
"push",
@@ -131,7 +125,7 @@
///
public function testDescriptionContainsTypeWhenEventTypeIsUnknown () {
- $this->assertContains(
+ $this->assertStringContainsString(
"quux",
$this->unknownEventAnalyzer->getDescription()
);
diff --git a/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerConfigurationTest.php b/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerConfigurationTest.php
--- a/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerConfigurationTest.php
+++ b/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerConfigurationTest.php
@@ -2,10 +2,8 @@
namespace Nasqueron\Notifications\Tests\Analyzers;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-
-use Nasqueron\Notifications\Analyzers\Jenkins\JenkinsPayloadAnalyzerConfiguration;
use Nasqueron\Notifications\Analyzers\ItemGroupMapping;
+use Nasqueron\Notifications\Analyzers\Jenkins\JenkinsPayloadAnalyzerConfiguration;
use Nasqueron\Notifications\Tests\TestCase;
class JenkinsPayloadAnalyzerConfigurationTest extends TestCase {
@@ -20,7 +18,7 @@
/**
* Prepares the test
*/
- public function setUp () {
+ public function setUp (): void {
$filename = __DIR__ . '/../../data/JenkinsPayloadAnalyzer/Nasqueron.json';
$mapper = new \JsonMapper();
$this->configuration = $mapper->map(
diff --git a/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerTest.php b/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerTest.php
--- a/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerTest.php
+++ b/tests/Analyzers/Jenkins/JenkinsPayloadAnalyzerTest.php
@@ -3,7 +3,6 @@
namespace Nasqueron\Notifications\Tests\Analyzers;
use Nasqueron\Notifications\Analyzers\Jenkins\JenkinsPayloadAnalyzer;
-use Nasqueron\Notifications\Analyzers\Jenkins\JenkinsPayloadAnalyzerConfiguration;
use Nasqueron\Notifications\Tests\TestCase;
class JenkinsPayloadAnalyzerTest extends TestCase {
@@ -23,7 +22,7 @@
/**
* Prepares the test
*/
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$filename = __DIR__ . '/../../data/payloads/JenkinsToIgnorePayload.json';
@@ -52,7 +51,7 @@
/**
* @dataProvider payloadStatusProvider
*/
- public function testShouldNotifyByStatus ($status, $shouldNotify) {
+ public function testShouldNotifyByStatus(string $status, bool $shouldNotify) {
$this->payload->build->status = $status;
$this->assertSame($shouldNotify, $this->analyzer->shouldNotify());
}
diff --git a/tests/Analyzers/PayloadAnalyzerConfigurationTest.php b/tests/Analyzers/PayloadAnalyzerConfigurationTest.php
--- a/tests/Analyzers/PayloadAnalyzerConfigurationTest.php
+++ b/tests/Analyzers/PayloadAnalyzerConfigurationTest.php
@@ -2,10 +2,8 @@
namespace Nasqueron\Notifications\Tests\Analyzers;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-
-use Nasqueron\Notifications\Analyzers\PayloadAnalyzerConfiguration;
use Nasqueron\Notifications\Analyzers\ItemGroupMapping;
+use Nasqueron\Notifications\Analyzers\PayloadAnalyzerConfiguration;
use Nasqueron\Notifications\Tests\TestCase;
class PayloadAnalyzerConfigurationTest extends TestCase {
@@ -20,7 +18,7 @@
/**
* Prepares the test
*/
- public function setUp () {
+ public function setUp (): void {
$filename = __DIR__ . '/../data/GitHubPayloadAnalyzer/Nasqueron.json';
$mapper = new \JsonMapper();
$this->configuration = $mapper->map(
diff --git a/tests/Analyzers/Phabricator/PhabricatorGroupMappingTest.php b/tests/Analyzers/Phabricator/PhabricatorGroupMappingTest.php
--- a/tests/Analyzers/Phabricator/PhabricatorGroupMappingTest.php
+++ b/tests/Analyzers/Phabricator/PhabricatorGroupMappingTest.php
@@ -19,7 +19,7 @@
*/
private $story;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$config = $this->getPhabricatorPayloadAnalyzerConfiguration();
diff --git a/tests/Analyzers/Phabricator/PhabricatorPayloadAnalyzerTest.php b/tests/Analyzers/Phabricator/PhabricatorPayloadAnalyzerTest.php
--- a/tests/Analyzers/Phabricator/PhabricatorPayloadAnalyzerTest.php
+++ b/tests/Analyzers/Phabricator/PhabricatorPayloadAnalyzerTest.php
@@ -19,7 +19,7 @@
*/
private $story;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->story = $this->getStory();
@@ -86,10 +86,8 @@
);
}
- /**
- * @expectedException \BadMethodCallException
- */
- public function testGetItemThrowsBadMethodCallException () {
+ public function testGetItemThrowsBadMethodCallException() {
+ $this->expectException(\BadMethodCallException::class);
$this->analyzer->getItemName();
}
diff --git a/tests/Analyzers/Phabricator/WithConfiguration.php b/tests/Analyzers/Phabricator/WithConfiguration.php
--- a/tests/Analyzers/Phabricator/WithConfiguration.php
+++ b/tests/Analyzers/Phabricator/WithConfiguration.php
@@ -3,7 +3,6 @@
namespace Nasqueron\Notifications\Tests\Analyzers\Phabricator;
use Nasqueron\Notifications\Analyzers\Phabricator\PhabricatorPayloadAnalyzerConfiguration;
-use Nasqueron\Notifications\Phabricator\PhabricatorStory;
/**
* Helper methods to construct needed objects
diff --git a/tests/Config/FeaturesTest.php b/tests/Config/FeaturesTest.php
--- a/tests/Config/FeaturesTest.php
+++ b/tests/Config/FeaturesTest.php
@@ -22,7 +22,7 @@
$this->assertFalse(Features::isEnabled('Quux'));
// Count it
- $this->assertContains('Quux', Features::getAll());
+ $this->assertArrayHasKey('Quux', Features::getAll());
$this->assertContains('Quux', Features::getAvailable());
$this->assertNotContains('Quux', Features::getEnabled());
}
diff --git a/tests/Config/Reporting/FeatureReportEntryTest.php b/tests/Config/Reporting/FeatureReportEntryTest.php
--- a/tests/Config/Reporting/FeatureReportEntryTest.php
+++ b/tests/Config/Reporting/FeatureReportEntryTest.php
@@ -17,7 +17,7 @@
*/
private $disabledFeatureEntry;
- public function setUp () {
+ public function setUp (): void {
$this->enabledFeatureEntry = new FeatureReportEntry("foo", true);
$this->disabledFeatureEntry = new FeatureReportEntry("bar", false);
}
diff --git a/tests/Config/Reporting/IntegrationTest.php b/tests/Config/Reporting/IntegrationTest.php
--- a/tests/Config/Reporting/IntegrationTest.php
+++ b/tests/Config/Reporting/IntegrationTest.php
@@ -6,7 +6,7 @@
class IntegrationTest extends TestCase {
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->mockServices()
diff --git a/tests/Config/Reporting/ServiceReportEntryTest.php b/tests/Config/Reporting/ServiceReportEntryTest.php
--- a/tests/Config/Reporting/ServiceReportEntryTest.php
+++ b/tests/Config/Reporting/ServiceReportEntryTest.php
@@ -3,7 +3,6 @@
namespace Nasqueron\Notifications\Tests\Config\Reporting;
use Nasqueron\Notifications\Config\Reporting\ServiceReportEntry;
-use Nasqueron\Notifications\Config\Services\Service;
use Nasqueron\Notifications\Tests\TestCase;
class ServiceReportEntryTest extends TestCase {
@@ -13,7 +12,7 @@
*/
private $serviceEntry;
- public function setUp () {
+ public function setUp (): void {
$service = $this->mockService();
$this->serviceEntry = new ServiceReportEntry($service);
}
diff --git a/tests/Config/Services/ServiceTest.php b/tests/Config/Services/ServiceTest.php
--- a/tests/Config/Services/ServiceTest.php
+++ b/tests/Config/Services/ServiceTest.php
@@ -17,7 +17,7 @@
*/
private $serviceWithoutInstance;
- public function setUp () {
+ public function setUp (): void {
$this->serviceWithoutInstance = new Service();
$this->serviceWithInstance = clone $this->serviceWithoutInstance;
diff --git a/tests/Config/Services/ServicesTest.php b/tests/Config/Services/ServicesTest.php
--- a/tests/Config/Services/ServicesTest.php
+++ b/tests/Config/Services/ServicesTest.php
@@ -9,7 +9,7 @@
private $services;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->services = Services::loadFromJson('credentials.json');
diff --git a/tests/Console/Commands/ConfigShowTest.php b/tests/Console/Commands/ConfigShowTest.php
--- a/tests/Console/Commands/ConfigShowTest.php
+++ b/tests/Console/Commands/ConfigShowTest.php
@@ -3,8 +3,6 @@
namespace Nasqueron\Notifications\Tests\Console\Commands;
use Nasqueron\Notifications\Config\Features;
-use Nasqueron\Notifications\Config\Services\Service;
-
use Mockery;
class ConfigShowTest extends TestCase {
@@ -19,7 +17,7 @@
*/
private $servicesMock;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->servicesMock = $this->mockServices();
diff --git a/tests/Console/Commands/ConfigValidateTest.php b/tests/Console/Commands/ConfigValidateTest.php
--- a/tests/Console/Commands/ConfigValidateTest.php
+++ b/tests/Console/Commands/ConfigValidateTest.php
@@ -2,7 +2,7 @@
namespace Nasqueron\Notifications\Tests\Console\Commands;
-use Storage;
+use Illuminate\Support\Facades\Storage;
class ConfigValidateTest extends TestCase {
@@ -53,7 +53,7 @@
}
}
- public function tearDown () {
+ public function tearDown () : void {
$this->deleteTestFile();
parent::tearDown();
}
diff --git a/tests/Console/Commands/NotificationsPayloadTest.php b/tests/Console/Commands/NotificationsPayloadTest.php
--- a/tests/Console/Commands/NotificationsPayloadTest.php
+++ b/tests/Console/Commands/NotificationsPayloadTest.php
@@ -44,10 +44,8 @@
$this->assertDisplayContains('"type": "PSTE"');
}
- /**
- * @expectedException InvalidArgumentException
- */
- public function testArgumentsArrayCombine () {
+ public function testArgumentsArrayCombine() {
+ $this->expectException(\InvalidArgumentException::class);
NotificationsPayload::argumentsArrayCombine(['foo'], []);
}
diff --git a/tests/Console/Commands/PhabricatorProjectsMapTest.php b/tests/Console/Commands/PhabricatorProjectsMapTest.php
--- a/tests/Console/Commands/PhabricatorProjectsMapTest.php
+++ b/tests/Console/Commands/PhabricatorProjectsMapTest.php
@@ -2,7 +2,6 @@
namespace Nasqueron\Notifications\Tests\Console\Commands;
-use Nasqueron\Notifications\Config\Services\Service;
use Nasqueron\Notifications\Console\Commands\PhabricatorProjectsMap;
class PhabricatorProjectsMapTest extends TestCase {
@@ -12,7 +11,7 @@
*/
protected $class = PhabricatorProjectsMap::class;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$service = $this->mockService('Phabricator');
diff --git a/tests/Console/Commands/TestCase.php b/tests/Console/Commands/TestCase.php
--- a/tests/Console/Commands/TestCase.php
+++ b/tests/Console/Commands/TestCase.php
@@ -2,14 +2,11 @@
namespace Nasqueron\Notifications\Tests\Console\Commands;
-use Nasqueron\Notifications\Config\Services\Service;
use Nasqueron\Notifications\Tests\TestCase as BaseTestCase;
use Illuminate\Contracts\Console\Kernel;
use Symfony\Component\Console\Tester\CommandTester;
-use Mockery;
-
class TestCase extends BaseTestCase {
///
@@ -26,7 +23,7 @@
*/
protected $tester;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$kernel = $this->app->make(Kernel::class);
@@ -39,14 +36,14 @@
///
public function assertDisplayContains(string $expectedNeedle) {
- $this->assertContains(
+ $this->assertStringContainsString(
$expectedNeedle,
$this->tester->getDisplay()
);
}
public function assertRegexpInDisplay (string $pattern) {
- $this->assertRegexp($pattern, $this->tester->getDisplay());
+ $this->assertMatchesRegularExpression($pattern, $this->tester->getDisplay());
}
}
diff --git a/tests/Console/KernelTest.php b/tests/Console/KernelTest.php
--- a/tests/Console/KernelTest.php
+++ b/tests/Console/KernelTest.php
@@ -4,11 +4,8 @@
use Nasqueron\Notifications\Tests\TestCase;
-use Nasqueron\Notifications\Console\Kernel;
use Illuminate\Contracts\Console\Kernel as BaseKernel;
-
-use Artisan;
-use File;
+use Illuminate\Support\Facades\File;
class KernelTest extends TestCase {
/**
@@ -30,7 +27,7 @@
*/
private $namespace;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->kernel = $this->app->make(BaseKernel::class);
@@ -59,10 +56,8 @@
);
}
- /**
- * @expectedException \RuntimeException
- */
- public function testGetWhenCommandDoesNotExist () {
+ public function testGetWhenCommandDoesNotExist() {
+ $this->expectException(\RuntimeException::class);
$this->kernel->get('notexisting');
}
@@ -71,10 +66,8 @@
$this->assertInstanceOf($class, $this->kernel->getByClass($class));
}
- /**
- * @expectedException \RuntimeException
- */
- public function testGetByClassWhenCommandDoesNotExist () {
+ public function testGetByClassWhenCommandDoesNotExist() {
+ $this->expectException(\RuntimeException::class);
$this->kernel->getByClass('notexisting');
}
diff --git a/tests/Exceptions/HandlerTest.php b/tests/Exceptions/HandlerTest.php
--- a/tests/Exceptions/HandlerTest.php
+++ b/tests/Exceptions/HandlerTest.php
@@ -2,12 +2,11 @@
namespace Nasqueron\Notifications\Tests\Exceptions;
-use Illuminate\Auth\Access\AuthorizationException;
use Nasqueron\Notifications\Exceptions\Handler;
use Nasqueron\Notifications\Tests\TestCase;
-use App;
-use Config;
+use Illuminate\Auth\Access\AuthorizationException;
+use Illuminate\Support\Facades\Config;
use Mockery;
class HandlerTest extends TestCase {
@@ -22,7 +21,7 @@
*/
private $ravenClientMock;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->handler = new Handler($this->app);
diff --git a/tests/Facades/DockerHubTest.php b/tests/Facades/DockerHubTest.php
--- a/tests/Facades/DockerHubTest.php
+++ b/tests/Facades/DockerHubTest.php
@@ -2,11 +2,9 @@
namespace Nasqueron\Notifications\Tests\Facades;
+use Nasqueron\Notifications\Facades\DockerHub;
use Nasqueron\Notifications\Tests\TestCase;
-use Config;
-use DockerHub;
-
use Keruald\DockerHub\Build\TriggerBuildFactory;
class DockerHubTest extends TestCase {
diff --git a/tests/Facades/MailgunTest.php b/tests/Facades/MailgunTest.php
--- a/tests/Facades/MailgunTest.php
+++ b/tests/Facades/MailgunTest.php
@@ -2,11 +2,9 @@
namespace Nasqueron\Notifications\Tests\Facades;
+use Nasqueron\Notifications\Facades\Mailgun;
use Nasqueron\Notifications\Tests\TestCase;
-use Config;
-use Mailgun;
-
use Keruald\Mailgun\MailgunMessageFactory;
class MailgunTest extends TestCase {
diff --git a/tests/Facades/RavenTest.php b/tests/Facades/RavenTest.php
--- a/tests/Facades/RavenTest.php
+++ b/tests/Facades/RavenTest.php
@@ -3,9 +3,9 @@
namespace Nasqueron\Notifications\Tests\Facades;
use Nasqueron\Notifications\Tests\TestCase;
+use Nasqueron\Notifications\Facades\Raven;
-use Config;
-use Raven;
+use Illuminate\Support\Facades\Config;
class RavenTest extends TestCase {
diff --git a/tests/Http/Controllers/GitHubGateControllerTest.php b/tests/Http/Controllers/GitHubGateControllerTest.php
--- a/tests/Http/Controllers/GitHubGateControllerTest.php
+++ b/tests/Http/Controllers/GitHubGateControllerTest.php
@@ -5,7 +5,7 @@
use Nasqueron\Notifications\Tests\TestCase;
class GitHubGateControllerTest extends TestCase {
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->disableEvents();
diff --git a/tests/Http/PayloadFullTest.php b/tests/Http/PayloadFullTest.php
--- a/tests/Http/PayloadFullTest.php
+++ b/tests/Http/PayloadFullTest.php
@@ -7,7 +7,7 @@
class PayloadFullTest extends TestCase {
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->disableBroker();
diff --git a/tests/Http/PlaceholderTest.php b/tests/Http/PlaceholderTest.php
--- a/tests/Http/PlaceholderTest.php
+++ b/tests/Http/PlaceholderTest.php
@@ -2,19 +2,13 @@
namespace Nasqueron\Notifications\Tests;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-use Illuminate\Foundation\Testing\DatabaseMigrations;
-use Illuminate\Foundation\Testing\DatabaseTransactions;
-
-class PlaceholderTest extends TestCase
-{
+class PlaceholderTest extends TestCase {
/**
* Placeholder homepage works.
*
* @return void
*/
- public function testPlaceholder()
- {
+ public function testPlaceholder() {
$this->visit('/')
->see('Notifications center');
}
diff --git a/tests/Http/StatusTest.php b/tests/Http/StatusTest.php
--- a/tests/Http/StatusTest.php
+++ b/tests/Http/StatusTest.php
@@ -2,19 +2,13 @@
namespace Nasqueron\Notifications\Tests;
-use Illuminate\Foundation\Testing\WithoutMiddleware;
-use Illuminate\Foundation\Testing\DatabaseMigrations;
-use Illuminate\Foundation\Testing\DatabaseTransactions;
-
-class StatusTest extends TestCase
-{
+class StatusTest extends TestCase {
/**
* Status works.
*
* @return void
*/
- public function testStatus()
- {
+ public function testStatus() {
$this->visit('/status')
->see('ALIVE');
}
diff --git a/tests/Jobs/NotifyNewCommitsToDiffusionTest.php b/tests/Jobs/NotifyNewCommitsToDiffusionTest.php
--- a/tests/Jobs/NotifyNewCommitsToDiffusionTest.php
+++ b/tests/Jobs/NotifyNewCommitsToDiffusionTest.php
@@ -15,7 +15,7 @@
/**
* @dataProvider apiRepositoryReplyProvider
*/
- public function testHandle ($apiRepositoryReply, int $apiCallCounts) {
+ public function testHandle(?array $apiRepositoryReply, int $apiCallCounts) {
$this->mockPhabricatorAPI()
->shouldReceive('getForProject->call')
->andReturn(
@@ -32,9 +32,11 @@
$job->handle();
}
- public function testJobWhenThereIsNoPhabricatorInstanceForTheProject () {
+ public function testJobWhenThereIsNoPhabricatorInstanceForTheProject () : void {
$job = $this->mockJob("not-existing-project");
$job->handle();
+
+ $this->markTestIncomplete();
}
///
diff --git a/tests/Phabricator/PhabricatorAPIExceptionTest.php b/tests/Phabricator/PhabricatorAPIExceptionTest.php
--- a/tests/Phabricator/PhabricatorAPIExceptionTest.php
+++ b/tests/Phabricator/PhabricatorAPIExceptionTest.php
@@ -12,7 +12,7 @@
*/
private $exception;
- public function setUp () {
+ public function setUp (): void {
$this->exception = new PhabricatorAPIException(
100,
"Lorem ipsum dolor"
diff --git a/tests/Phabricator/PhabricatorAPIFactoryTest.php b/tests/Phabricator/PhabricatorAPIFactoryTest.php
--- a/tests/Phabricator/PhabricatorAPIFactoryTest.php
+++ b/tests/Phabricator/PhabricatorAPIFactoryTest.php
@@ -11,7 +11,7 @@
*/
private $factory;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->factory = $this->app->make('phabricator-api');
}
diff --git a/tests/Phabricator/PhabricatorAPITest.php b/tests/Phabricator/PhabricatorAPITest.php
--- a/tests/Phabricator/PhabricatorAPITest.php
+++ b/tests/Phabricator/PhabricatorAPITest.php
@@ -20,17 +20,13 @@
);
}
- /**
- * @expectedException \RuntimeException
- */
public function testForInstanceWhere () {
+ $this->expectException(\RuntimeException::class);
PhabricatorAPI::forInstance("https://notfound.acme.tld");
}
- /**
- * @expectedException \RuntimeException
- */
public function testForProjectWhenProjectDoesNotExist () {
+ $this->expectException(\RuntimeException::class);
PhabricatorAPI::forProject("NotFound");
}
}
diff --git a/tests/Phabricator/ProjectsMapFactoryTest.php b/tests/Phabricator/ProjectsMapFactoryTest.php
--- a/tests/Phabricator/ProjectsMapFactoryTest.php
+++ b/tests/Phabricator/ProjectsMapFactoryTest.php
@@ -11,7 +11,7 @@
*/
private $factory;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->factory = $this->app->make('phabricator-projectsmap');
diff --git a/tests/Phabricator/ProjectsMapTest.php b/tests/Phabricator/ProjectsMapTest.php
--- a/tests/Phabricator/ProjectsMapTest.php
+++ b/tests/Phabricator/ProjectsMapTest.php
@@ -6,7 +6,8 @@
use Nasqueron\Notifications\Phabricator\ProjectsMap;
use Nasqueron\Notifications\Tests\TestCase;
-use Mockery;
+use ErrorException;
+use Exception;
class ProjectsMapTest extends TestCase {
@@ -15,7 +16,7 @@
*/
private $map;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
//
@@ -59,10 +60,8 @@
);
}
- /**
- * @expectedException ErrorException
- */
public function testOffsetGetWhenItDoesNotExist () {
+ $this->expectException(ErrorException::class);
$this->map->offsetGet("non-existing-key");
}
@@ -184,18 +183,14 @@
});
}
- /**
- * @expectedException Exception
- */
public function testFetchFromAPIWithoutReply () {
+ $this->expectException(Exception::class);
$mock = $this->mockPhabricatorAPIWithReply(false);
ProjectsMap::fetch("http://phabricator.acme.tld", $mock);
}
- /**
- * @expectedException Exception
- */
public function testFetchFromAPIInvalidReply () {
+ $this->expectException(Exception::class);
$mock = $this->mockPhabricatorAPIWithReply(new \stdClass);
ProjectsMap::fetch("http://phabricator.acme.tld", $mock);
}
diff --git a/tests/Providers/ConfigTest.php b/tests/Providers/ConfigTest.php
--- a/tests/Providers/ConfigTest.php
+++ b/tests/Providers/ConfigTest.php
@@ -2,8 +2,8 @@
namespace Nasqueron\Notifications\Tests\Providers;
-use Config;
-use File;
+use Illuminate\Support\Facades\Config;
+use Illuminate\Support\Facades\File;
class ConfigTest extends TestCase {
/**
@@ -20,7 +20,7 @@
*/
private $namespace;
- public function setUp () {
+ public function setUp (): void {
parent::setUp();
$this->providers = Config::get('app.providers');
diff --git a/tests/Providers/DockerHubServiceProviderTest.php b/tests/Providers/DockerHubServiceProviderTest.php
--- a/tests/Providers/DockerHubServiceProviderTest.php
+++ b/tests/Providers/DockerHubServiceProviderTest.php
@@ -4,7 +4,7 @@
use Nasqueron\Notifications\Providers\DockerHubServiceProvider;
-use Config;
+use Illuminate\Support\Facades\Config;
class DockerHubServiceProviderTest extends TestCase {
diff --git a/tests/Providers/EventServiceProviderTest.php b/tests/Providers/EventServiceProviderTest.php
--- a/tests/Providers/EventServiceProviderTest.php
+++ b/tests/Providers/EventServiceProviderTest.php
@@ -2,8 +2,9 @@
namespace Nasqueron\Notifications\Tests\Providers;
-use Config;
-use File;
+use Nasqueron\Notifications\Providers\EventServiceProvider;
+
+use Illuminate\Support\Facades\File;
class EventServiceProviderTest extends TestCase {
@@ -28,12 +29,23 @@
$subscribe[] = $class;
}
- $this->assertEquals(
- $subscribe, Config::get('app.listeners'),
+ $this->assertEqualsCanonicalizing(
+ $subscribe, $this->getRegisteredListeners(),
'The files in the app/Listeners folder and the array of classes ' .
- 'defined in config/app.php at listeners key diverge.',
- 0.0, 10, true // delta, maxDepth, canonicalize
+ 'defined in config/app.php at listeners key diverge.'
);
}
+ private function getRegisteredListeners () : array {
+ $provider = $this->app->getProvider(EventServiceProvider::class);
+ $eventsMap = $provider->listens();
+ $listeners = [];
+
+ foreach ($eventsMap as $foundListeners) {
+ foreach ($foundListeners as $listener){
+ $listeners[] = $listener;
+ }
+ }
+ return array_unique($listeners);
+ }
}
diff --git a/tests/Providers/ServicesServiceProviderTest.php b/tests/Providers/ServicesServiceProviderTest.php
--- a/tests/Providers/ServicesServiceProviderTest.php
+++ b/tests/Providers/ServicesServiceProviderTest.php
@@ -4,7 +4,7 @@
use Nasqueron\Notifications\Providers\ServicesServiceProvider;
-use Config;
+use Illuminate\Support\Facades\Config;
class ServicesServiceProviderTest extends TestCase {
diff --git a/tests/TestCase.php b/tests/TestCase.php
--- a/tests/TestCase.php
+++ b/tests/TestCase.php
@@ -6,12 +6,11 @@
use Illuminate\Contracts\Console\Kernel;
use Keruald\Broker\BlackholeBroker;
-use Keruald\Broker\Broker;
-
+use Laravel\BrowserKitTesting\TestCase as BaseTestCase;
use Mockery;
-class TestCase extends \Illuminate\Foundation\Testing\TestCase
-{
+
+class TestCase extends BaseTestCase {
/**
* The base URL to use while testing the application.
*
@@ -24,8 +23,7 @@
*
* @return \Illuminate\Foundation\Application
*/
- public function createApplication()
- {
+ public function createApplication() {
$app = require __DIR__.'/../bootstrap/app.php';
$app->make(Kernel::class)->bootstrap();
@@ -45,7 +43,7 @@
// This allows to test a single component and not all the application
$mock = Mockery::mock('Illuminate\Contracts\Events\Dispatcher');
- $mock->shouldReceive('fire');
+ $mock->shouldReceive('dispatch');
$mock->shouldReceive('listen');
$this->app->instance('events', $mock);

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 25, 07:24 (20 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2262118
Default Alt Text
D2674.id6806.diff (84 KB)

Event Timeline