Path: blob/main/singlestoredb/mysql/tests/test_load_local.py
469 views
# type: ignore1import os23from singlestoredb.mysql import cursors4from singlestoredb.mysql import OperationalError5from singlestoredb.mysql.tests import base67__all__ = ['TestLoadLocal']8910class TestLoadLocal(base.PyMySQLTestCase):1112def test_no_file(self):13"""Test load local infile when the file does not exist."""14conn = self.connect()15c = conn.cursor()16c.execute('CREATE TABLE test_load_local (a INTEGER, b INTEGER, c TEXT)')17try:18self.assertRaises(19OperationalError,20c.execute,21(22"LOAD DATA LOCAL INFILE 'no_data.txt' INTO TABLE "23"test_load_local fields terminated by ','"24),25)26finally:27c.execute('DROP TABLE test_load_local')28c.close()2930def test_load_file(self):31"""Test load local infile with a valid file."""32conn = self.connect()33c = conn.cursor()34c.execute('CREATE TABLE test_load_local (a INTEGER, b INTEGER, c TEXT)')35filename = os.path.join(36os.path.dirname(os.path.realpath(__file__)), 'data', 'load_local_data.txt',37)38try:39c.execute(40f"LOAD DATA LOCAL INFILE '{filename}' INTO TABLE test_load_local "41"FIELDS TERMINATED BY ','",42)43c.execute('SELECT COUNT(*) FROM test_load_local')44self.assertEqual(22749, c.fetchone()[0])45finally:46c.execute('DROP TABLE test_load_local')4748def test_unbuffered_load_file(self):49"""Test unbuffered load local infile with a valid file."""50conn = self.connect(cursorclass=cursors.SSCursor)51c = conn.cursor()52c.execute('CREATE TABLE test_load_local (a INTEGER, b INTEGER, c TEXT)')53filename = os.path.join(54os.path.dirname(os.path.realpath(__file__)), 'data', 'load_local_data.txt',55)56try:57c.execute(58f"LOAD DATA LOCAL INFILE '{filename}' INTO TABLE test_load_local "59"FIELDS TERMINATED BY ','",60)61c.execute('SELECT COUNT(*) FROM test_load_local')62self.assertEqual(22749, c.fetchone()[0])63finally:64c.close()65conn.close()66conn.connect()67c = conn.cursor()68c.execute('DROP TABLE test_load_local')697071if __name__ == '__main__':72import unittest7374unittest.main()757677