Skip to content

Commit 407d80f

Browse files
committed
Removes unused unit/Driver/Pdo/ConnectionIntegrationTest.php file
All previous test has moved to the new integration/Driver/Pdo/ConnectionTest.php Added a couple new test to AbstractAdapterTestCase Resets Psalm baseline but improves coverage slightly Updates composer.lock with most recent laminas-db branch revision Signed-off-by: Joey Smith <jsmith@webinertia.net> Signed-off-by: Joey Smith <jsmith@webinertia.net>
1 parent 0533d9c commit 407d80f

File tree

7 files changed

+181
-268
lines changed

7 files changed

+181
-268
lines changed

composer.lock

Lines changed: 33 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

psalm-baseline.xml

Lines changed: 9 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@
214214
<code><![CDATA[fetch_assoc]]></code>
215215
<code><![CDATA[result_metadata]]></code>
216216
</PossiblyUndefinedMethod>
217+
<PossiblyUnusedMethod>
218+
<code><![CDATA[initialize]]></code>
219+
</PossiblyUnusedMethod>
217220
<PossiblyUnusedProperty>
218221
<code><![CDATA[$numberOfRows]]></code>
219222
</PossiblyUnusedProperty>
@@ -653,6 +656,11 @@
653656
<code><![CDATA[SetUpTrait]]></code>
654657
</UndefinedTrait>
655658
</file>
659+
<file src="test/integration/Driver/Pdo/ConnectionTest.php">
660+
<RedundantCondition>
661+
<code><![CDATA[assertIsInt]]></code>
662+
</RedundantCondition>
663+
</file>
656664
<file src="test/integration/Driver/Pdo/TableGatewayAndAdapterTest.php">
657665
<MixedReturnStatement>
658666
<code><![CDATA[array]]></code>
@@ -678,7 +686,7 @@
678686
<code><![CDATA[printf]]></code>
679687
</RedundantFunctionCall>
680688
<RiskyTruthyFalsyComparison>
681-
<code><![CDATA[getenv('TESTS_LAMINAS_DB_ADAPTER_DRIVER_MYSQL')]]></code>
689+
<code><![CDATA[getenv('TESTS_LAMINAS_DB_ADAPTER_MYSQL')]]></code>
682690
</RiskyTruthyFalsyComparison>
683691
<UndefinedDocblockClass>
684692
<code><![CDATA[$fixtureLoader]]></code>
@@ -738,57 +746,6 @@
738746
<code><![CDATA[$this->pdoParams['hostname']]]></code>
739747
</PossiblyFalseOperand>
740748
</file>
741-
<file src="test/unit/Driver/Pdo/ConnectionIntegrationTest.php">
742-
<PossiblyUnusedProperty>
743-
<code><![CDATA[$variables]]></code>
744-
</PossiblyUnusedProperty>
745-
<UnevaluatedCode>
746-
<code><![CDATA[$connection = $sqlsrv->getConnection();]]></code>
747-
<code><![CDATA[$connection = $sqlsrv->getConnection();]]></code>
748-
<code><![CDATA[$connection = new Connection($this->variables);]]></code>
749-
<code><![CDATA[$connection = new Connection($this->variables);]]></code>
750-
<code><![CDATA[$connection = new Connection($this->variables);]]></code>
751-
<code><![CDATA[$connection = new Connection($this->variables);]]></code>
752-
<code><![CDATA[$connection = new Connection($this->variables);]]></code>
753-
<code><![CDATA[$connection = new Connection([]);]]></code>
754-
<code><![CDATA[$connection = new Connection([]);]]></code>
755-
<code><![CDATA[$connection->connect();]]></code>
756-
<code><![CDATA[$connection->connect();]]></code>
757-
<code><![CDATA[$connection->disconnect();]]></code>
758-
<code><![CDATA[$connection->disconnect();]]></code>
759-
<code><![CDATA[$connection->disconnect();]]></code>
760-
<code><![CDATA[$connection->disconnect();]]></code>
761-
<code><![CDATA[$connection->disconnect();]]></code>
762-
<code><![CDATA[$connection->disconnect();]]></code>
763-
<code><![CDATA[$connection->setResource($resource);]]></code>
764-
<code><![CDATA[$resource = new TestAsset\SqliteMemoryPdo();]]></code>
765-
<code><![CDATA[$resource = new TestAsset\SqliteMemoryPdo();]]></code>
766-
<code><![CDATA[$result = $connection->execute('SELECT \'foo\'');]]></code>
767-
<code><![CDATA[$sqlsrv = new Pdo($this->variables);]]></code>
768-
<code><![CDATA[$sqlsrv = new Pdo($this->variables);]]></code>
769-
<code><![CDATA[$statement = $connection->prepare('SELECT \'foo\'');]]></code>
770-
<code><![CDATA[self::assertFalse($connection->isConnected());]]></code>
771-
<code><![CDATA[self::assertFalse($connection->isConnected());]]></code>
772-
<code><![CDATA[self::assertInstanceOf('PDO', $connection->getResource());]]></code>
773-
<code><![CDATA[self::assertInstanceOf(Result::class, $result);]]></code>
774-
<code><![CDATA[self::assertInstanceOf(Statement::class, $statement);]]></code>
775-
<code><![CDATA[self::assertIsString($connection->getCurrentSchema());]]></code>
776-
<code><![CDATA[self::assertSame($connection, $connection->connect());]]></code>
777-
<code><![CDATA[self::assertSame($connection, $connection->connect());]]></code>
778-
<code><![CDATA[self::assertSame($connection, $connection->connect());]]></code>
779-
<code><![CDATA[self::assertSame($connection, $connection->setResource($resource));]]></code>
780-
<code><![CDATA[self::assertTrue($connection->isConnected());]]></code>
781-
<code><![CDATA[self::assertTrue($connection->isConnected());]]></code>
782-
<code><![CDATA[self::assertTrue($connection->isConnected());]]></code>
783-
<code><![CDATA[unset($connection);]]></code>
784-
<code><![CDATA[unset($connection);]]></code>
785-
<code><![CDATA[unset($connection);]]></code>
786-
<code><![CDATA[unset($connection);]]></code>
787-
<code><![CDATA[unset($connection);]]></code>
788-
<code><![CDATA[unset($resource);]]></code>
789-
<code><![CDATA[unset($resource);]]></code>
790-
</UnevaluatedCode>
791-
</file>
792749
<file src="test/unit/Driver/Pdo/ResultTest.php">
793750
<ArgumentTypeCoercion>
794751
<code><![CDATA['stdClass']]></code>
@@ -804,12 +761,4 @@
804761
<code><![CDATA[assert($stub instanceof PDOStatement)]]></code>
805762
</RedundantConditionGivenDocblockType>
806763
</file>
807-
<file src="test/unit/Driver/Pdo/StatementTest.php">
808-
<PossiblyNullArgument>
809-
<code><![CDATA[$this->pdo]]></code>
810-
</PossiblyNullArgument>
811-
<UnevaluatedCode>
812-
<code><![CDATA[self::assertSame($stmt, $this->statement->getResource());]]></code>
813-
</UnevaluatedCode>
814-
</file>
815764
</files>

