-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathtable_resolver.py
More file actions
32 lines (26 loc) · 1.02 KB
/
table_resolver.py
File metadata and controls
32 lines (26 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from dataclasses import dataclass
import pyarrow as pa
from cloudquery.sdk.scheduler import TableResolver
from cloudquery.sdk.schema import Table, Resource, Column
@dataclass
class Item:
test_column2: int = 1
def test_table_resolver_resolve_column():
test_table = Table(
name="test_table",
columns=[
Column(name="test_column", type=pa.int64()),
Column(name="test_column2", type=pa.int64()),
],
)
resource_dict = Resource(table=test_table, parent=None, item={"test_column": 1})
resource_obj = Resource(table=test_table, parent=None, item=Item(test_column2=2))
test_resolver = TableResolver(table=test_table, child_resolvers=[])
test_resolver.resolve_column(
client=None, resource=resource_dict, column_name="test_column"
)
test_resolver.resolve_column(
client=None, resource=resource_obj, column_name="test_column2"
)
assert resource_dict.to_list_of_arr() == [[1], [None]]
assert resource_obj.to_list_of_arr() == [[None], [2]]