You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -28,8 +28,8 @@ Working Directory: $ProjectFileDir$
28
28
2. run `mypy src` to check for type errors
29
29
3. run `pytest tests/unit` to run unit tests
30
30
31
-
Note: while there is a `mypy` hook for pre-commit,
32
-
I found it too buggy to be worthwhile, so I just run mypy manually.
31
+
Note: while there is a `mypy` hook for pre-commit,
32
+
I found it too buggy to be worthwhile, so I just run mypy manually.
33
33
34
34
### PR procedures
35
35
@@ -44,13 +44,35 @@ I found it too buggy to be worthwhile, so I just run mypy manually.
44
44
4. If the integration tests pass and the change looks good to the maintainer they approve it.
45
45
5. Merge into the main branch. Only the maintainers have the ability to merge a PR. They will do so at the earliest convenience, with regards to the impact of the change as well as the release planning.
46
46
47
+
### Integration Tests
48
+
The integration test suite runs against Firebolt SaaS v1, Firebolt SaaS v2 and Firebolt Core. The SaaS test suites only run as part of the CI. Locally you can run the Firebolt Core test suite.
49
+
50
+
#### Run the tests locally
51
+
52
+
**Run on Kind:**
53
+
You must have [kind](https://kind.sigs.k8s.io/) installed. The test driver will create a kind cluster and install the Firebolt Core Helm chart.
54
+
55
+
```shell
56
+
pytest -k "core" --run-kind tests/integration
57
+
```
58
+
59
+
**Run on Docker Compose:**
60
+
```shell
61
+
pytest -k "core" --run-compose tests/integration
62
+
```
63
+
64
+
### Include a test in the core suite
65
+
Not all integration tests are supported by Firebolt Core.
66
+
67
+
The tests that are supported, use `@fixture(params=["core"])` on the fixture. Other ways are to use a `core` mark or add `core` in the name of the test. For more details on how tests are selected with the `pytest -k` flag, please check the pytest documentation.
68
+
47
69
### Docstrings
48
70
49
-
Use the Google format for docstrings. Do not include types or an indication
50
-
of "optional" in docstrings. Those should be captured in the function signature
71
+
Use the Google format for docstrings. Do not include types or an indication
72
+
of "optional" in docstrings. Those should be captured in the function signature
51
73
as type annotations; no need to repeat them in the docstring.
52
74
53
-
Public methods and functions should have docstrings.
75
+
Public methods and functions should have docstrings.
54
76
One-liners are fine for simple methods and functions.
55
77
56
78
For PyCharm Users:
@@ -73,20 +95,20 @@ In general, organize class internals in this order:
73
95
* alternative constructors first
74
96
* other classmethods next
75
97
4. properties (`@property`)
76
-
5. remaining methods
98
+
5. remaining methods
77
99
* put more important / broadly applicable functions first
78
100
* group related functions together to minimize scrolling
0 commit comments