|
20 | 20 | import java.util.Properties; |
21 | 21 | import java.util.concurrent.CompletableFuture; |
22 | 22 | import java.util.concurrent.TimeUnit; |
23 | | -import org.junit.jupiter.api.Test; |
| 23 | +import org.junit.jupiter.api.Test;; |
24 | 24 | import org.junit.jupiter.api.extension.ExtendWith; |
25 | 25 | import org.mockito.Mock; |
26 | 26 | import org.mockito.junit.jupiter.MockitoExtension; |
@@ -287,4 +287,178 @@ public void testInputStreamForVolumeOperation() throws Exception { |
287 | 287 | assertThrows( |
288 | 288 | DatabricksSQLException.class, () -> statement.allowInputStreamForVolumeOperation(false)); |
289 | 289 | } |
| 290 | + |
| 291 | + @Test |
| 292 | + public void testShouldReturnResultSet_SelectQuery() { |
| 293 | + String query = "-- comment\nSELECT * FROM table;"; |
| 294 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 295 | + } |
| 296 | + |
| 297 | + @Test |
| 298 | + public void testShouldReturnResultSet_ShowQuery() { |
| 299 | + String query = "SHOW TABLES;"; |
| 300 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 301 | + } |
| 302 | + |
| 303 | + @Test |
| 304 | + public void testShouldReturnResultSet_DescribeQuery() { |
| 305 | + String query = "DESCRIBE table;"; |
| 306 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 307 | + } |
| 308 | + |
| 309 | + @Test |
| 310 | + public void testShouldReturnResultSet_ExplainQuery() { |
| 311 | + String query = "EXPLAIN SELECT * FROM table;"; |
| 312 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 313 | + } |
| 314 | + |
| 315 | + @Test |
| 316 | + public void testShouldReturnResultSet_WithQuery() { |
| 317 | + String query = "WITH cte AS (SELECT * FROM table) SELECT * FROM cte;"; |
| 318 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 319 | + } |
| 320 | + |
| 321 | + @Test |
| 322 | + public void testShouldReturnResultSet_SetQuery() { |
| 323 | + String query = "SET @var = (SELECT COUNT(*) FROM table);"; |
| 324 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 325 | + } |
| 326 | + |
| 327 | + @Test |
| 328 | + public void testShouldReturnResultSet_MapQuery() { |
| 329 | + String query = "MAP table USING some_mapping;"; |
| 330 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 331 | + } |
| 332 | + |
| 333 | + @Test |
| 334 | + public void testShouldReturnResultSet_FromQuery() { |
| 335 | + String query = "SELECT * FROM table;"; |
| 336 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 337 | + } |
| 338 | + |
| 339 | + @Test |
| 340 | + public void testShouldReturnResultSet_ValuesQuery() { |
| 341 | + String query = "VALUES (1, 2, 3);"; |
| 342 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 343 | + } |
| 344 | + |
| 345 | + @Test |
| 346 | + public void testShouldReturnResultSet_UnionQuery() { |
| 347 | + String query = "SELECT * FROM table1 UNION SELECT * FROM table2;"; |
| 348 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 349 | + } |
| 350 | + |
| 351 | + @Test |
| 352 | + public void testShouldReturnResultSet_IntersectQuery() { |
| 353 | + String query = "SELECT * FROM table1 INTERSECT SELECT * FROM table2;"; |
| 354 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 355 | + } |
| 356 | + |
| 357 | + @Test |
| 358 | + public void testShouldReturnResultSet_ExceptQuery() { |
| 359 | + String query = "SELECT * FROM table1 EXCEPT SELECT * FROM table2;"; |
| 360 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 361 | + } |
| 362 | + |
| 363 | + @Test |
| 364 | + public void testShouldReturnResultSet_DeclareQuery() { |
| 365 | + String query = "DECLARE @var INT;"; |
| 366 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 367 | + } |
| 368 | + |
| 369 | + @Test |
| 370 | + public void testShouldReturnResultSet_PutQuery() { |
| 371 | + String query = "PUT some_data INTO table;"; |
| 372 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 373 | + } |
| 374 | + |
| 375 | + @Test |
| 376 | + public void testShouldReturnResultSet_GetQuery() { |
| 377 | + String query = "GET some_data FROM table;"; |
| 378 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 379 | + } |
| 380 | + |
| 381 | + @Test |
| 382 | + public void testShouldReturnResultSet_RemoveQuery() { |
| 383 | + String query = "REMOVE some_data FROM table;"; |
| 384 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 385 | + } |
| 386 | + |
| 387 | + @Test |
| 388 | + public void testShouldReturnResultSet_ListQuery() { |
| 389 | + String query = "LIST TABLES;"; |
| 390 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 391 | + } |
| 392 | + |
| 393 | + @Test |
| 394 | + public void testShouldReturnResultSet_UpdateQuery() { |
| 395 | + String query = "UPDATE table SET column = value;"; |
| 396 | + assertFalse(DatabricksStatement.shouldReturnResultSet(query)); |
| 397 | + } |
| 398 | + |
| 399 | + @Test |
| 400 | + public void testShouldReturnResultSet_DeleteQuery() { |
| 401 | + String query = "DELETE FROM table WHERE condition;"; |
| 402 | + assertFalse(DatabricksStatement.shouldReturnResultSet(query)); |
| 403 | + } |
| 404 | + |
| 405 | + @Test |
| 406 | + public void testShouldReturnResultSet_SingleLineCommentAtStart() { |
| 407 | + String query = "-- This is a comment\nSELECT * FROM table;"; |
| 408 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 409 | + } |
| 410 | + |
| 411 | + @Test |
| 412 | + public void testShouldReturnResultSet_SingleLineCommentAtEnd() { |
| 413 | + String query = "SELECT * FROM table; -- This is a comment"; |
| 414 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 415 | + } |
| 416 | + |
| 417 | + @Test |
| 418 | + public void testShouldReturnResultSet_SingleLineCommentInMiddle() { |
| 419 | + String query = "SELECT * FROM table -- This is a comment\nWHERE id = 1;"; |
| 420 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 421 | + } |
| 422 | + |
| 423 | + @Test |
| 424 | + public void testShouldReturnResultSet_MultiLineCommentAtStart() { |
| 425 | + String query = "/* This is a comment */ SELECT * FROM table;"; |
| 426 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 427 | + } |
| 428 | + |
| 429 | + @Test |
| 430 | + public void testShouldReturnResultSet_MultiLineCommentAtEnd() { |
| 431 | + String query = "SELECT * FROM table; /* This is a comment */"; |
| 432 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 433 | + } |
| 434 | + |
| 435 | + @Test |
| 436 | + public void testShouldReturnResultSet_MultiLineCommentInMiddle() { |
| 437 | + String query = "SELECT * FROM table /* This is a comment */ WHERE id = 1;"; |
| 438 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 439 | + } |
| 440 | + |
| 441 | + @Test |
| 442 | + public void testShouldReturnResultSet_MultipleSingleLineComments() { |
| 443 | + String query = "-- Comment 1\nSELECT * FROM table; -- Comment 2\n-- Comment 3"; |
| 444 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 445 | + } |
| 446 | + |
| 447 | + @Test |
| 448 | + public void testShouldReturnResultSet_MultipleMultiLineComments() { |
| 449 | + String query = "/* Comment 1 */ SELECT * FROM table; /* Comment 2 */ /* Comment 3 */"; |
| 450 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 451 | + } |
| 452 | + |
| 453 | + @Test |
| 454 | + public void testShouldReturnResultSet_SingleAndMultiLineComments() { |
| 455 | + String query = "-- Single-line comment\nSELECT * FROM table; /* Multi-line comment */"; |
| 456 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 457 | + } |
| 458 | + |
| 459 | + @Test |
| 460 | + public void testShouldReturnResultSet_CommentSurroundingQuery() { |
| 461 | + String query = "-- Single-line comment\n/* Multi-line comment */ SELECT * FROM table; /* Another comment */ -- End comment"; |
| 462 | + assertTrue(DatabricksStatement.shouldReturnResultSet(query)); |
| 463 | + } |
290 | 464 | } |
0 commit comments