@@ -1010,6 +1010,35 @@ TEST_P(ClientCase, RoundtripArrayTString) {
10101010 EXPECT_TRUE (CompareRecursive (*array, *result_typed));
10111011}
10121012
1013+ TEST_P (ClientCase, OnProgress) {
1014+ Block block;
1015+ createTableWithOneColumn<ColumnString>(block);
1016+
1017+ std::optional<Progress> received_progress;
1018+ Query query (" INSERT INTO " + table_name + " (*) VALUES (\' Foo\' ), (\' Bar\' )" );
1019+ query.OnProgress ([&](const Progress& progress) {
1020+ received_progress = progress;
1021+ });
1022+ client_->Execute (query);
1023+
1024+ ASSERT_TRUE (received_progress.has_value ());
1025+
1026+ EXPECT_GE (received_progress->rows , 0u );
1027+ EXPECT_LE (received_progress->rows , 2u );
1028+
1029+ EXPECT_GE (received_progress->bytes , 0u );
1030+ EXPECT_LE (received_progress->bytes , 10000u );
1031+
1032+ EXPECT_GE (received_progress->total_rows , 0u );
1033+ EXPECT_LE (received_progress->total_rows , 2u );
1034+
1035+ EXPECT_GE (received_progress->written_rows , 0u );
1036+ EXPECT_LE (received_progress->written_rows , 2u );
1037+
1038+ EXPECT_GE (received_progress->written_bytes , 0u );
1039+ EXPECT_LE (received_progress->written_bytes , 10000u );
1040+ }
1041+
10131042const auto LocalHostEndpoint = ClientOptions()
10141043 .SetHost( getEnvOrDefault(" CLICKHOUSE_HOST" , " localhost" ))
10151044 .SetPort( getEnvOrDefault<size_t >(" CLICKHOUSE_PORT" , " 9000" ))
0 commit comments