wip
This commit is contained in:
parent
90b6998eaa
commit
cbf8cbf1dc
|
|
@ -45,7 +45,7 @@ return [
|
|||
/*
|
||||
* This model will be used to store the statistics of the WebSocketsServer
|
||||
*/
|
||||
'statistics_model' => \BeyondCode\LaravelWebSockets\Statistics\WebSocketsStatisticsEntry::class,
|
||||
'statistics_model' => \BeyondCode\LaravelWebSockets\Statistics\Models\WebSocketsStatisticsEntry::class,
|
||||
|
||||
/*
|
||||
* Define the optional SSL context for your WebSocket connections.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
namespace BeyondCode\LaravelWebSockets\Statistics\Http\Controllers;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\Statistics\Rules\AppId;
|
||||
use BeyondCode\LaravelWebSockets\Statistics\WebSocketsStatisticsEntry;
|
||||
use BeyondCode\LaravelWebSockets\Statistics\Models\WebSocketsStatisticsEntry;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class WebsocketStatisticsEntriesController
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Statistics;
|
||||
namespace BeyondCode\LaravelWebSockets\Statistics\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
|
|
@ -64,14 +64,14 @@ class WebSocketsServiceProvider extends ServiceProvider
|
|||
protected function registerRouteMacro()
|
||||
{
|
||||
Route::macro('webSockets', function($prefix = 'websockets') {
|
||||
Route::prefix($prefix)->namespace('\\')->middleware(Authorize::class)->group(function() {
|
||||
Route::prefix($prefix)->middleware(Authorize::class)->group(function() {
|
||||
Route::get('/', ShowDashboard::class);
|
||||
Route::post('auth', AuthenticateDashboard::class);
|
||||
Route::post('event', SendMessage::class);
|
||||
});
|
||||
|
||||
//TODO: add middleware
|
||||
Route::prefix($prefix)->namespace('\\')->group(function() {
|
||||
Route::prefix($prefix)->group(function() {
|
||||
Route::post('statistics', [WebsocketStatisticsEntriesController::class, 'store']);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Tests\Statistics\Controllers;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\Statistics\Http\Controllers\WebsocketStatisticsEntriesController;
|
||||
use BeyondCode\LaravelWebSockets\Statistics\Models\WebSocketsStatisticsEntry;
|
||||
use BeyondCode\LaravelWebSockets\Tests\TestCase;
|
||||
|
||||
class WebSocketsStatisticsControllerTest extends TestCase
|
||||
{
|
||||
/** @test */
|
||||
public function it_can_store_statistics()
|
||||
{
|
||||
$this->withoutExceptionHandling();
|
||||
|
||||
$this->post(
|
||||
action([WebsocketStatisticsEntriesController::class, 'store']),
|
||||
$this->payload()
|
||||
);
|
||||
|
||||
$entries = WebSocketsStatisticsEntry::get();
|
||||
|
||||
$this->assertCount(1, $entries);
|
||||
|
||||
$this->assertArraySubset($this->payload(), $entries->first()->attributesToArray());
|
||||
}
|
||||
|
||||
protected function payload(): array
|
||||
{
|
||||
return [
|
||||
'app_id' => config('websockets.apps.0.id'),
|
||||
'peak_connections' => 1,
|
||||
'websocket_message_count' => 2,
|
||||
'api_message_count' => 3,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@ use BeyondCode\LaravelWebSockets\WebSockets\WebSocketHandler;
|
|||
use GuzzleHttp\Psr7\Request;
|
||||
use BeyondCode\LaravelWebSockets\Tests\Mocks\Connection;
|
||||
use BeyondCode\LaravelWebSockets\WebSocketsServiceProvider;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||
|
|
@ -25,6 +26,8 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
|||
$this->pusherServer = app(WebSocketHandler::class);
|
||||
|
||||
$this->channelManager = app(ChannelManager::class);
|
||||
|
||||
Route::webSockets();
|
||||
}
|
||||
|
||||
protected function getPackageProviders($app)
|
||||
|
|
@ -48,6 +51,8 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
|||
include_once __DIR__.'/../database/migrations/create_websockets_statistics_entries_table.php.stub';
|
||||
|
||||
(new \CreateWebSocketsStatisticsEntriesTable())->up();
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected function getWebSocketConnection(string $url = '/?appKey=TestKey'): Connection
|
||||
|
|
|
|||
Loading…
Reference in New Issue