()
| 1049 | |
| 1050 | #[tokio::test] |
| 1051 | async fn test_prepare_commit_reusable() { |
| 1052 | let file_io = test_file_io(); |
| 1053 | let table_path = "memory:/test_table_write_reuse"; |
| 1054 | setup_dirs(&file_io, table_path).await; |
| 1055 | |
| 1056 | let table = test_table(&file_io, table_path); |
| 1057 | let mut table_write = TableWrite::new(&table, "test-user".to_string()).unwrap(); |
| 1058 | |
| 1059 | // First write + prepare_commit |
| 1060 | table_write |
| 1061 | .write_arrow_batch(&make_batch(vec![1, 2], vec![10, 20])) |
| 1062 | .await |
| 1063 | .unwrap(); |
| 1064 | let messages1 = table_write.prepare_commit().await.unwrap(); |
| 1065 | assert_eq!(messages1.len(), 1); |
| 1066 | assert_eq!(messages1[0].new_files[0].row_count, 2); |
| 1067 | |
| 1068 | // Second write + prepare_commit (reuse) |
| 1069 | table_write |
| 1070 | .write_arrow_batch(&make_batch(vec![3, 4, 5], vec![30, 40, 50])) |
| 1071 | .await |
| 1072 | .unwrap(); |
| 1073 | let messages2 = table_write.prepare_commit().await.unwrap(); |
| 1074 | assert_eq!(messages2.len(), 1); |
| 1075 | assert_eq!(messages2[0].new_files[0].row_count, 3); |
| 1076 | |
| 1077 | // Empty prepare_commit is fine |
| 1078 | let messages3 = table_write.prepare_commit().await.unwrap(); |
| 1079 | assert!(messages3.is_empty()); |
| 1080 | } |
| 1081 | |
| 1082 | #[tokio::test] |
| 1083 | async fn test_write_multiple_batches() { |
nothing calls this directly
no test coverage detected