Commit a444692
authored
feat: Add integration tests for dbt import (#5899)
* Add comprehensive integration tests for dbt import feature
- Add 82 integration tests covering dbt manifest parsing, mapper, codegen, and CLI
- Add real dbt project with DuckDB for testing
- Add GitHub Actions workflow for dbt integration tests
- Fix entity column handling: codegen now includes entity columns in schema
to match mapper behavior (FeatureView.__init__ expects them)
- Fix type mapping: Int32→ValueType.INT32, Float32→ValueType.FLOAT
(instead of widening to INT64/DOUBLE)
- Add multi-entity column support tests
- Add comprehensive test coverage for edge cases, validation errors,
special characters, and CLI commands
Signed-off-by: yassinnouh21 <yassinnouh21@gmail.com>
* Add ok-to-test label check to dbt integration workflow
- Add PR trigger types (opened, synchronize, labeled)
- Add label check condition requiring ok-to-test/approved/lgtm
- Prevents resource spin-up for every PR
Signed-off-by: yassinnouh21 <yassinnouh21@gmail.com>
---------
Signed-off-by: yassinnouh21 <yassinnouh21@gmail.com>1 parent 19f9bb8 commit a444692Copy full SHA for a444692
18 files changed
+1,645-3Lines changed: 1645 additions & 3 deletions
File tree
Expand file treeCollapse file tree
Open diff view settings
Filter options
- .github/workflows
- sdk/python
- feast/dbt
- tests/integration/dbt
- test_dbt_project
- models
- seeds
Expand file treeCollapse file tree
Open diff view settings
Collapse file
.github/workflows/dbt-integration-tests.yml
Copy file name to clipboard+53Lines changed: 53 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
| 33 | + |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | + |
| 38 | + |
| 39 | + |
| 40 | + |
| 41 | + |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | + |
Collapse file
+22Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
187 | 187 | |
188 | 188 | |
189 | 189 | |
| 190 | + |
| 191 | + |
| 192 | + |
| 193 | + |
| 194 | + |
| 195 | + |
| 196 | + |
| 197 | + |
| 198 | + |
| 199 | + |
| 200 | + |
| 201 | + |
| 202 | + |
| 203 | + |
| 204 | + |
| 205 | + |
| 206 | + |
| 207 | + |
| 208 | + |
| 209 | + |
| 210 | + |
| 211 | + |
190 | 212 | |
191 | 213 | |
192 | 214 | |
|
Collapse file
sdk/python/feast/dbt/codegen.py
Copy file name to clipboardExpand all lines: sdk/python/feast/dbt/codegen.py+3-1Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
248 | 248 | |
249 | 249 | |
250 | 250 | |
251 | | - |
| 251 | + |
| 252 | + |
| 253 | + |
252 | 254 | |
253 | 255 | |
254 | 256 | |
|
Collapse file
sdk/python/feast/dbt/mapper.py
Copy file name to clipboardExpand all lines: sdk/python/feast/dbt/mapper.py+2-2Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
29 | 29 | |
30 | 30 | |
31 | 31 | |
32 | | - |
| 32 | + |
33 | 33 | |
34 | | - |
| 34 | + |
35 | 35 | |
36 | 36 | |
37 | 37 | |
|
Collapse file
sdk/python/tests/integration/dbt/__init__.py
Copy file name to clipboard+1Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
Collapse file
sdk/python/tests/integration/dbt/conftest.py
Copy file name to clipboard+32Lines changed: 32 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 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 | + |
Collapse file
sdk/python/tests/integration/dbt/pytest.ini
Copy file name to clipboard+9Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
0 commit comments