Skip to content

Commit b9b486d

Browse files
authored
Check result format in yqlrun/dqrun tests (#8559)
1 parent 599a1f3 commit b9b486d

File tree

8 files changed

+293
-119
lines changed

8 files changed

+293
-119
lines changed

ydb/library/yql/public/result_format/ut/yql_result_format_ut.cpp

Lines changed: 103 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,67 @@ void Test(const TString& input) {
1414
}
1515

1616
Y_UNIT_TEST_SUITE(ParseType) {
17-
Y_UNIT_TEST(Throwing) {
17+
Y_UNIT_TEST(EmptyVisitor) {
18+
TEmptyTypeVisitor v;
19+
v.OnNull();
20+
v.OnVoid();
21+
v.OnEmptyList();
22+
v.OnEmptyDict();
23+
v.OnBool();
24+
v.OnInt8();
25+
v.OnUint8();
26+
v.OnInt16();
27+
v.OnUint16();
28+
v.OnInt32();
29+
v.OnUint32();
30+
v.OnInt64();
31+
v.OnUint64();
32+
v.OnFloat();
33+
v.OnDouble();
34+
v.OnString();
35+
v.OnUtf8();
36+
v.OnYson();
37+
v.OnJson();
38+
v.OnJsonDocument();
39+
v.OnUuid();
40+
v.OnDyNumber();
41+
v.OnDate();
42+
v.OnDatetime();
43+
v.OnTimestamp();
44+
v.OnTzDate();
45+
v.OnTzDatetime();
46+
v.OnTzTimestamp();
47+
v.OnInterval();
48+
v.OnDate32();
49+
v.OnDatetime64();
50+
v.OnTimestamp64();
51+
v.OnTzDate32();
52+
v.OnTzDatetime64();
53+
v.OnTzTimestamp64();
54+
v.OnInterval64();
55+
v.OnDecimal(10, 1);
56+
v.OnBeginOptional();
57+
v.OnEndOptional();
58+
v.OnBeginList();
59+
v.OnEndList();
60+
v.OnBeginTuple();
61+
v.OnTupleItem();
62+
v.OnEndTuple();
63+
v.OnBeginStruct();
64+
v.OnStructItem("foo");
65+
v.OnEndStruct();
66+
v.OnBeginDict();
67+
v.OnDictKey();
68+
v.OnDictPayload();
69+
v.OnEndDict();
70+
v.OnBeginVariant();
71+
v.OnEndVariant();
72+
v.OnBeginTagged("foo");
73+
v.OnEndTagged();
74+
v.OnPgType("int4", "N");
75+
}
76+
77+
Y_UNIT_TEST(ThrowingVisitor) {
1878
TThrowingTypeVisitor v;
1979
UNIT_ASSERT_EXCEPTION(v.OnNull(), TUnsupportedException);
2080
UNIT_ASSERT_EXCEPTION(v.OnVoid(), TUnsupportedException);
@@ -461,6 +521,48 @@ Y_UNIT_TEST_SUITE(ParseResponse) {
461521
UNIT_ASSERT(!res.IsTruncated);
462522
}
463523

524+
Y_UNIT_TEST(WriteNoType) {
525+
auto response = NYT::NodeFromYsonString(R"([
526+
{
527+
Write = [
528+
{
529+
Data = data;
530+
Truncated = %true;
531+
}
532+
]
533+
};
534+
])");
535+
536+
auto resList = ParseResponse(response);
537+
UNIT_ASSERT_VALUES_EQUAL(resList.size(), 1);
538+
const auto& res = resList[0];
539+
UNIT_ASSERT_VALUES_EQUAL(res.Writes.size(), 1);
540+
const auto& write = res.Writes[0];
541+
UNIT_ASSERT_VALUES_EQUAL(NYT::NodeToCanonicalYsonString(*write.Data), "\"data\"");
542+
UNIT_ASSERT(!write.Type);
543+
}
544+
545+
Y_UNIT_TEST(WriteNoData) {
546+
auto response = NYT::NodeFromYsonString(R"([
547+
{
548+
Write = [
549+
{
550+
Type = type;
551+
Refs = [];
552+
}
553+
]
554+
};
555+
])");
556+
557+
auto resList = ParseResponse(response);
558+
UNIT_ASSERT_VALUES_EQUAL(resList.size(), 1);
559+
const auto& res = resList[0];
560+
UNIT_ASSERT_VALUES_EQUAL(res.Writes.size(), 1);
561+
const auto& write = res.Writes[0];
562+
UNIT_ASSERT_VALUES_EQUAL(NYT::NodeToCanonicalYsonString(*write.Type), "\"type\"");
563+
UNIT_ASSERT(!write.Data);
564+
}
565+
464566
Y_UNIT_TEST(RefsEmpty) {
465567
auto response = NYT::NodeFromYsonString(R"([
466568
{

0 commit comments

Comments
 (0)