1515 *
1616 * - MEMCACHE_HOST
1717 * - REDIS_URIS - a comma separated list of redis:// URIs.
18- * - MYSQL_DSN, MYSQL_USER
19- * - PGSQL_DSN, PGSQL_USER
18+ * - MYSQL_DSN, MYSQL_USER, MYSQL_PASSWORD
19+ * - PGSQL_DSN, PGSQL_USER, PGSQL_PASSWORD
2020 *
2121 * @author Markus Malkusch <[email protected] > 2222 * @link bitcoin:1P5FAZ4QhXCuwYPnLZdk3PJsqePbu1UDDA Donations
@@ -49,13 +49,14 @@ public static function tearDownAfterClass(): void
4949 *
5050 * @param string $dsn The DSN.
5151 * @param string $user The user.
52+ * @param string $password The password.
5253 *
5354 * @return \PDO The PDO.
5455 */
55- private function getPDO (string $ dsn , string $ user ): \PDO
56+ private function getPDO (string $ dsn , string $ user, string $ password ): \PDO
5657 {
5758 if ($ this ->pdo === null ) {
58- $ this ->pdo = new \PDO ($ dsn , $ user );
59+ $ this ->pdo = new \PDO ($ dsn , $ user, $ password );
5960 $ this ->pdo ->setAttribute (\PDO ::ATTR_ERRMODE , \PDO ::ERRMODE_EXCEPTION );
6061 }
6162
@@ -133,8 +134,8 @@ function (int $increment) use ($filename): int {
133134 ];
134135 }, $ this ->provideMutexFactories ());
135136
136- $ addPDO = function ($ dsn , $ user , $ vendor ) use (&$ cases ) {
137- $ pdo = $ this ->getPDO ($ dsn , $ user );
137+ $ addPDO = function ($ dsn , $ user , $ password , $ vendor ) use (&$ cases ) {
138+ $ pdo = $ this ->getPDO ($ dsn , $ user, $ password );
138139
139140 $ options = ['mysql ' => 'engine=InnoDB ' ];
140141 $ option = $ options [$ vendor ] ?? '' ;
@@ -148,12 +149,12 @@ function (int $increment) use ($filename): int {
148149 $ this ->pdo = null ;
149150
150151 $ cases [$ vendor ] = [
151- function ($ increment ) use ($ dsn , $ user ) {
152+ function ($ increment ) use ($ dsn , $ user, $ password ) {
152153 // This prevents using a closed connection from a child.
153154 if ($ increment == 0 ) {
154155 $ this ->pdo = null ;
155156 }
156- $ pdo = $ this ->getPDO ($ dsn , $ user );
157+ $ pdo = $ this ->getPDO ($ dsn , $ user, $ password );
157158 $ id = 1 ;
158159 $ select = $ pdo ->prepare ('SELECT counter FROM counter WHERE id = ? FOR UPDATE ' );
159160 $ select ->execute ([$ id ]);
@@ -166,9 +167,9 @@ function ($increment) use ($dsn, $user) {
166167
167168 return $ counter ;
168169 },
169- function ($ timeout = 3 ) use ($ dsn , $ user ) {
170+ function ($ timeout = 3 ) use ($ dsn , $ user, $ password ) {
170171 $ this ->pdo = null ;
171- $ pdo = $ this ->getPDO ($ dsn , $ user );
172+ $ pdo = $ this ->getPDO ($ dsn , $ user, $ password );
172173
173174 return new TransactionalMutex ($ pdo , $ timeout );
174175 }
@@ -178,13 +179,15 @@ function ($timeout = 3) use ($dsn, $user) {
178179 if (getenv ('MYSQL_DSN ' )) {
179180 $ dsn = getenv ('MYSQL_DSN ' );
180181 $ user = getenv ('MYSQL_USER ' );
181- $ addPDO ($ dsn , $ user , 'mysql ' );
182+ $ password = getenv ('MYSQL_PASSWORD ' );
183+ $ addPDO ($ dsn , $ user , $ password , 'mysql ' );
182184 }
183185
184186 if (getenv ('PGSQL_DSN ' )) {
185187 $ dsn = getenv ('PGSQL_DSN ' );
186188 $ user = getenv ('PGSQL_USER ' );
187- $ addPDO ($ dsn , $ user , 'postgres ' );
189+ $ password = getenv ('PGSQL_PASSWORD ' );
190+ $ addPDO ($ dsn , $ user , $ password , 'postgres ' );
188191 }
189192
190193 return $ cases ;
@@ -306,7 +309,7 @@ function (string $uri): Redis {
306309
307310 if (getenv ('MYSQL_DSN ' )) {
308311 $ cases ['MySQLMutex ' ] = [function ($ timeout = 3 ): Mutex {
309- $ pdo = new \PDO (getenv ('MYSQL_DSN ' ), getenv ('MYSQL_USER ' ));
312+ $ pdo = new \PDO (getenv ('MYSQL_DSN ' ), getenv ('MYSQL_USER ' ), getenv ( ' MYSQL_USER ' ) );
310313 $ pdo ->setAttribute (\PDO ::ATTR_ERRMODE , \PDO ::ERRMODE_EXCEPTION );
311314
312315 return new MySQLMutex ($ pdo , 'test ' , $ timeout );
@@ -315,7 +318,7 @@ function (string $uri): Redis {
315318
316319 if (getenv ('PGSQL_DSN ' )) {
317320 $ cases ['PgAdvisoryLockMutex ' ] = [function (): Mutex {
318- $ pdo = new \PDO (getenv ('PGSQL_DSN ' ), getenv ('PGSQL_USER ' ));
321+ $ pdo = new \PDO (getenv ('PGSQL_DSN ' ), getenv ('PGSQL_USER ' ), getenv ( ' PGSQL_PASSWORD ' ) );
319322 $ pdo ->setAttribute (\PDO ::ATTR_ERRMODE , \PDO ::ERRMODE_EXCEPTION );
320323
321324 return new PgAdvisoryLockMutex ($ pdo , 'test ' );
0 commit comments