1818import tech .ydb .table .values .PrimitiveValue ;
1919import tech .ydb .test .junit4 .GrpcTransportRule ;
2020
21+ import java .time .Duration ;
22+ import java .time .temporal .ChronoUnit ;
23+
2124/**
2225 * @author Kirill Kurdyukov
2326 */
@@ -43,10 +46,10 @@ public void smallSerialTest() {
4346
4447 Status createStatus = ctx .supplyStatus (session ->
4548 session .createTable (tablePath , tableDescription , new CreateTableSettings ())).join ();
46- Assert .assertTrue ("Create table with indexes " + createStatus , createStatus .isSuccess ());
49+ Assert .assertTrue ("Create table with small serial " + createStatus , createStatus .isSuccess ());
4750
4851 Result <TableDescription > describeResult = ctx .supplyResult (session -> session .describeTable (tablePath )).join ();
49- Assert .assertTrue ("Describe table with indexes " + describeResult .getStatus (), describeResult .isSuccess ());
52+ Assert .assertTrue ("Describe table with small serial " + describeResult .getStatus (), describeResult .isSuccess ());
5053 TableColumn tableColumn = describeResult .getValue ().getColumns ().get (0 );
5154 Assert .assertNotNull (tableColumn .getSequenceDescription ());
5255 Assert .assertEquals ("sequence_default" , tableColumn .getSequenceDescription ().getName ());
@@ -64,10 +67,10 @@ public void serialTest() {
6467
6568 Status createStatus = ctx .supplyStatus (session ->
6669 session .createTable (tablePath , tableDescription , new CreateTableSettings ())).join ();
67- Assert .assertTrue ("Create table with indexes " + createStatus , createStatus .isSuccess ());
70+ Assert .assertTrue ("Create table with serial " + createStatus , createStatus .isSuccess ());
6871
6972 Result <TableDescription > describeResult = ctx .supplyResult (session -> session .describeTable (tablePath )).join ();
70- Assert .assertTrue ("Describe table with indexes " + describeResult .getStatus (), describeResult .isSuccess ());
73+ Assert .assertTrue ("Describe table with serial " + describeResult .getStatus (), describeResult .isSuccess ());
7174 TableColumn tableColumn = describeResult .getValue ().getColumns ().get (0 );
7275 Assert .assertNotNull (tableColumn .getSequenceDescription ());
7376 Assert .assertEquals ("sequence_default" , tableColumn .getSequenceDescription ().getName ());
@@ -87,10 +90,10 @@ public void bigSerialTest() {
8790
8891 Status createStatus = ctx .supplyStatus (session ->
8992 session .createTable (tablePath , tableDescription , new CreateTableSettings ())).join ();
90- Assert .assertTrue ("Create table with indexes " + createStatus , createStatus .isSuccess ());
93+ Assert .assertTrue ("Create table with big serial " + createStatus , createStatus .isSuccess ());
9194
9295 Result <TableDescription > describeResult = ctx .supplyResult (session -> session .describeTable (tablePath )).join ();
93- Assert .assertTrue ("Describe table with indexes " + describeResult .getStatus (), describeResult .isSuccess ());
96+ Assert .assertTrue ("Describe table with big serial " + describeResult .getStatus (), describeResult .isSuccess ());
9497 TableDescription description = describeResult .getValue ();
9598 TableColumn tableColumn = description .getColumns ().get (0 );
9699 Assert .assertNotNull (tableColumn .getSequenceDescription ());
@@ -119,12 +122,13 @@ public void defaultValueTest() {
119122 Assert .assertNull (tableColumn .getSequenceDescription ());
120123 Assert .assertEquals ("text" , tableColumn .getLiteralDefaultValue ().getText ());
121124 Assert .assertEquals (PrimitiveType .Text , tableColumn .getType ());
122-
123125 ctx .supplyStatus (session -> session .dropTable (tablePath )).join ();
126+
127+
124128 }
125129
126130 @ Test
127- public void customSequenceDescriptionTest () {
131+ public void customSequenceDescriptionTest () throws InterruptedException {
128132 String tablePath = ydbTransport .getDatabase () + "/default_value_table" ;
129133
130134 TableDescription tableDescription = TableDescription .newBuilder ()
@@ -134,20 +138,19 @@ public void customSequenceDescriptionTest() {
134138 .setMinValue (10L )
135139 .setName ("custom_sequence_description" )
136140 .setCycle (true )
137- .setSetVal (11L , true )
138141 .setIncrement (2L )
139142 .setStartValue (12L )
140143 .build ()
141144 )
142145 .setPrimaryKey ("id" )
143146 .build ();
144147
145- Status createStatus = ctx .supplyStatus (session ->
146- session .createTable (tablePath , tableDescription , new CreateTableSettings ())).join ();
147- Assert .assertTrue ("Create table with indexes " + createStatus , createStatus .isSuccess ());
148-
148+ Thread .sleep (10_000 );
149+ Status createStatus = ctx .supplyStatus (session -> session .createTable (tablePath , tableDescription )).join ();
150+ Assert .assertTrue ("Create table with sequence description " + createStatus , createStatus .isSuccess ());
149151 Result <TableDescription > describeResult = ctx .supplyResult (session -> session .describeTable (tablePath )).join ();
150- Assert .assertTrue ("Describe table with indexes " + describeResult .getStatus (), describeResult .isSuccess ());
152+ Assert .assertTrue ("Describe table with sequence description " + describeResult .getStatus (),
153+ describeResult .isSuccess ());
151154 TableDescription description = describeResult .getValue ();
152155 SequenceDescription sequenceDescription = description .getColumns ().get (0 ).getSequenceDescription ();
153156 Assert .assertNotNull (sequenceDescription );
@@ -158,7 +161,25 @@ public void customSequenceDescriptionTest() {
158161 Assert .assertEquals (true , sequenceDescription .getCycle ());
159162 Assert .assertEquals (2L , (long ) sequenceDescription .getIncrement ());
160163 Assert .assertEquals (12L , (long ) sequenceDescription .getStartValue ());
161-
162164 ctx .supplyStatus (session -> session .dropTable (tablePath )).join ();
165+
166+ createStatus = ctx .supplyStatus (session -> session .createTable (tablePath + "_copy" , description )).join ();
167+ Assert .assertTrue ("Create copy table with sequence description " + createStatus ,
168+ createStatus .isSuccess ());
169+ Result <TableDescription > describeResultCopy = ctx .supplyResult (session ->
170+ session .describeTable (tablePath )).join ();
171+ Assert .assertTrue ("Describe copy table with sequence description " + describeResultCopy .getStatus (),
172+ describeResultCopy .isSuccess ());
173+ SequenceDescription sequenceDescriptionCopy = describeResultCopy .getValue ()
174+ .getColumns ().get (0 ).getSequenceDescription ();
175+ Assert .assertNotNull (sequenceDescription );
176+ Assert .assertEquals ("custom_sequence_description" , sequenceDescriptionCopy .getName ());
177+ Assert .assertEquals (Integer .MAX_VALUE , sequenceDescriptionCopy .getMaxValue ().intValue ());
178+ Assert .assertEquals (10L , (long ) sequenceDescriptionCopy .getMinValue ());
179+ Assert .assertEquals (5L , (long ) sequenceDescriptionCopy .getCache ());
180+ Assert .assertEquals (true , sequenceDescriptionCopy .getCycle ());
181+ Assert .assertEquals (2L , (long ) sequenceDescriptionCopy .getIncrement ());
182+ Assert .assertEquals (12L , (long ) sequenceDescriptionCopy .getStartValue ());
183+ ctx .supplyStatus (session -> session .dropTable (tablePath + "_copy" )).join ();
163184 }
164185}
0 commit comments