test/integration/Driver/Pdo/AbstractAdapterTestCase.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@
44

55
namespace LaminasIntegrationTest\Db\Adapter\Mysql\Driver\Pdo;
66

7+
use Laminas\Db\Adapter\Adapter;
78
use Laminas\Db\Adapter\AdapterInterface;
89
use Laminas\Db\Adapter\Driver\ConnectionInterface;
910
use Laminas\Db\Adapter\Mysql\Driver\Pdo\Pdo;
11+
use Laminas\Db\Adapter\SchemaAwareInterface;
1012
use LaminasIntegrationTest\Db\Adapter\Mysql\Container\TestAsset\SetupTrait;
1113
use PHPUnit\Framework\Attributes\CoversMethod;
1214
use PHPUnit\Framework\TestCase;
1315

1416
use function getmypid;
1517
use function shell_exec;
1618

19+
#[CoversMethod(Adapter::class, 'getCurrentSchema')]
1720
#[CoversMethod(AdapterInterface::class, '__construct')]
21+
#[CoversMethod(SchemaAwareInterface::class, 'getCurrentSchema')]
1822
#[CoversMethod(ConnectionInterface::class, 'connect')]
1923
#[CoversMethod(ConnectionInterface::class, 'disconnect')]
2024
#[CoversMethod(ConnectionInterface::class, 'isConnected')]
@@ -29,6 +33,15 @@ public function testConnection(): void
2933
$this->assertInstanceOf(ConnectionInterface::class, $connection);
3034
}
3135

