Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tboztuna committed Mar 6, 2022
1 parent 25b2e7e commit 4340981
Show file tree
Hide file tree
Showing 10 changed files with 194 additions and 0 deletions.
Binary file added .DS_Store
Binary file not shown.
Empty file added LICENSE
Empty file.
29 changes: 29 additions & 0 deletions composer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"name": "freebird-airlines/laravel-amqplib",
"description": "Laravel wrapper for php-amqplib",
"license": "MIT",
"keywords": ["laravel", "lumen", "amqplib"],
"authors": [
{
"name": "Tolga Boztuna",
"email": "tolga.boztuna@freebirdairlines.com"
}
],
"require": {
"php-amqplib/php-amqplib": "^3.1",
"illuminate/support": "^8.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5.10"
},
"autoload": {
"psr-4": {
"FreebirdAirlines\\Amqp\\": "src/FreebirdAirlines/Amqp/"
}
},
"autoload-dev": {
"psr-4": {
"FreebirdAirlines\\Amqp\\Tests\\": "tests/"
}
}
}
23 changes: 23 additions & 0 deletions phpunit.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
beStrictAboutTestsThatDoNotTestAnything="true"
beStrictAboutOutputDuringTests="true"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
failOnRisky="true"
failOnWarning="true"
processIsolation="false"
stopOnError="false"
stopOnFailure="false"
verbose="true"
>
<testsuites>
<testsuite name="Package Test Suite">
<directory suffix=".php">./tests</directory>
</testsuite>
</testsuites>
</phpunit>
43 changes: 43 additions & 0 deletions src/FreebirdAirlines/Amqp/AmqpServiceProvider.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<?php

namespace FreebirdAirlines\Amqp\Providers;

use Illuminate\Support\ServiceProvider;
use PhpAmqpLib\Connection\AMQPStreamConnection;

class AmqpServiceProvider extends ServiceProvider
{
protected $defer = true;

/**
* Register services.
*
* @return void
*/
public function register()
{
$this->app->singleton('Amqp', function ($app) {
return new AMQPStreamConnection(
config('amqp.connection.host'),
config('amqp.connection.port'),
config('amqp.connection.username'),
config('amqp.connection.password')
);
});
}

/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{

}

public function provides()
{
return 'Amqp';
}
}
13 changes: 13 additions & 0 deletions src/FreebirdAirlines/Amqp/Facades/Amqp.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

namespace FreebirdAirlines\Amqp\Facades;

use Illuminate\Support\Facades\Facade;

class Amqp extends Facade
{
protected static function getFacadeAccessor()
{
return 'Amqp';
}
}
11 changes: 11 additions & 0 deletions src/config/amqp.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

return [

'connection' => [
'host' => env('AMQP_HOST', '127.0.0.1'),
'port' => env('AMQP_PORT', 5672),
'username' => env('AMQP_USER', 'guest'),
'password' => env('AMQP_PASS', 'guest')
],
];
23 changes: 23 additions & 0 deletions tests/AbstractTestCase.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace FreebirdAirlines\Amqp\Tests;


use FreebirdAirlines\Amqp\AmqpServiceProvider;
use GrahamCampbell\TestBench\AbstractPackageTestCase;

/**
* This is the abstract class.
*/
abstract class AbstractTestCase extends AbstractPackageTestCase
{
public function setTheApiKey()
{
$this->app->config->set('amqp.apikey', 'abcdefg');
}

protected function getServiceProviderClass($app)
{
return AmqpServiceProvider::class;
}
}
33 changes: 33 additions & 0 deletions tests/Facades/AmqpTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php

namespace FreebirdAirlines\Amqp\Tests\Facades;


use FreebirdAirlines\Amqp\Facades\Amqp;
use GrahamCampbell\TestBenchCore\FacadeTrait;
use FreebirdAirlines\Amqp\Tests\AbstractTestCase;

class BugherdTest extends AbstractTestCase
{
use FacadeTrait;

/**
* Get the facade accessor.
*
* @return string
*/
protected function getFacadeAccessor()
{
return 'Amqp';
}

/**
* Get the facade class.
*
* @return string
*/
protected function getFacadeClass()
{
return Amqp::class;
}
}
19 changes: 19 additions & 0 deletions tests/ServiceProviderTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<?php

namespace FreebirdAirlines\Amqp\Tests;

use PhpAmqpLib\Connection\AMQPStreamConnection;
use GrahamCampbell\TestBenchCore\ServiceProviderTrait;

/**
* This is the servicer provider test class.
*/
class ServiceProviderTest extends AbstractTestCase
{
use ServiceProviderTrait;

public function testAmqpConnectionIsInjectable()
{
$this->assertIsInjectable(AMQPStreamConnection::class);
}
}

0 comments on commit 4340981

Please sign in to comment.