зеркало из https://github.com/Azure/pykusto.git
CR fixes - fixed bug with not raising an exception and adding test coverage for wrong arguments type
This commit is contained in:
Родитель
439dd3cb19
Коммит
0afc492248
|
@ -553,11 +553,11 @@ class _JoinQuery(Query):
|
|||
def _inner_on_with_or_without_table(self, col: Union[BaseColumn, Tuple[BaseColumn, BaseColumn]]) -> '_JoinQuery':
|
||||
if isinstance(col, BaseColumn):
|
||||
return self._inner_on(col)
|
||||
elif isinstance(col, tuple) and isinstance(col[0], BaseColumn) and isinstance(col[1], BaseColumn):
|
||||
elif isinstance(col, tuple) and len(col) == 2 and isinstance(col[0], BaseColumn) and isinstance(col[1], BaseColumn):
|
||||
return self._inner_on_with_table(*col)
|
||||
else:
|
||||
JoinException(
|
||||
"A join argument could be a column, or a tuple of columns corresponding to the input and join "
|
||||
raise JoinException(
|
||||
"A join argument could be a column, or a tuple of two columns corresponding to the input and join "
|
||||
f"tables column names. However, the join argument provided is {col} of type {type(col)}"
|
||||
)
|
||||
|
||||
|
|
|
@ -265,6 +265,24 @@ class TestQuery(TestBase):
|
|||
Query(t).take(2), kind=JoinKind.INNER).render
|
||||
)
|
||||
|
||||
def test_join_wrong_arguments_type(self):
|
||||
col_name_str = "numField"
|
||||
# noinspection PyTypeChecker
|
||||
self.assertRaises(
|
||||
JoinException(
|
||||
"A join argument could be a column, or a tuple of two columns corresponding to the input and join "
|
||||
f"tables column names. However, the join argument provided is {col_name_str} of type {type(col_name_str)}"
|
||||
),
|
||||
lambda: (
|
||||
Query(t)
|
||||
.where(t.numField > 4)
|
||||
.take(5)
|
||||
.join(Query(t).take(2), kind=JoinKind.INNER)
|
||||
.on(col_name_str)
|
||||
.render()
|
||||
)
|
||||
)
|
||||
|
||||
def test_extend(self):
|
||||
self.assertEqual(
|
||||
"mock_table | extend sumField = numField + numField2, foo = numField3 * 4 | take 5",
|
||||
|
|
Загрузка…
Ссылка в новой задаче