From 197ca95c9619b04e3e87d947013c73aa4b5f18c3 Mon Sep 17 00:00:00 2001 From: Muskan Gupta Date: Tue, 4 Mar 2025 14:56:05 +0530 Subject: [PATCH] Updated the test --- .../jdbc/bulkCopy/BulkCopyCSVTest.java | 165 +++++++++--------- 1 file changed, 86 insertions(+), 79 deletions(-) diff --git a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java index 03f65cc82..3f880540d 100644 --- a/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java +++ b/src/test/java/com/microsoft/sqlserver/jdbc/bulkCopy/BulkCopyCSVTest.java @@ -450,7 +450,7 @@ public void testCSV2400() { } } - /** + /** * Test to perform bulk copy with a computed column as the last column in the table. */ @Test @@ -459,48 +459,51 @@ public void testBulkCopyWithComputedColumnAsLastColumn() { String tableName = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("BulkEscape")); String fileName = filePath + computeColumnCsvFile; - assertDoesNotThrow(() -> { - try (Connection con = getConnection(); - Statement stmt = con.createStatement(); - SQLServerBulkCopy bulkCopy = new SQLServerBulkCopy(con); - SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", - true)) { - - String createTableSQL = "CREATE TABLE " + tableName + " (" + - "[NAME] varchar(50) NOT NULL," + - "[AGE] int NULL," + - "[CAL_COL] numeric(17, 2) NULL," + - "[ORIGINAL] varchar(50) NOT NULL," + - "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED" + - ")"; - stmt.executeUpdate(createTableSQL); - - fileRecord.addColumnMetadata(1, "NAME", java.sql.Types.VARCHAR, 50, 0); - fileRecord.addColumnMetadata(2, "AGE", java.sql.Types.INTEGER, 0, 0); - fileRecord.addColumnMetadata(3, "CAL_COL", java.sql.Types.NUMERIC, 17, 2); - fileRecord.addColumnMetadata(4, "ORIGINAL", java.sql.Types.VARCHAR, 50, 0); - - bulkCopy.setDestinationTableName(tableName); - - SQLServerBulkCopyOptions options = new SQLServerBulkCopyOptions(); - options.setKeepIdentity(false); - options.setTableLock(true); - bulkCopy.setBulkCopyOptions(options); + try (Connection con = getConnection(); + Statement stmt = con.createStatement(); + SQLServerBulkCopy bulkCopy = new SQLServerBulkCopy(con); + SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", + true)) { + + String createTableSQL = "CREATE TABLE " + tableName + " (" + + "[NAME] varchar(50) NOT NULL," + + "[AGE] int NULL," + + "[CAL_COL] numeric(17, 2) NULL," + + "[ORIGINAL] varchar(50) NOT NULL," + + "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED" + + ")"; + stmt.executeUpdate(createTableSQL); + + fileRecord.addColumnMetadata(1, "NAME", java.sql.Types.VARCHAR, 50, 0); + fileRecord.addColumnMetadata(2, "AGE", java.sql.Types.INTEGER, 0, 0); + fileRecord.addColumnMetadata(3, "CAL_COL", java.sql.Types.NUMERIC, 17, 2); + fileRecord.addColumnMetadata(4, "ORIGINAL", java.sql.Types.VARCHAR, 50, 0); - bulkCopy.writeToServer(fileRecord); + bulkCopy.setDestinationTableName(tableName); - try (ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM " + tableName)) { - if (rs.next()) { - int rowCount = rs.getInt(1); - assertTrue(rowCount > 0); - } - } finally { - TestUtils.dropTableIfExists(tableName, stmt); + bulkCopy.addColumnMapping("NAME", "NAME"); + bulkCopy.addColumnMapping("AGE", "AGE"); + bulkCopy.addColumnMapping("CAL_COL", "CAL_COL"); + bulkCopy.addColumnMapping("ORIGINAL", "ORIGINAL"); + + SQLServerBulkCopyOptions options = new SQLServerBulkCopyOptions(); + options.setKeepIdentity(false); + options.setTableLock(true); + bulkCopy.setBulkCopyOptions(options); + + bulkCopy.writeToServer(fileRecord); + + try (ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM " + tableName)) { + if (rs.next()) { + int rowCount = rs.getInt(1); + assertTrue(rowCount > 0); } - } catch (Exception e) { - e.printStackTrace(); + } finally { + TestUtils.dropTableIfExists(tableName, stmt); } - }); + } catch (Exception e) { + fail(e.getMessage()); + } } /** @@ -512,50 +515,54 @@ public void testBulkCopyWithComputedColumnNotAsLastColumn() { String tableName = AbstractSQLGenerator.escapeIdentifier(RandomUtil.getIdentifier("BulkEscape")); String fileName = filePath + computeColumnCsvFile; - assertDoesNotThrow(() -> { - try (Connection con = getConnection(); - Statement stmt = con.createStatement(); - SQLServerBulkCopy bulkCopy = new SQLServerBulkCopy(con); - SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", - true)) { - - String createTableSQL = "CREATE TABLE " + tableName + " (" + - "[NAME] varchar(50) NOT NULL," + - "[AGE] int NULL," + - "[CAL_COL] numeric(17, 2) NULL," + - "[ORIGINAL] varchar(50) NOT NULL," + - "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED," + - "[LAST_COL] varchar(50) NULL" + - ")"; - stmt.executeUpdate(createTableSQL); - - fileRecord.addColumnMetadata(1, "NAME", java.sql.Types.VARCHAR, 50, 0); - fileRecord.addColumnMetadata(2, "AGE", java.sql.Types.INTEGER, 0, 0); - fileRecord.addColumnMetadata(3, "CAL_COL", java.sql.Types.NUMERIC, 17, 2); - fileRecord.addColumnMetadata(4, "ORIGINAL", java.sql.Types.VARCHAR, 50, 0); - fileRecord.addColumnMetadata(5, "LAST_COL", java.sql.Types.VARCHAR, 50, 0); - - bulkCopy.setDestinationTableName(tableName); - - SQLServerBulkCopyOptions options = new SQLServerBulkCopyOptions(); - options.setKeepIdentity(false); - options.setTableLock(true); - bulkCopy.setBulkCopyOptions(options); + try (Connection con = getConnection(); + Statement stmt = con.createStatement(); + SQLServerBulkCopy bulkCopy = new SQLServerBulkCopy(con); + SQLServerBulkCSVFileRecord fileRecord = new SQLServerBulkCSVFileRecord(fileName, encoding, ",", + true)) { + + String createTableSQL = "CREATE TABLE " + tableName + " (" + + "[NAME] varchar(50) NOT NULL," + + "[AGE] int NULL," + + "[CAL_COL] numeric(17, 2) NULL," + + "[ORIGINAL] varchar(50) NOT NULL," + + "[COMPUTED_COL] AS (right([NAME], 8)) PERSISTED," + + "[LAST_COL] varchar(50) NULL" + + ")"; + stmt.executeUpdate(createTableSQL); + + fileRecord.addColumnMetadata(1, "NAME", java.sql.Types.VARCHAR, 50, 0); + fileRecord.addColumnMetadata(2, "AGE", java.sql.Types.INTEGER, 0, 0); + fileRecord.addColumnMetadata(3, "CAL_COL", java.sql.Types.NUMERIC, 17, 2); + fileRecord.addColumnMetadata(4, "ORIGINAL", java.sql.Types.VARCHAR, 50, 0); + fileRecord.addColumnMetadata(5, "LAST_COL", java.sql.Types.VARCHAR, 50, 0); - bulkCopy.writeToServer(fileRecord); + bulkCopy.setDestinationTableName(tableName); - try (ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM " + tableName)) { - if (rs.next()) { - int rowCount = rs.getInt(1); - assertTrue(rowCount > 0); - } - } finally { - TestUtils.dropTableIfExists(tableName, stmt); + bulkCopy.addColumnMapping("NAME", "NAME"); + bulkCopy.addColumnMapping("AGE", "AGE"); + bulkCopy.addColumnMapping("CAL_COL", "CAL_COL"); + bulkCopy.addColumnMapping("ORIGINAL", "ORIGINAL"); + bulkCopy.addColumnMapping("LAST_COL", "LAST_COL"); + + SQLServerBulkCopyOptions options = new SQLServerBulkCopyOptions(); + options.setKeepIdentity(false); + options.setTableLock(true); + bulkCopy.setBulkCopyOptions(options); + + bulkCopy.writeToServer(fileRecord); + + try (ResultSet rs = stmt.executeQuery("SELECT COUNT(*) FROM " + tableName)) { + if (rs.next()) { + int rowCount = rs.getInt(1); + assertTrue(rowCount > 0); } - } catch (Exception e) { - e.printStackTrace(); + } finally { + TestUtils.dropTableIfExists(tableName, stmt); } - }); + } catch (Exception e) { + fail(e.getMessage()); + } } /**