2
2
#include " worker.h"
3
3
4
4
#include < ydb/core/tx/replication/ut_helpers/test_env.h>
5
+ #include < ydb/core/tx/replication/ut_helpers/test_table.h>
5
6
6
7
#include < library/cpp/string_utils/base64/base64.h>
7
8
#include < library/cpp/testing/unittest/registar.h>
11
12
namespace NKikimr ::NReplication::NService {
12
13
13
14
Y_UNIT_TEST_SUITE (LocalTableWriter) {
14
- struct TTestTableDescription {
15
- struct TColumn {
16
- TString Name;
17
- TString Type;
18
-
19
- void SerializeTo (NKikimrSchemeOp::TColumnDescription& proto) const {
20
- proto.SetName (Name);
21
- proto.SetType (Type);
22
- }
23
- };
24
-
25
- TString Name;
26
- TVector<TString> KeyColumns;
27
- TVector<TColumn> Columns;
28
-
29
- void SerializeTo (NKikimrSchemeOp::TTableDescription& proto) const {
30
- proto.SetName (" Table" );
31
- proto.MutableReplicationConfig ()->SetMode (NKikimrSchemeOp::TTableReplicationConfig::REPLICATION_MODE_READ_ONLY);
32
- proto.MutableReplicationConfig ()->SetConsistency (NKikimrSchemeOp::TTableReplicationConfig::CONSISTENCY_WEAK);
33
-
34
- for (const auto & keyColumn : KeyColumns) {
35
- proto.AddKeyColumnNames (keyColumn);
36
- }
37
-
38
- for (const auto & column : Columns) {
39
- column.SerializeTo (*proto.AddColumns ());
40
- }
41
- }
42
- };
43
-
44
- NKikimrSchemeOp::TTableDescription MakeTableDescription (const TTestTableDescription& desc) {
45
- NKikimrSchemeOp::TTableDescription proto;
46
- desc.SerializeTo (proto);
47
- return proto;
48
- }
49
-
50
- template <typename Env>
51
- auto GetDescription (Env& env, const TString& path) {
52
- auto resp = env.Describe (path);
53
- return resp->Record ;
54
- }
55
-
56
- template <typename Env>
57
- TPathId GetPathId (Env& env, const TString& path) {
58
- const auto & desc = GetDescription (env, path);
59
- UNIT_ASSERT (desc.HasPathDescription ());
60
- UNIT_ASSERT (desc.GetPathDescription ().HasSelf ());
61
-
62
- const auto & self = desc.GetPathDescription ().GetSelf ();
63
- return TPathId (self.GetSchemeshardId (), self.GetPathId ());
64
- }
65
-
66
15
Y_UNIT_TEST (WriteTable) {
67
16
TEnv env;
68
17
env.GetRuntime ().SetLogPriority (NKikimrServices::REPLICATION_SERVICE, NLog::PRI_DEBUG);
69
18
70
- env.CreateTable (" /Root" , MakeTableDescription (TTestTableDescription{
19
+ env.CreateTable (" /Root" , * MakeTableDescription (TTestTableDescription{
71
20
.Name = " Test" ,
72
21
.KeyColumns = {" key" },
73
22
.Columns = {
@@ -76,7 +25,7 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
76
25
},
77
26
}));
78
27
79
- auto writer = env.GetRuntime ().Register (CreateLocalTableWriter (GetPathId (env, " /Root/Table" )));
28
+ auto writer = env.GetRuntime ().Register (CreateLocalTableWriter (env. GetPathId (" /Root/Table" )));
80
29
env.Send <TEvWorker::TEvHandshake>(writer, new TEvWorker::TEvHandshake ());
81
30
82
31
using TRecord = TEvWorker::TEvData::TRecord;
@@ -91,7 +40,7 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
91
40
TEnv env;
92
41
env.GetRuntime ().SetLogPriority (NKikimrServices::REPLICATION_SERVICE, NLog::PRI_DEBUG);
93
42
94
- env.CreateTable (" /Root" , MakeTableDescription (TTestTableDescription{
43
+ env.CreateTable (" /Root" , * MakeTableDescription (TTestTableDescription{
95
44
.Name = " Test" ,
96
45
.KeyColumns = {" key" },
97
46
.Columns = {
@@ -117,7 +66,7 @@ Y_UNIT_TEST_SUITE(LocalTableWriter) {
117
66
},
118
67
}));
119
68
120
- auto writer = env.GetRuntime ().Register (CreateLocalTableWriter (GetPathId (env, " /Root/Table" )));
69
+ auto writer = env.GetRuntime ().Register (CreateLocalTableWriter (env. GetPathId (" /Root/Table" )));
121
70
env.Send <TEvWorker::TEvHandshake>(writer, new TEvWorker::TEvHandshake ());
122
71
123
72
using TRecord = TEvWorker::TEvData::TRecord;
0 commit comments