Completed
Push — master ( cb575d...8e212c )
by Alessandro
02:01
created

InfluxDbClientFactoryTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 51.43 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 1
cbo 4
dl 18
loc 35
rs 10

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
//declare(strict_types=1);
3
4
namespace Algatux\InfluxDbBundle\Tests\unit\Services\Clients;
5
6
use Algatux\InfluxDbBundle\Services\Clients\InfluxDbClientFactory;
7
use InfluxDB\Client;
8
use InfluxDB\Database;
9
use InfluxDB\Driver\Guzzle;
10
use InfluxDB\Driver\UDP;
11
12
class InfluxDbClientFactoryTest extends \PHPUnit_Framework_TestCase
13
{
14
15
    const TEST_HOST = 'localhost';
16
    const TEST_DB = 'udp';
17
    const TEST_UDP = '4444';
18
    const TEST_HTTP = '8086';
19
20
    public function test_client_factory_test_exists()
21
    {
22
        $factory = new InfluxDbClientFactory(self::TEST_HOST,self::TEST_DB,self::TEST_UDP,self::TEST_HTTP);
23
        $this->assertInstanceOf(InfluxDbClientFactory::class, $factory);
24
    }
25
26
    public function test_build_udp_client_returns_a_valid_client()
27
    {
28
        $factory = new InfluxDbClientFactory(self::TEST_HOST,self::TEST_DB,self::TEST_UDP,self::TEST_HTTP);
29
        $database = $factory->buildUdpClient();
30
31
        $this->assertInstanceOf(Database::class, $database);
32
        $this->assertEquals(self::TEST_DB, $database->getName());
33
        $this->assertInstanceOf(UDP::class,$database->getClient()->getDriver());
34
    }
35
36
    public function test_build_http_client_returns_a_valid_client()
37
    {
38
        $factory = new InfluxDbClientFactory(self::TEST_HOST,self::TEST_DB,self::TEST_UDP,self::TEST_HTTP);
39
        $database = $factory->buildHttpClient();
40
41
        $this->assertInstanceOf(Database::class, $database);
42
        $this->assertEquals(self::TEST_DB, $database->getName());
43
        $this->assertInstanceOf(Guzzle::class,$database->getClient()->getDriver());
44
    }
45
46
}
47