Passed
Push — main ( 5a7618...6ff268 )
by Osvaldo
01:34
created

ConexionTest   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 79
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 28
c 1
b 0
f 0
dl 0
loc 79
rs 10
wmc 9

9 Methods

Rating   Name   Duplication   Size   Complexity  
A testBaseDeDatosSoloDevuelveString() 0 4 1
A testBaseDeDatosNoPuedeEstarVacia() 0 4 1
A testUsuarioBaseDeDatosNoPuedeEstarVacia() 0 4 1
A testHostBaseDeDatosNoPuedeEstarVacia() 0 4 1
A testHostSoloDevuelveString() 0 4 1
A testUsuarioSoloDevuelveString() 0 4 1
A testContraseñaSoloDevuelveString() 0 4 1
A testSiLaConexionEsExitosaDevuelvePDO() 0 10 1
A testSilaConexionFallaLanzaExcepcion() 0 11 1
1
<?php
2
declare(strict_types=1);
3
namespace test;
4
5
use Exception;
6
use PDO;
7
use PDOStatement;
8
use src\excepciones\ConexionABaseDeDatosException;
9
use \PHPUnit\Framework\TestCase;
10
use src\pdodatabase\conexion\BaseDeDatos;
11
use src\pdodatabase\conexion\ConexionBaseDeDatos;
12
use src\pdodatabase\conexion\ContraseñaBaseDeDatos;
13
use src\pdodatabase\conexion\HostBaseDeDatos;
14
use src\pdodatabase\conexion\UsuarioBaseDeDatos;
15
16
class ConexionTest extends TestCase
17
{
18
    //Base de datos
19
20
    public function testBaseDeDatosNoPuedeEstarVacia()
21
    {
22
        $this->expectException(Exception::class);
23
        $base = new BaseDeDatos('');
0 ignored issues
show
Unused Code introduced by
The assignment to $base is dead and can be removed.
Loading history...
24
    }
25
26
    public function testBaseDeDatosSoloDevuelveString()
27
    {
28
        $base = new BaseDeDatos('test');
29
        $this->assertIsString($base->baseDeDatos());
30
    }
31
32
    //Contraseña
33
34
    public function testContraseñaSoloDevuelveString()
35
    {
36
        $base = new ContraseñaBaseDeDatos('23');
37
        $this->assertIsString($base->contraseñaBaseDeDatos());
38
    }
39
40
    //Host
41
42
    public function testHostBaseDeDatosNoPuedeEstarVacia()
43
    {
44
        $this->expectException(Exception::class);
45
        $base = new HostBaseDeDatos('');
0 ignored issues
show
Unused Code introduced by
The assignment to $base is dead and can be removed.
Loading history...
46
    }
47
48
    public function testHostSoloDevuelveString()
49
    {
50
        $base = new HostBaseDeDatos('23');
51
        $this->assertIsString($base->hostBaseDeDatos());
52
    }
53
54
    // usuario
55
56
    public function testUsuarioBaseDeDatosNoPuedeEstarVacia()
57
    {
58
        $this->expectException(Exception::class);
59
        $base = new UsuarioBaseDeDatos('');
0 ignored issues
show
Unused Code introduced by
The assignment to $base is dead and can be removed.
Loading history...
60
    }
61
62
    public function testUsuarioSoloDevuelveString()
63
    {
64
        $base = new UsuarioBaseDeDatos('23');
65
        $this->assertIsString($base->usuarioBaseDeDatos());
66
    }
67
68
    //Conexion
69
70
    //Las pruebas requieren que se pueda conectar a la base de datos
71
72
    public function testSilaConexionFallaLanzaExcepcion()
73
    {
74
        $conexion = new ConexionBaseDeDatos(
75
            new HostBaseDeDatos('127.0.0.1'),
76
            new BaseDeDatos('test'),
77
            new UsuarioBaseDeDatos('root'),
78
            new ContraseñaBaseDeDatos('aaaaaaaaaaaaaa')
79
        );
80
81
        $this->expectException(ConexionABaseDeDatosException::class);
82
        $conexion->conectar();
83
    }
84
    
85
    public function testSiLaConexionEsExitosaDevuelvePDO()
86
    {
87
        $conexion = new ConexionBaseDeDatos(
88
            new HostBaseDeDatos('127.0.0.1'),
89
            new BaseDeDatos('test'),
90
            new UsuarioBaseDeDatos('root'),
91
            new ContraseñaBaseDeDatos('')
92
        );
93
94
        $this->assertInstanceOf(PDO::class, $conexion->conectar());
95
    }
96
}