-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changed test environment (nox -s fides_env
) to run fides deploy
for local testing
#3017
Conversation
...since it's integrated into the test env now
...this was a potential footgun. It created a user with the same 'root_user' username & pass we use for testing, which would conflict with the root_user login itself.
Passing run #1292 ↗︎
Details:
This comment has been generated by cypress-bot as a result of this project's GitHub integration settings. |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #3017 +/- ##
==========================================
+ Coverage 86.92% 87.41% +0.48%
==========================================
Files 303 306 +3
Lines 17322 17534 +212
Branches 2230 2255 +25
==========================================
+ Hits 15057 15327 +270
+ Misses 1849 1793 -56
+ Partials 416 414 -2
... and 27 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
@NevilleS I'm working through this now btw! I'm gonna commit directly |
Sounds good, the more the merrier! Right now I feel like build times are the biggest issue, but we also need a good solution for a "dev" environment that hot-reloads the python server and (ideally) the admin UI. Do you have some ideas for these? |
…o ns-new-test-env
print("Teardown complete") | ||
def teardown(session: nox.Session, volumes: bool = False, images: bool = False) -> None: | ||
"""Tear down all docker environments.""" | ||
for compose_file in COMPOSE_FILE_LIST: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah, I prefer this. Good idea.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it also showed me that one of those compose files doesn't seem to be valid, I'll double check on it
I'm giving the hot-reloading stuff a think...it's possible (as all are things with the power of code) but pondering what the best way might be |
I did check with @pattisdr who is the biggest user of that, and she's OK if we deprecate that, since there are other |
@NevilleS I approve this, but I can't approve it because I'm an author now too if we're both in agreement and 🤝 we can override and ship it |
Needs a CHANGELOG entry and then I say ship it. I'll carve out the follow-up work I want to continue doing separately (add to fidesplus, use this to add more tests, etc.) |
fides deploy
sample projectnox -s fides_env
) to run fides deploy
for local testing
Closes #3039
Code Changes
fides_env
nox session to callfides deploy up
instead ofdocker compose up
and running custom Python scripts to setup test datanox -s "build(sample)"
codepath and use:local
tags forfides deploy
insteaddocker-compose.test_env.yml
,src/data/fides/test_env/***
, and other test_env-specific codecheck_webserver_required_config_values
to reuse existing config code (instead of recreating the load)fides deploy up
:--env-file
and--image
, to give some customization optionsredis.enabled
to default to True (unrelated, but I just noticed this!)fides_env
...pip install
(if possible)fides_env(dev)
with hot-reloading (if possible)Steps to Confirm
nox -s "fides_env(test)"
and ensure everything we need for manual testing is therePre-Merge Checklist
CHANGELOG.md
Description Of Changes
This overhauls the local test environment by eliminating all the “test_env” specific code and instead using
fides deploy
to spin up a fully-featured test project. I’m expecting this will remove a lot of duplication and make it easier to test new features like a customer would, but it does have some rough edges that I’d like some help with…