Skip to content

Commit 500102d

Browse files
committed
added test of else method using un-ordered columns
1 parent 0d2cde7 commit 500102d

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

python/pytests/else_test.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,36 @@ async def test_else_debug(record_source, golden) -> None:
6565
}
6666
)
6767
)
68+
69+
70+
@pytest.fixture(scope="module")
71+
def record_source_slack() -> kd.sources.JsonlString:
72+
content = "\n".join(
73+
[
74+
"""{"text":"Thread 1","user":"UCZ4","time":1,"thread_ts":1,"key":"dev"}""",
75+
"""{"text":"Thread 2","user":"U016","time":2,"thread_ts":1,"key":"dev"}""",
76+
"""{"text":"Msg 1","user":"U016","time":3,"thread_ts":null,"key":"dev"}""",
77+
"""{"text":"Msg 2","user":"U016","time":4,"thread_ts":null,"key":"dev"}""",
78+
]
79+
)
80+
return kd.sources.JsonlString(
81+
content, time_column_name="time", key_column_name="key"
82+
)
83+
84+
85+
def test_else_unordered_record(record_source_slack, golden) -> None:
86+
threads = record_source_slack.filter(record_source_slack.col("thread_ts").is_not_null())
87+
non_threads = record_source_slack.filter(record_source_slack.col("thread_ts").is_null())
88+
89+
# this call re-orders the columns in the non_threads timestream
90+
# and causes the bug to occur
91+
non_threads = non_threads.extend({"user": non_threads.col("user")})
92+
93+
joined = kd.record({"threads": threads, "non_threads": non_threads})
94+
95+
threads = joined.col("threads")
96+
non_threads = joined.col("non_threads")
97+
98+
golden.jsonl(
99+
joined.extend({"joined": threads.else_(non_threads)})
100+
)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{"_time":"1970-01-01T00:00:00.000000001","_subsort":0,"_key_hash":17095134351192101601,"_key":"dev","joined":{"text":"Thread 1","user":"UCZ4","time":1,"thread_ts":1.0,"key":"dev"},"threads":{"text":"Thread 1","user":"UCZ4","time":1.0,"thread_ts":1.0,"key":"dev"},"non_threads":null}
2+
{"_time":"1970-01-01T00:00:00.000000002","_subsort":1,"_key_hash":17095134351192101601,"_key":"dev","joined":{"text":"Thread 2","user":"U016","time":2,"thread_ts":1.0,"key":"dev"},"threads":{"text":"Thread 2","user":"U016","time":2.0,"thread_ts":1.0,"key":"dev"},"non_threads":null}
3+
{"_time":"1970-01-01T00:00:00.000000003","_subsort":2,"_key_hash":17095134351192101601,"_key":"dev","joined":{"text":"Msg 1","user":"U016","time":3,"thread_ts":null,"key":"dev"},"threads":null,"non_threads":{"text":"Msg 1","user":"U016","time":3.0,"thread_ts":null,"key":"dev"}}
4+
{"_time":"1970-01-01T00:00:00.000000004","_subsort":3,"_key_hash":17095134351192101601,"_key":"dev","joined":{"text":"Msg 2","user":"U016","time":4,"thread_ts":null,"key":"dev"},"threads":null,"non_threads":{"text":"Msg 2","user":"U016","time":4.0,"thread_ts":null,"key":"dev"}}

0 commit comments

Comments
 (0)