36+
public function testGetCurrentSchema(): void
37+
{
38+
/** @var AdapterInterface&SchemaAwareInterface $adapter */
39+
$adapter = $this->getAdapter();
40+
$schema = $adapter->getCurrentSchema();
41+
self::assertIsString($schema);
42+
self::assertNotEmpty($schema);
43+
}
44+
3245
public function testDriverDisconnectAfterQuoteWithPlatform(): void
3346
{
3447
$isTcpConnection = $this->isTcpConnection();
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace LaminasIntegrationTest\Db\Adapter\Mysql\Driver\Pdo;
6+
7+
use Laminas\Db\Adapter\Driver\AbstractConnection;
8+
use Laminas\Db\Adapter\Driver\ConnectionInterface;
9+
use Laminas\Db\Adapter\Driver\Pdo\AbstractPdoConnection;
10+
use Laminas\Db\Adapter\Driver\Pdo\Result;
11+
use Laminas\Db\Adapter\Driver\Pdo\Statement;
12+
use Laminas\Db\Adapter\Driver\PdoConnectionInterface;
13+
use Laminas\Db\Adapter\Driver\ResultInterface;
14+
use Laminas\Db\Adapter\Driver\StatementInterface;
15+
use Laminas\Db\Adapter\Mysql\Driver\Pdo\Connection;
16+
use LaminasIntegrationTest\Db\Adapter\Mysql\Container\TestAsset\SetupTrait;
17+
use PDO;
18+
use PHPUnit\Framework\Attributes\CoversClass;
19+
use PHPUnit\Framework\Attributes\CoversMethod;
20+
use PHPUnit\Framework\Attributes\Group;
21+
use PHPUnit\Framework\TestCase;
22+
23+
#[Group('integration')]
24+
#[Group('integration-pdo')]
25+
#[CoversClass(Connection::class)]
26+
#[CoversMethod(Connection::class, 'prepare')]
27+
#[CoversClass(ConnectionInterface::class)]
28+
#[CoversMethod(ConnectionInterface::class, 'execute')]
29+
#[CoversMethod(ConnectionInterface::class, 'getResource')]
30+
#[CoversMethod(ConnectionInterface::class, 'getLastGeneratedValue')]
31+
final class ConnectionTest extends TestCase
32+
{
33+
use SetupTrait;
34+
35+
public function testSetResource(): void
36+
{
37+
$resource = new PDO('sqlite::memory:');
38+
/** @var Connection $connection */
39+
$connection = $this->getAdapter()->getDriver()->getConnection();
40+
self::assertSame($connection, $connection->setResource($resource));
41+
}
42+
43+
public function testGetResource(): void
44+
{
45+
$connection = $this->getAdapter()->getDriver()->getConnection();
46+
self::assertInstanceOf(PDO::class, $connection->getResource());
47+
}
48+
49+
public function testExecute(): void
50+
{
51+
$connection = $this->getAdapter()->getDriver()->getConnection();
52+
/** @var ResultInterface&Result $result */
53+
$result = $connection->execute('SELECT \'foo\'');
54+
self::assertInstanceOf(ResultInterface::class, $result);
55+
self::assertInstanceOf(Result::class, $result);
56+
}
57+
58+
public function testPrepare(): void
59+
{
60+
/** @var ConnectionInterface&PdoConnectionInterface&AbstractConnection&AbstractPdoConnection&Connection $connection */
61+
$connection = $this->getAdapter()->getDriver()->getConnection();
62+
/** @var StatementInterface&Statement $statement */
63+
$statement = $connection->prepare('SELECT \'foo\'');
64+
self::assertInstanceOf(StatementInterface::class, $statement);
65+
self::assertInstanceOf(Statement::class, $statement);
66+
}
67+
68+
public function testGetLastGeneratedValue(): void
69+
{
70+
/** @var ConnectionInterface&PdoConnectionInterface&AbstractConnection&AbstractPdoConnection&Connection $connection */
71+
$connection = $this->getAdapter()->getDriver()->getConnection();
72+
$connection->connect();
73+
$lastId = (int) $connection->getLastGeneratedValue();
74+
self::assertIsInt($lastId);
75+
$connection->disconnect();
76+
}
77+
78+
public function testConnectMethodReturnsConnectionInterface(): void
79+
{
80+
/** @var ConnectionInterface&PdoConnectionInterface&AbstractConnection&AbstractPdoConnection&Connection $connection */
81+
$connection = $this->getAdapter()->getDriver()->getConnection();
82+
self::assertInstanceOf(ConnectionInterface::class, $connection->connect());
83+
$connection->disconnect();
84+
}
85+
86+
/**
87+
* @todo Implement testBeginTransaction().
88+
*/
89+
public function testBeginTransaction(): never
90+
{
91+
// Remove the following lines when you implement this test.
92+
$this->markTestIncomplete(
93+
'This test has not been implemented yet.'
94+
);
95+
}
96+
97+
/**
98+
* @todo Implement testCommit().
99+
*/
100+
public function testCommit(): never
101+
{
102+
// Remove the following lines when you implement this test.
103+
$this->markTestIncomplete(
104+
'This test has not been implemented yet.'
105+
);
106+
}
107+
108+
/**
109+
* @todo Implement testRollback().
110+
*/
111+
public function testRollback(): never
112+
{
113+
// Remove the following lines when you implement this test.
114+
$this->markTestIncomplete(
115+
'This test has not been implemented yet.'
116+
);
117+
}
118+
}

0 commit comments

Comments
 (0)