@@ -296,42 +296,28 @@ def canAccessLocalMySQL():
296296 return False
297297
298298
299+ @unittest .skipIf (env .isCI (), "Local database not available in CI" )
299300class TestLocalMySQLPrerequisites (env .DCCLabTestCase ):
300301 def testLocalMySQLIsRunning (self ):
301302 if not isLocalMySQLRunning ():
302- self .fail (
303- "MySQL is not running on 127.0.0.1:3306.\n "
304- "Start it with one of:\n \n "
305- " brew services start mysql # macOS with Homebrew\n "
306- " sudo systemctl start mysql # Linux with systemd\n "
307- " mysql.server start # macOS alternate\n "
303+ self .skipTest (
304+ "MySQL is not running on 127.0.0.1:3306. "
305+ "Start with: brew services start mysql"
308306 )
309307
310308 def testLocalMySQLTestUserIsAvailable (self ):
311309 if not isLocalMySQLRunning ():
312310 self .skipTest ("MySQL is not running" )
313311 if not canAccessLocalMySQL ():
314- self .fail (
315- "Cannot connect to local MySQL as user 'test'.\n "
316- "An administrator must run the following commands to set up the test environment:\n \n "
317- " mysql -u root -p -e \" \n "
318- " CREATE DATABASE IF NOT EXISTS test;\n "
319- " CREATE USER IF NOT EXISTS 'test'@'127.0.0.1' IDENTIFIED BY 'test';\n "
320- " CREATE USER IF NOT EXISTS 'test'@'localhost' IDENTIFIED BY 'test';\n "
321- " GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, REFERENCES,\n "
322- " CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW,\n "
323- " CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER\n "
324- " ON test.* TO 'test'@'127.0.0.1';\n "
325- " GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, REFERENCES,\n "
326- " CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW,\n "
327- " CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER\n "
328- " ON test.* TO 'test'@'localhost';\n "
329- " FLUSH PRIVILEGES;\n "
330- " \" \n "
312+ self .skipTest (
313+ "Cannot connect to local MySQL as user 'test'. "
314+ "Create with: mysql -u root -p -e \" CREATE DATABASE IF NOT EXISTS test; "
315+ "CREATE USER IF NOT EXISTS 'test'@'127.0.0.1' IDENTIFIED BY 'test'; "
316+ "GRANT ALL ON test.* TO 'test'@'127.0.0.1'; FLUSH PRIVILEGES;\" "
331317 )
332318
333319
334- @unittest .skipUnless ( canAccessLocalMySQL (), "Requires local MySQL at 127.0.0.1" )
320+ @unittest .skipIf ( env . isCI () or not canAccessLocalMySQL (), "Requires local MySQL at 127.0.0.1" )
335321class TestLocalMySQLWithDatabase (env .DCCLabTestCase ):
336322 localURL = "mysql://test:test@127.0.0.1/test"
337323 tableName = "test_local_db"
@@ -436,7 +422,7 @@ def testDisableForeignKeys(self):
436422 self .assertEqual (list (row .values ())[0 ], 0 )
437423
438424
439- @unittest .skipUnless ( canAccessLocalMySQL (), "Requires local MySQL at 127.0.0.1" )
425+ @unittest .skipIf ( env . isCI () or not canAccessLocalMySQL (), "Requires local MySQL at 127.0.0.1" )
440426class TestLocalMySQLWithMySQLDatabase (env .DCCLabTestCase ):
441427 localURL = "mysql://test:test@127.0.0.1/test"
442428 tableName = "test_local_mysqldb"
@@ -560,31 +546,27 @@ def canAccessLocalPostgres():
560546 return False
561547
562548
549+ @unittest .skipIf (env .isCI (), "Local database not available in CI" )
563550class TestLocalPostgresPrerequisites (env .DCCLabTestCase ):
564551 def testLocalPostgresIsRunning (self ):
565552 if not isLocalPostgresRunning ():
566- self .fail (
567- "PostgreSQL is not running on 127.0.0.1:5432.\n "
568- "Start it with one of:\n \n "
569- " brew services start postgresql # macOS with Homebrew\n "
570- " sudo systemctl start postgresql # Linux with systemd\n "
553+ self .skipTest (
554+ "PostgreSQL is not running on 127.0.0.1:5432. "
555+ "Start with: brew services start postgresql"
571556 )
572557
573558 def testLocalPostgresTestUserIsAvailable (self ):
574559 if not isLocalPostgresRunning ():
575560 self .skipTest ("PostgreSQL is not running" )
576561 if not canAccessLocalPostgres ():
577- self .fail (
578- "Cannot connect to local PostgreSQL as user 'test'.\n "
579- "An administrator must run the following commands to set up the test environment:\n \n "
580- " sudo -u postgres psql -c \" \n "
581- " CREATE USER test WITH PASSWORD 'test';\n "
582- " CREATE DATABASE test OWNER test;\n "
583- " \" \n "
562+ self .skipTest (
563+ "Cannot connect to local PostgreSQL as user 'test'. "
564+ "Create with: psql -d postgres -c \" CREATE USER test WITH PASSWORD 'test'; "
565+ "CREATE DATABASE test OWNER test;\" "
584566 )
585567
586568
587- @unittest .skipUnless ( canAccessLocalPostgres (), "Requires local PostgreSQL at 127.0.0.1" )
569+ @unittest .skipIf ( env . isCI () or not canAccessLocalPostgres (), "Requires local PostgreSQL at 127.0.0.1" )
588570class TestLocalPostgresWithPostgresqlDatabase (env .DCCLabTestCase ):
589571 localURL = "postgresql://test:test@127.0.0.1/test"
590572 tableName = "test_local_pgdb"
0 commit comments