@@ -2706,7 +2706,6 @@ Y_UNIT_TEST_SUITE(DataStreams) {
27062706
27072707 TString streamName = " test-topic" ;
27082708 TString streamName2 = " test-topic-2" ;
2709-
27102709 {
27112710 NYdb::NTopic::TTopicClient pqClient (*testServer.Driver );
27122711 auto settings = NYdb::NTopic::TCreateTopicSettings ()
@@ -2792,6 +2791,127 @@ Y_UNIT_TEST_SUITE(DataStreams) {
27922791 UNIT_ASSERT_VALUES_EQUAL (description.shards (4 ).parent_shard_id (), " shard-000001" );
27932792 }
27942793
2794+ auto streamForAlterTest = " stream-alter-test" ;
2795+ {
2796+ auto result = testServer.DataStreamsClient ->CreateStream (streamForAlterTest,
2797+ NYDS_V1::TCreateStreamSettings ()
2798+ .ShardCount (3 )
2799+ ).ExtractValueSync ();
2800+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2801+ if (result.GetStatus () != EStatus::SUCCESS) {
2802+ result.GetIssues ().PrintTo (Cerr);
2803+ }
2804+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2805+ }
2806+
2807+ {
2808+ auto result = testServer.DataStreamsClient ->DescribeStream (streamForAlterTest).ExtractValueSync ();
2809+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2810+ Cerr << result.GetIssues ().ToString () << " \n " ;
2811+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2812+
2813+ auto & d = result.GetResult ().stream_description ();
2814+ UNIT_ASSERT_VALUES_EQUAL (d.shards ().size (), 3 );
2815+ UNIT_ASSERT_VALUES_EQUAL (d.stream_status (), YDS_V1::StreamDescription::ACTIVE);
2816+ UNIT_ASSERT_VALUES_EQUAL (d.stream_name (), streamForAlterTest);
2817+ UNIT_ASSERT_VALUES_EQUAL (d.stream_arn (), streamForAlterTest);
2818+
2819+ UNIT_ASSERT_VALUES_EQUAL (d.partitioning_settings ().auto_partitioning_settings ().strategy (), ::Ydb::DataStreams::V1::AutoPartitioningStrategy::AUTO_PARTITIONING_STRATEGY_DISABLED);
2820+ }
2821+
2822+ {
2823+ auto result = testServer.DataStreamsClient ->UpdateStream (streamForAlterTest,
2824+ NYDS_V1::TUpdateStreamSettings ()
2825+ .TargetShardCount (5 )
2826+ .BeginConfigurePartitioningSettings ()
2827+ .BeginConfigureAutoPartitioningSettings ()
2828+ .Strategy (NYdb::NDataStreams::V1::EAutoPartitioningStrategy::Disabled)
2829+ .EndConfigureAutoPartitioningSettings ()
2830+ .EndConfigurePartitioningSettings ()
2831+ ).ExtractValueSync ();
2832+
2833+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2834+ if (result.GetStatus () != EStatus::SUCCESS) {
2835+ result.GetIssues ().PrintTo (Cerr);
2836+ }
2837+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2838+ }
2839+
2840+ {
2841+ auto result = testServer.DataStreamsClient ->DescribeStream (streamForAlterTest).ExtractValueSync ();
2842+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2843+ Cerr << result.GetIssues ().ToString () << " \n " ;
2844+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2845+
2846+ auto & d = result.GetResult ().stream_description ();
2847+ UNIT_ASSERT_VALUES_EQUAL (d.shards ().size (), 5 );
2848+ UNIT_ASSERT_VALUES_EQUAL (d.stream_status (), YDS_V1::StreamDescription::ACTIVE);
2849+ UNIT_ASSERT_VALUES_EQUAL (d.stream_name (), streamForAlterTest);
2850+ UNIT_ASSERT_VALUES_EQUAL (d.stream_arn (), streamForAlterTest);
2851+
2852+ UNIT_ASSERT_VALUES_EQUAL (d.partitioning_settings ().auto_partitioning_settings ().strategy (), ::Ydb::DataStreams::V1::AutoPartitioningStrategy::AUTO_PARTITIONING_STRATEGY_DISABLED);
2853+ }
2854+
2855+ {
2856+ auto result = testServer.DataStreamsClient ->UpdateStream (streamForAlterTest,
2857+ NYDS_V1::TUpdateStreamSettings ()
2858+ .TargetShardCount (10 )
2859+ ).ExtractValueSync ();
2860+
2861+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2862+ if (result.GetStatus () != EStatus::SUCCESS) {
2863+ result.GetIssues ().PrintTo (Cerr);
2864+ }
2865+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2866+ }
2867+
2868+ {
2869+ auto result = testServer.DataStreamsClient ->DescribeStream (streamForAlterTest).ExtractValueSync ();
2870+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2871+ Cerr << result.GetIssues ().ToString () << " \n " ;
2872+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2873+
2874+ auto & d = result.GetResult ().stream_description ();
2875+ UNIT_ASSERT_VALUES_EQUAL (d.shards ().size (), 10 );
2876+ UNIT_ASSERT_VALUES_EQUAL (d.stream_status (), YDS_V1::StreamDescription::ACTIVE);
2877+ UNIT_ASSERT_VALUES_EQUAL (d.stream_name (), streamForAlterTest);
2878+ UNIT_ASSERT_VALUES_EQUAL (d.stream_arn (), streamForAlterTest);
2879+
2880+ UNIT_ASSERT_VALUES_EQUAL (d.partitioning_settings ().auto_partitioning_settings ().strategy (), ::Ydb::DataStreams::V1::AutoPartitioningStrategy::AUTO_PARTITIONING_STRATEGY_DISABLED);
2881+ }
2882+
2883+ {
2884+ auto result = testServer.DataStreamsClient ->UpdateStream (streamForAlterTest,
2885+ NYDS_V1::TUpdateStreamSettings ()
2886+ .TargetShardCount (15 )
2887+ .BeginConfigurePartitioningSettings ()
2888+ .BeginConfigureAutoPartitioningSettings ()
2889+ .EndConfigureAutoPartitioningSettings ()
2890+ .EndConfigurePartitioningSettings ()
2891+ ).ExtractValueSync ();
2892+
2893+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2894+ if (result.GetStatus () != EStatus::SUCCESS) {
2895+ result.GetIssues ().PrintTo (Cerr);
2896+ }
2897+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2898+ }
2899+
2900+ {
2901+ auto result = testServer.DataStreamsClient ->DescribeStream (streamForAlterTest).ExtractValueSync ();
2902+ UNIT_ASSERT_VALUES_EQUAL (result.IsTransportError (), false );
2903+ Cerr << result.GetIssues ().ToString () << " \n " ;
2904+ UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
2905+
2906+ auto & d = result.GetResult ().stream_description ();
2907+ UNIT_ASSERT_VALUES_EQUAL (d.shards ().size (), 15 );
2908+ UNIT_ASSERT_VALUES_EQUAL (d.stream_status (), YDS_V1::StreamDescription::ACTIVE);
2909+ UNIT_ASSERT_VALUES_EQUAL (d.stream_name (), streamForAlterTest);
2910+ UNIT_ASSERT_VALUES_EQUAL (d.stream_arn (), streamForAlterTest);
2911+
2912+ UNIT_ASSERT_VALUES_EQUAL (d.partitioning_settings ().auto_partitioning_settings ().strategy (), ::Ydb::DataStreams::V1::AutoPartitioningStrategy::AUTO_PARTITIONING_STRATEGY_DISABLED);
2913+ }
2914+
27952915 {
27962916 auto result = testServer.DataStreamsClient ->CreateStream (streamName2,
27972917 NYDS_V1::TCreateStreamSettings ()
0 commit comments