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
{{ message }}
Repository navigation
Commit e4507ac
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+53-6Lines changed: 53 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -139,7 +139,7 @@ There are two sets of tests you can run:
139
139
#### Local integration tests
140
140
For this approach of running tests, you'll need to have docker set up locally: [Get Docker](https://docs.docker.com/get-docker/)
141
141
142
-
It leverages a file based offline store to test against emulated versions of Datastore, DynamoDB, and Redis, using ephemeral containers.
142
+
It leverages a file based offline store to test against emulated versions of Datastore, DynamoDB, and Redis, using ephemeral containers.
143
143
144
144
These tests create new temporary tables / datasets locally only, and they are cleaned up. when the containers are torn down.
145
145
@@ -161,17 +161,48 @@ To test across clouds, on top of setting up Redis, you also need GCP / AWS / Sno
161
161
gcloud auth login
162
162
gcloud auth application-default login
163
163
```
164
-
3. Export `GCLOUD_PROJECT=[your project]` to your .zshrc
164
+
- When you run `gcloud auth application-default login`, you should see some output of the form:
165
+
```
166
+
Credentials saved to file: [$HOME/.config/gcloud/application_default_credentials.json]
167
+
```
168
+
- You should run `export GOOGLE_APPLICATION_CREDENTIALS="$HOME/.config/gcloud/application_default_credentials.json”` to add the application credentials to your .zshrc or .bashrc.
169
+
3. Run `export GCLOUD_PROJECT=[your project]` to your .zshrc or .bashrc.
170
+
4. Running `gcloud config list` should give you something like this:
171
+
```sh
172
+
$ gcloud config list
173
+
[core]
174
+
account = [your email]
175
+
disable_usage_reporting = True
176
+
project = [your project]
177
+
178
+
Your active configuration is: [default]
179
+
```
180
+
5. Export gcp specific environment variables. Namely,
Then run `make test-python-integration`. Note that for Snowflake / GCP / AWS, this will create new temporary tables / datasets.
182
213
214
+
#### Running specific provider tests or running your test against specific online or offline stores
215
+
216
+
1. If you don't need to have your test run against all of the providers(`gcp`, `aws`, and `snowflake`) or don't need to run against all of the online stores, you can tag your test with specific providers or stores that you need(`@pytest.mark.universal_online_stores` or `@pytest.mark.universal_online_stores` with the `only` parameter). The `only` parameter selects specific offline providers and online stores that your test will test against. Example:
217
+
218
+
```python
219
+
# Only parametrizes this test with the sqlite online store
2. You can also filter tests to run by using pytest's cli filtering. Instead of using the make commands to test Feast, you can filter tests by name with the `-k` parameter. The parametrized integration tests are all uniquely identified by their provider and online store so the `-k` option can select only the tests that you need to run. For example, to run only Redshift related tests, you can use the following command:
#### (Experimental) Run full integration tests against containerized services
184
231
Test across clouds requires existing accounts on GCP / AWS / Snowflake, and may incur costs when using these services.
185
232
186
233
For this approach of running tests, you'll need to have docker set up locally: [Get Docker](https://docs.docker.com/get-docker/)
187
234
188
-
It's possible to run some integration tests against emulated local versions of these services, using ephemeral containers.
235
+
It's possible to run some integration tests against emulated local versions of these services, using ephemeral containers.
189
236
These tests create new temporary tables / datasets locally only, and they are cleaned up. when the containers are torn down.
190
237
191
238
The services with containerized replacements currently implemented are:
@@ -185,9 +184,8 @@ The list below contains the functionality that contributors are planning to deve
185
184
*[x] Kubernetes (See [guide](https://docs.feast.dev/how-to-guides/running-feast-in-production#4.3.-java-based-feature-server-deployed-on-kubernetes))
186
185
***Feature Serving**
187
186
*[x] Python Client
188
-
*[x] REST Feature Server (Python) (See [RFC](https://docs.google.com/document/d/1iXvFhAsJ5jgAhPOpTdB3j-Wj1S9x3Ev\_Wr6ZpnLzER4/edit))
189
-
*[x] REST / gRPC Feature Server (Go) (Alpha release. See [docs](https://docs.feast.dev/reference/feature-servers/go-feature-retrieval)
190
-
*[x] gRPC Feature Server (Java) (Alpha release. See [#1497](https://github.com/feast-dev/feast/issues/1497))
***Data Quality Management (See [RFC](https://docs.google.com/document/d/110F72d4NTv80p35wDSONxhhPBqWRwbZXG4f9mNEMd98/edit))**
192
190
*[x] Data profiling and validation (Great Expectations)
193
191
***Feature Discovery and Governance**
@@ -196,7 +194,7 @@ The list below contains the functionality that contributors are planning to deve
*[x] Amundsen integration (see [Feast extractor](https://github.com/amundsen-io/amundsen/blob/main/databuilder/databuilder/extractor/feast_extractor.py))
198
196
*[x] DataHub integration (see [DataHub Feast docs](https://datahubproject.io/docs/generated/ingestion/sources/feast/))
199
-
*[x] Feast Web UI (Alpha release. See [documentation](https://docs.feast.dev/reference/alpha-web-ui))
197
+
*[x] Feast Web UI (Alpha release. See [docs](https://docs.feast.dev/reference/alpha-web-ui))
0 commit comments