Skip to content

Commit c99ee57

Browse files
author
Volodymyr Shevchenko
committed
Add tests client
1 parent 99b3a3d commit c99ee57

File tree

6 files changed

+64
-40
lines changed

6 files changed

+64
-40
lines changed

Resources/config/services.yml

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
imports:
22
- { resource: parameters.yml }
33
services:
4+
_defaults: { public: true }
45
centrifugo.client:
56
class: Kismia\CentrifugoBundle\Client\CentrifugoClient
67
arguments: ["%centrifugo.apiendpoint%", "%centrifugo.secret%", "%centrifugo.transport%"]

Tests/Client/CentrifugoClientTest.php

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
namespace Kismia\CentrifugoBundle\Tests\Client;
4+
5+
use Kismia\CentrifugoBundle\DependencyInjection\CentrifugoExtension;
6+
use PHPUnit\Framework\TestCase;
7+
use Symfony\Component\DependencyInjection\ContainerBuilder;
8+
use Symfony\Component\Yaml\Yaml;
9+
10+
class CentrifugoClientTest extends TestCase
11+
{
12+
public function testClient()
13+
{
14+
$config = Yaml::parseFile(__DIR__.'/../Fixtures/config.yaml');
15+
16+
$container = $this->getContainer($config);
17+
18+
$client = $container->get('centrifugo.client');
19+
20+
$this->assertEquals('Kismia\CentrifugoBundle\Client\CentrifugoClient', get_class($client));
21+
22+
}
23+
24+
protected function getContainer(array $config = array(), array $thirdPartyDefinitions = array())
25+
{
26+
$container = new ContainerBuilder();
27+
foreach ($thirdPartyDefinitions as $id => $definition) {
28+
$container->setDefinition($id, $definition);
29+
}
30+
$container->getCompilerPassConfig()->setOptimizationPasses([]);
31+
$container->getCompilerPassConfig()->setRemovingPasses([]);
32+
33+
$loader = new CentrifugoExtension();
34+
$loader->load($config, $container);
35+
$container->compile();
36+
37+
return $container;
38+
}
39+
}
40+

Tests/DependencyInjection/CentrifugoExtensionTest.php

+11-16
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,30 @@
44

55
use Kismia\CentrifugoBundle\DependencyInjection\CentrifugoExtension;
66
use PHPUnit\Framework\TestCase;
7+
use Symfony\Component\Config\FileLocator;
78
use Symfony\Component\DependencyInjection\ContainerBuilder;
9+
use Symfony\Component\Yaml\Yaml;
810

911

1012
class CentrifugoExtensionTest extends TestCase
1113
{
1214

1315
public function testLoad()
1416
{
15-
$config = [
16-
'centrifugo' => [
17-
'apiendpoint' => 'localhost',
18-
'secret' => 'api-secret',
19-
'transport' => [
20-
'redis' => [
21-
'host' => 'localhost',
22-
'port' => 6379,
23-
'shards' => 6,
24-
'db' => 1
25-
]
26-
]
27-
]
28-
];
17+
18+
$config = Yaml::parseFile(__DIR__.'/../Fixtures/config.yaml');
19+
2920

3021
$container = $this->getContainer($config);
3122
$this->assertTrue($container->hasDefinition('centrifugo.client'));
3223

33-
$centrifugo = $container->getDefinition('centrifugo.client');
34-
var_dump($centrifugo->getArguments());
24+
$defination = $container->getDefinition('centrifugo.client');
25+
$arguments = $defination->getArguments();
26+
3527

28+
$this->assertEquals('%centrifugo.apiendpoint%', $arguments[0]);
29+
$this->assertEquals('%centrifugo.secret%', $arguments[1]);
30+
$this->assertEquals('%centrifugo.transport%', $arguments[2]);
3631

3732
}
3833

Tests/DependencyInjection/Configuration/ConfigurationTest.php

+2-14
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,13 @@
55
use Kismia\CentrifugoBundle\DependencyInjection\Configuration\Configuration;
66
use PHPUnit\Framework\TestCase;
77
use Symfony\Component\Config\Definition\Processor;
8+
use Symfony\Component\Yaml\Yaml;
89

910
class ConfigurationTest extends TestCase
1011
{
1112
public function testSimpleConfig()
1213
{
13-
$config = [
14-
'centrifugo' => [
15-
'apiendpoint' => 'localhost',
16-
'secret' => 'api-secret',
17-
'transport' => [
18-
'redis' => [
19-
'host' => 'localhost',
20-
'port' => 6379,
21-
'shards' => 6,
22-
'db' => 1
23-
]
24-
]
25-
]
26-
];
14+
$config = Yaml::parseFile(__DIR__.'/../../Fixtures/config.yaml');
2715

2816
$configs = $this->process($config);
2917

Tests/Fixtures/config.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
centrifugo:
2+
apiendpoint: 'http//localhost:8080'
3+
secret: ''
4+
transport:
5+
redis:
6+
host: 'localhost'
7+
shards: 6
8+
db: 2
9+
timeout: 0.3
10+
port: 6379

Tests/Fixtures/config.yml

-10
This file was deleted.

0 commit comments

Comments
 (0)