-
Notifications
You must be signed in to change notification settings - Fork 218
fix #9387 feat(cirrus): Cirrus demo app integration tests #9658
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
fix #9387 feat(cirrus): Cirrus demo app integration tests #9658
Conversation
|
okay all done 🎉 |
jaredlockhart
left a comment
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.
Wow wow wow wow wow!!!!!!! Look at it go!!!! This is fantastic @yashika-khurana I'm so happy to see this let's get this landed ASAP and then we can really start digging into working on and improving Cirrus safely 🙏 🙏 🙏 🙏 🙏
This makes me 😻 😻 😻 😻 😻
nimbus/test_demo_app_integration.py::test_create_new_rollout_approve_remote_settings_demo_app[DEMO_APP] PASSED [ 50%]
nimbus/test_demo_app_integration.py::test_create_new_experiment_approve_remote_settings_demo_app[DEMO_APP] PASSED [100%]
Great job ❤️
|
|
||
|
|
||
| @pytest.mark.demo_app | ||
| def test_create_new_rollout_approve_remote_settings_demo_app( |
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.
🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉
| navigate_to_demo_app_frontend(selenium) | ||
| result_text_element = WebDriverWait(selenium, 10).until( | ||
| EC.presence_of_element_located( | ||
| (By.XPATH, "//h1[contains(text(), 'Not Enrolled')]") | ||
| ) | ||
| ) |
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 would be nice to wrap this in one of the selenium Page object wrappers. We could do that as a followup optimization to this.
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.
sure let me note it down and can circle back later, great idea
| - "5000:5000" | ||
| - "5050:5050" |
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.
5000 no good? 🤔
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.
I was getting port used on my machine everytime so I switched it
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's a mac thing, something is broadcasting on port 5000
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.
Aaaaaahhhhh
| sleep_thread = threading.Thread( | ||
| target=self.non_blocking_sleep, args=(10,) | ||
| ) | ||
| sleep_thread.start() | ||
| sleep_thread.join() # Wait for the thread to finish sleeping |
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.
What's this for?
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.
that's the little improvement I made to help the test run locally successfully, what I was noticing that refresh was always going on the main thread and was not letting RS to do task, as soon as refreshes stopped, RS kicked in but at that time test was getting failed already because they were not able to find the right status, so with this optimization tests works 💯
|
Didn't get to review this but there are a few optimizations I see already. Please be sure to open a follow-up ticket so I can share my thoughts some more. Overall, this is great and thanks for getting it done! |
…illa#9658) Because - We have a demo app that can test the integration end to end, it has the frontend and backend. - We could stand up the experimenter, launch the experiment or rollout, and push to RS, Cirrus can sync to RS and then the frontend can send a request to the backend and then backend can reach out to Cirrus and can ask for the feature config - When the backend receives the response, can send the response back to the frontend This commit - Tests end-to-end integration between the experimenter, RS, Cirrus, and Demo app - Test both the experiment and rollout end to end fixes mozilla#9387
Hi @jrbenny35 sure absolutely, please feel free to leave your comments here I will make sure to file a follow up tickets, or you can also add tickets here and please assign it to me, jira epic, or we can chat and i will file all the ticket, and sorry about that |
Because
This commit
fixes #9387