@@ -18,6 +18,10 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
18
18
using namespace NTestHelpers ;
19
19
using TRecord = TEvWorker::TEvData::TRecord;
20
20
21
+ TRecord Record (ui64 offset, const TString& data) {
22
+ return TRecord (offset, data, TInstant::Zero (), " MessageGroupId" , " ProducerId" , 13 /* seqNo */ );
23
+ }
24
+
21
25
Y_UNIT_TEST (WriteTable) {
22
26
TEnv env;
23
27
env.GetRuntime ().SetLogPriority (NKikimrServices::REPLICATION_SERVICE, NLog::PRI_DEBUG);
@@ -36,9 +40,9 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
36
40
env.Send <TEvWorker::TEvHandshake>(writer, new TEvWorker::TEvHandshake ());
37
41
38
42
env.Send <TEvWorker::TEvPoll>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
39
- TRecord (1 , R"( {"key":[1], "update":{"value":"10"}})" ),
40
- TRecord (2 , R"( {"key":[2], "update":{"value":"20"}})" ),
41
- TRecord (3 , R"( {"key":[3], "update":{"value":"30"}})" ),
43
+ Record (1 , R"( {"key":[1], "update":{"value":"10"}})" ),
44
+ Record (2 , R"( {"key":[2], "update":{"value":"20"}})" ),
45
+ Record (3 , R"( {"key":[3], "update":{"value":"30"}})" ),
42
46
}));
43
47
}
44
48
@@ -93,37 +97,37 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
93
97
env.Send <TEvWorker::TEvHandshake>(writer, new TEvWorker::TEvHandshake ());
94
98
95
99
env.Send <TEvWorker::TEvPoll>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
96
- TRecord (1 , R"( {"key":[1], "update":{"int32_value":-100500}})" ),
97
- TRecord (2 , R"( {"key":[2], "update":{"uint32_value":100500}})" ),
98
- TRecord (3 , R"( {"key":[3], "update":{"int64_value":-200500}})" ),
99
- TRecord (4 , R"( {"key":[4], "update":{"uint64_value":200500}})" ),
100
- TRecord (5 , R"( {"key":[5], "update":{"uint8_value":255}})" ),
101
- TRecord (6 , R"( {"key":[6], "update":{"bool_value":true}})" ),
102
- TRecord (7 , R"( {"key":[7], "update":{"double_value":1.1234}})" ),
103
- TRecord (8 , R"( {"key":[8], "update":{"float_value":-1.123}})" ),
104
- TRecord (9 , R"( {"key":[9], "update":{"date_value":"2020-08-12T00:00:00.000000Z"}})" ),
105
- TRecord (10 , R"( {"key":[10], "update":{"datetime_value":"2020-08-12T12:34:56.000000Z"}})" ),
106
- TRecord (11 , R"( {"key":[11], "update":{"timestamp_value":"2020-08-12T12:34:56.123456Z"}})" ),
107
- TRecord (12 , R"( {"key":[12], "update":{"interval_value":-300500}})" ),
108
- TRecord (13 , R"( {"key":[13], "update":{"decimal_value":"3.321"}})" ),
109
- TRecord (14 , R"( {"key":[14], "update":{"dynumber_value":".3321e1"}})" ),
110
- TRecord (15 , Sprintf (R"( {"key":[15], "update":{"string_value":"%s"}})" , Base64Encode (" lorem ipsum" ).c_str ())),
111
- TRecord (16 , R"( {"key":[16], "update":{"utf8_value":"lorem ipsum"}})" ),
112
- TRecord (17 , R"( {"key":[17], "update":{"json_value":{"key": "value"}}})" ),
113
- TRecord (18 , R"( {"key":[18], "update":{"jsondoc_value":{"key": "value"}}})" ),
114
- TRecord (19 , R"( {"key":[19], "update":{"uuid_value":"65df1ec1-a97d-47b2-ae56-3c023da6ee8c"}})" ),
115
- TRecord (20 , R"( {"key":[20], "update":{"date32_value":18486}})" ),
116
- TRecord (21 , R"( {"key":[21], "update":{"datetime64_value":1597235696}})" ),
117
- TRecord (22 , R"( {"key":[22], "update":{"timestamp64_value":1597235696123456}})" ),
118
- TRecord (23 , R"( {"key":[23], "update":{"interval64_value":-300500}})" ),
119
- TRecord (24 , R"( {"key":[24], "update":{"pgint2_value":"-42"}})" ),
120
- TRecord (25 , R"( {"key":[25], "update":{"pgint4_value":"-420"}})" ),
121
- TRecord (26 , R"( {"key":[26], "update":{"pgint8_value":"-4200"}})" ),
122
- TRecord (27 , R"( {"key":[27], "update":{"pgfloat4_value":"3.1415"}})" ),
123
- TRecord (28 , R"( {"key":[28], "update":{"pgfloat8_value":"2.718"}})" ),
124
- TRecord (29 , R"( {"key":[29], "update":{"pgbytea_value":"\\x6c6f72656d2022697073756d22"}})" ),
125
- TRecord (30 , R"( {"key":[30], "update":{"pgtext_value":"lorem \"ipsum\""}})" ),
126
- TRecord (31 , R"( {"key":[31], "update":{"decimal35_value":"355555555555555.321"}})" ),
100
+ Record (1 , R"( {"key":[1], "update":{"int32_value":-100500}})" ),
101
+ Record (2 , R"( {"key":[2], "update":{"uint32_value":100500}})" ),
102
+ Record (3 , R"( {"key":[3], "update":{"int64_value":-200500}})" ),
103
+ Record (4 , R"( {"key":[4], "update":{"uint64_value":200500}})" ),
104
+ Record (5 , R"( {"key":[5], "update":{"uint8_value":255}})" ),
105
+ Record (6 , R"( {"key":[6], "update":{"bool_value":true}})" ),
106
+ Record (7 , R"( {"key":[7], "update":{"double_value":1.1234}})" ),
107
+ Record (8 , R"( {"key":[8], "update":{"float_value":-1.123}})" ),
108
+ Record (9 , R"( {"key":[9], "update":{"date_value":"2020-08-12T00:00:00.000000Z"}})" ),
109
+ Record (10 , R"( {"key":[10], "update":{"datetime_value":"2020-08-12T12:34:56.000000Z"}})" ),
110
+ Record (11 , R"( {"key":[11], "update":{"timestamp_value":"2020-08-12T12:34:56.123456Z"}})" ),
111
+ Record (12 , R"( {"key":[12], "update":{"interval_value":-300500}})" ),
112
+ Record (13 , R"( {"key":[13], "update":{"decimal_value":"3.321"}})" ),
113
+ Record (14 , R"( {"key":[14], "update":{"dynumber_value":".3321e1"}})" ),
114
+ Record (15 , Sprintf (R"( {"key":[15], "update":{"string_value":"%s"}})" , Base64Encode (" lorem ipsum" ).c_str ())),
115
+ Record (16 , R"( {"key":[16], "update":{"utf8_value":"lorem ipsum"}})" ),
116
+ Record (17 , R"( {"key":[17], "update":{"json_value":{"key": "value"}}})" ),
117
+ Record (18 , R"( {"key":[18], "update":{"jsondoc_value":{"key": "value"}}})" ),
118
+ Record (19 , R"( {"key":[19], "update":{"uuid_value":"65df1ec1-a97d-47b2-ae56-3c023da6ee8c"}})" ),
119
+ Record (20 , R"( {"key":[20], "update":{"date32_value":18486}})" ),
120
+ Record (21 , R"( {"key":[21], "update":{"datetime64_value":1597235696}})" ),
121
+ Record (22 , R"( {"key":[22], "update":{"timestamp64_value":1597235696123456}})" ),
122
+ Record (23 , R"( {"key":[23], "update":{"interval64_value":-300500}})" ),
123
+ Record (24 , R"( {"key":[24], "update":{"pgint2_value":"-42"}})" ),
124
+ Record (25 , R"( {"key":[25], "update":{"pgint4_value":"-420"}})" ),
125
+ Record (26 , R"( {"key":[26], "update":{"pgint8_value":"-4200"}})" ),
126
+ Record (27 , R"( {"key":[27], "update":{"pgfloat4_value":"3.1415"}})" ),
127
+ Record (28 , R"( {"key":[28], "update":{"pgfloat8_value":"2.718"}})" ),
128
+ Record (29 , R"( {"key":[29], "update":{"pgbytea_value":"\\x6c6f72656d2022697073756d22"}})" ),
129
+ Record (30 , R"( {"key":[30], "update":{"pgtext_value":"lorem \"ipsum\""}})" ),
130
+ Record (31 , R"( {"key":[31], "update":{"decimal35_value":"355555555555555.321"}})" ),
127
131
}));
128
132
}
129
133
@@ -144,9 +148,9 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
144
148
env.Send <TEvWorker::TEvHandshake>(writer, new TEvWorker::TEvHandshake ());
145
149
146
150
env.Send <TEvWorker::TEvPoll>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
147
- TRecord (1 , R"( {"key":["1.0"], "update":{"value":"155555555555555.321"}})" ),
148
- TRecord (2 , R"( {"key":["2.0"], "update":{"value":"255555555555555.321"}})" ),
149
- TRecord (3 , R"( {"key":["3.0"], "update":{"value":"355555555555555.321"}})" ),
151
+ Record (1 , R"( {"key":["1.0"], "update":{"value":"155555555555555.321"}})" ),
152
+ Record (2 , R"( {"key":["2.0"], "update":{"value":"255555555555555.321"}})" ),
153
+ Record (3 , R"( {"key":["3.0"], "update":{"value":"355555555555555.321"}})" ),
150
154
}));
151
155
}
152
156
@@ -185,9 +189,9 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
185
189
186
190
{
187
191
auto ev = env.Send <TEvService::TEvGetTxId>(writer, new TEvWorker::TEvData (0 ," TestSource" , {
188
- TRecord (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
189
- TRecord (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[2,0]})" ),
190
- TRecord (order++, R"( {"key":[3], "update":{"value":"30"}, "ts":[3,0]})" ),
192
+ Record (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
193
+ Record (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[2,0]})" ),
194
+ Record (order++, R"( {"key":[3], "update":{"value":"30"}, "ts":[3,0]})" ),
191
195
}));
192
196
193
197
const auto & versions = ev->Get ()->Record .GetVersions ();
@@ -204,17 +208,17 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
204
208
}
205
209
{
206
210
auto ev = env.Send <TEvService::TEvHeartbeat>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
207
- TRecord (order++, R"( {"resolved":[10,0]})" ),
211
+ Record (order++, R"( {"resolved":[10,0]})" ),
208
212
}));
209
213
UNIT_ASSERT_VALUES_EQUAL (TRowVersion::FromProto (ev->Get ()->Record .GetVersion ()), TRowVersion (10 , 0 ));
210
214
env.GetRuntime ().GrabEdgeEvent <TEvWorker::TEvPoll>(env.GetSender ());
211
215
}
212
216
213
217
env.Send <TEvService::TEvGetTxId>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
214
- TRecord (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[11,0]})" ),
215
- TRecord (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[12,0]})" ),
216
- TRecord (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[21,0]})" ),
217
- TRecord (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[22,0]})" ),
218
+ Record (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[11,0]})" ),
219
+ Record (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[12,0]})" ),
220
+ Record (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[21,0]})" ),
221
+ Record (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[22,0]})" ),
218
222
}));
219
223
220
224
env.Send <TEvWorker::TEvPoll>(writer, MakeTxIdResult ({
@@ -223,12 +227,12 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
223
227
}));
224
228
225
229
env.Send <TEvWorker::TEvPoll>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
226
- TRecord (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[13,0]})" ),
227
- TRecord (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[23,0]})" ),
230
+ Record (order++, R"( {"key":[1], "update":{"value":"10"}, "ts":[13,0]})" ),
231
+ Record (order++, R"( {"key":[2], "update":{"value":"20"}, "ts":[23,0]})" ),
228
232
}));
229
233
230
234
env.Send <TEvService::TEvHeartbeat>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
231
- TRecord (order++, R"( {"resolved":[30,0]})" ),
235
+ Record (order++, R"( {"resolved":[30,0]})" ),
232
236
}));
233
237
env.GetRuntime ().GrabEdgeEvent <TEvWorker::TEvPoll>(env.GetSender ());
234
238
}
@@ -295,8 +299,8 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
295
299
296
300
env.Send <TEvWorker::TEvHandshake>(worker, new TEvWorker::TEvHandshake ());
297
301
env.Send <TEvService::TEvGetTxId>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
298
- TRecord (1 , R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
299
- TRecord (2 , R"( {"key":[2], "update":{"value":"20"}, "ts":[11,0]})" ),
302
+ Record (1 , R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
303
+ Record (2 , R"( {"key":[2], "update":{"value":"20"}, "ts":[11,0]})" ),
300
304
}));
301
305
env.SendAsync (writer, MakeTxIdResult ({
302
306
{TRowVersion (10 , 0 ), 1 },
@@ -378,8 +382,8 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
378
382
379
383
env.Send <TEvWorker::TEvHandshake>(worker, new TEvWorker::TEvHandshake ());
380
384
env.Send <TEvService::TEvGetTxId>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
381
- TRecord (1 , R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
382
- TRecord (2 , R"( {"resolved":[10,0]})" ),
385
+ Record (1 , R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
386
+ Record (2 , R"( {"resolved":[10,0]})" ),
383
387
}));
384
388
env.Send <TEvService::TEvHeartbeat>(writer, MakeTxIdResult ({
385
389
{TRowVersion (10 , 0 ), 1 },
@@ -408,16 +412,16 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
408
412
env.Send <TEvWorker::TEvHandshake>(writer, new TEvWorker::TEvHandshake ());
409
413
410
414
env.Send <TEvService::TEvGetTxId>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
411
- TRecord (1 , R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
415
+ Record (1 , R"( {"key":[1], "update":{"value":"10"}, "ts":[1,0]})" ),
412
416
}));
413
417
env.Send <TEvWorker::TEvPoll>(writer, MakeTxIdResult ({
414
418
{TRowVersion (10 , 0 ), 1 },
415
419
}));
416
420
417
421
env.Send <TEvService::TEvGetTxId>(writer, new TEvWorker::TEvData (0 , " TestSource" , {
418
- TRecord (2 , R"( {"key":[3], "update":{"value":"30"}, "ts":[11,0]})" ),
419
- TRecord (3 , R"( {"key":[2], "update":{"value":"20"}, "ts":[2,0]})" ),
420
- TRecord (4 , R"( {"resolved":[20,0]})" ),
422
+ Record (2 , R"( {"key":[3], "update":{"value":"30"}, "ts":[11,0]})" ),
423
+ Record (3 , R"( {"key":[2], "update":{"value":"20"}, "ts":[2,0]})" ),
424
+ Record (4 , R"( {"resolved":[20,0]})" ),
421
425
}));
422
426
env.Send <TEvService::TEvHeartbeat>(writer, MakeTxIdResult ({
423
427
{TRowVersion (20 , 0 ), 2 },
0 commit comments