-
Notifications
You must be signed in to change notification settings - Fork 180
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
feat(robot-server): Define default deck configurations #13990
Conversation
538889a
to
033b65f
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## edge #13990 +/- ##
==========================================
- Coverage 70.64% 70.64% -0.01%
==========================================
Files 2506 2506
Lines 70932 70937 +5
Branches 8781 8783 +2
==========================================
+ Hits 50112 50115 +3
- Misses 18663 18665 +2
Partials 2157 2157
Flags with carried forward coverage won't be shown. Click here to find out more.
|
Resolve conflicts in robot-server/robot_server/deck_configuration/store.py. The edge branch's DeckConfigurationStore.get_deck_configuration() method needs to be async, and it also needs to use the same defaults that .get() uses.
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.
Changes all sensible - ran end to end on RSS Flex and successfully returned a default Deck value on GET all, was overwritten on a PUT call, and maintained through subsequent JSON Protocol runs during that session referencing non-default areas on the deck.
Overview
Before this PR, if you do
GET /deck_configuration
on a fresh robot, it returns an empty list. This is confusing and wrong because an empty list is, by our own rules, invalid data for this endpoint.We need to either:
null
, explicitly indicating that there is no deck configuration.We discussed this and decided to go with returning a default.
Test Plan
Basic functionality is covered by integration tests.
End-to-end functionality is not covered. By "end-to-end functionality," I mean things like "these defaults let you run all the old protocols that you were running before when you upgrade from v7.0 to v7.1." I'm not sure how to cover that.
Changelog
ot2_standard
,ot2_short_trash
, andot3_standard
deck definitions.robot-server
, in terms of its HTTP-facing Pydantic models. This is definitely wrong: we will need this stuff to be inapi
instead, in order to supportopentrons_execute
and friends. Moving everything over is for another PR.GET /deck_configuration
return those defaults if the client has not yet issued aPUT /deck_configuration
request.Review requests
Risk assessment
Low.