Skip to content

Commit

Permalink
added test of else method using un-ordered columns
Browse files Browse the repository at this point in the history
  • Loading branch information
epinzur committed Oct 11, 2023
1 parent 0d2cde7 commit 500102d
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
33 changes: 33 additions & 0 deletions python/pytests/else_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,36 @@ async def test_else_debug(record_source, golden) -> None:
}
)
)


@pytest.fixture(scope="module")
def record_source_slack() -> kd.sources.JsonlString:
content = "\n".join(
[
"""{"text":"Thread 1","user":"UCZ4","time":1,"thread_ts":1,"key":"dev"}""",
"""{"text":"Thread 2","user":"U016","time":2,"thread_ts":1,"key":"dev"}""",
"""{"text":"Msg 1","user":"U016","time":3,"thread_ts":null,"key":"dev"}""",
"""{"text":"Msg 2","user":"U016","time":4,"thread_ts":null,"key":"dev"}""",
]
)
return kd.sources.JsonlString(
content, time_column_name="time", key_column_name="key"
)


def test_else_unordered_record(record_source_slack, golden) -> None:
threads = record_source_slack.filter(record_source_slack.col("thread_ts").is_not_null())
non_threads = record_source_slack.filter(record_source_slack.col("thread_ts").is_null())

# this call re-orders the columns in the non_threads timestream
# and causes the bug to occur
non_threads = non_threads.extend({"user": non_threads.col("user")})

joined = kd.record({"threads": threads, "non_threads": non_threads})

threads = joined.col("threads")
non_threads = joined.col("non_threads")

golden.jsonl(
joined.extend({"joined": threads.else_(non_threads)})
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{"_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}
{"_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}
{"_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"}}
{"_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 comments on commit 500102d

Please sign in to comment.