-
Notifications
You must be signed in to change notification settings - Fork 178
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(api): Remove obsolete "_gen3" pipette names #13514
fix(api): Remove obsolete "_gen3" pipette names #13514
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## chore_release-7.0.0 #13514 +/- ##
====================================================
Coverage 71.29% 71.30%
====================================================
Files 2419 2419
Lines 68096 68096
Branches 7913 7913
====================================================
+ Hits 48552 48557 +5
+ Misses 17690 17685 -5
Partials 1854 1854
Flags with carried forward coverage won't be shown. Click here to find out more.
|
protocol-designer/src/components/modals/CreateFileWizard/__tests__/ModulesAndOtherTile.test.tsx
Outdated
Show resolved
Hide resolved
…names I'm getting CI errors in what looks like an unrelated gripper test. Maybe this will fix them?
This comment was marked as resolved.
This comment was marked as resolved.
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.
If you change the tsx files, you'll need to modify pipetteModelSpecs.json
names as well from p1000_single_flex
to the new name.
@Laura-Danielle Sorry, I'm confused. I understand we want to change names like |
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.
All the clients should use names like p1000_single_flex
, etc.. since those are the names we are using in backend everywhere except in the user-facing API.
Maybe these client tests don't interface with actual backend and shared data and that's why they might not be erroring out when using the _gen3
names..? And looks like I might have missed them when I changed all .._gen3
instances to .._flex
in this PR
As for the use in hardware control/ hardware testing, those too should change to .._flex
but that's less critical. You can check how many tests you'll need to update by removing gen3
from this line and running the tests. That is the line that looks up the actual pipette model from the names.
@SyntaxColoring the front-end never ported over to getting its info from the new shared-data format. I think someone from JS could better confirm what relies on the old config and what is comparing things directly with the backend (if that makes sense). |
|
||
export const instrumentsResponseLeftPipetteFixture = { | ||
data: { channels: 1, min_volume: 1, max_volume: 50 }, | ||
instrumentModel: 'p1000_single_v3.0', | ||
instrumentName: 'p1000_single_flex', | ||
instrumentType: 'pipette', | ||
mount: 'left', | ||
serialNumber: 'abc', | ||
subsystem: 'pipette_left', | ||
ok: true, | ||
} | ||
|
||
export const instrumentsResponseRightPipetteFixture = { | ||
data: { channels: 1, min_volume: 1, max_volume: 50 }, | ||
instrumentModel: 'p1000_single_v3.0', | ||
instrumentName: 'p1000_single_flex', | ||
instrumentType: 'pipette', | ||
mount: 'right', | ||
serialNumber: 'cba', | ||
subsystem: 'pipette_right', | ||
ok: true, | ||
} |
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.
These are test fixtures for the /instruments
endpoints, but they were in the directory for the /pipettes
endpoints. I'm moving them here and correcting their instrumentName
from p1000_single_gen3
to p1000_single_flex
.
I supposed we all felt that, one way or another.
I've taken a closer look at the TypeScript files I'm modifying here. They're used for modeling HTTP responses, which return names like I'm not sure if anything in the front-end is still relying on the old shared-data format, but if there is, this PR doesn't touch it. |
@@ -4,19 +4,11 @@ | |||
"attached_instruments": { | |||
"right": { | |||
"model": "p1000_single_3.4", | |||
"id": "321", |
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.
are these changes necessary for this pr?
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 think so. See #13514 (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.
LGTM! Thank you for clarifying it :-)
Ran tests on this branch utilizing each naming convention on RSS Flex in the office. Good results overall, code samples for protocols to run can be found at the following comment under the RSS-284 Issue: Note that tests for the following are commented out: p50_single_flex, p1000_single_flex, p50_multi_flex, p1000_multi_flex Upon running the Single channel test script, the following executions occur:
This is the correct behavior, old naming conventions fail their attempts to assign to the Left mount.
When running the attached 8 channel protocol the same results are encountered at each equivalent step, including the intermediate exception cases when the p50_multi_flex and p1000_multi_flex names are re-enabled causing the standard flex naming conventions to be denied on the next step. Overall, each step of this worked as intended on a live flex system, and the edge case naming conventions in the middle can be handled in other ways if at all. |
…names Mmmmaybe this fixes G-code testing?
Implemented these changes. Discussed in Slack and in-person.
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.
🙌
Overview
Removes obsolete pipette names like
p50_single_gen3
. Closes RSS-284.Changelog
p50_single_gen3
.flex_1channel_50
for the Python Protocol API, orp50_single_flex
for HTTP and the back-end.Test Plan
protocol.load_instrument("p50_single_gen3", mount="left")
and confirmed that it errored out.Review requests
I did a global find+replace, but I'm not sure whether it's appropriate to change all of these places. I'm vaguely aware that there's some distinction now between Python Protocol API load names and the names used by things deeper in the back-end, but I'm not sure exactly where that division is drawn. See my review comments.
Risk assessment
Medium. We need to be careful that this doesn't somehow affect the HTTP API.