Skip to content

Commit

Permalink
feat(api): add AuthorizedKeys reset option for the OT-2 (#13743)
Browse files Browse the repository at this point in the history
  • Loading branch information
vegano1 authored Oct 9, 2023
1 parent b18d31f commit c21d1bb
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 0 deletions.
1 change: 1 addition & 0 deletions api/src/opentrons/config/reset.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class ResetOptionId(str, Enum):
ResetOptionId.pipette_offset,
ResetOptionId.tip_length_calibrations,
ResetOptionId.runs_history,
ResetOptionId.authorized_keys,
]
_FLEX_RESET_OPTIONS = [
ResetOptionId.boot_scripts,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ stages:
- id: runsHistory
name: Clear Runs History
description: !re_search 'Erase this device''s stored history of protocols and runs.'
- id: authorizedKeys
name: SSH Authorized Keys
description: !re_search 'Clear the ssh authorized keys'

---
test_name: POST Reset bootScripts option
marks:
Expand Down Expand Up @@ -123,6 +127,32 @@ stages:
message: "gripperOffsetCalibrations is not a valid reset option."
errorCode: "4000"
---
test_name: POST Reset authorizedKeys option
marks:
- usefixtures:
- ot2_server_base_url
stages:
- name: POST Reset authorizedKeys true
request:
url: '{ot2_server_base_url}/settings/reset'
method: POST
json:
authorizedKeys: true
response:
status_code: 200
json:
message: "Options 'authorized_keys' were reset"
- name: POST Reset authorizedKeys false
request:
url: '{ot2_server_base_url}/settings/reset'
method: POST
json:
authorizedKeys: false
response:
status_code: 200
json:
message: 'Nothing to do'
---
test_name: POST Reset non existant option
marks:
- usefixtures:
Expand Down
5 changes: 5 additions & 0 deletions robot-server/tests/service/legacy/routers/test_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,7 @@ def test_available_resets(api_client):
"bootScripts",
"tipLengthCalibrations",
"runsHistory",
"authorizedKeys",
]
) == sorted([item["id"] for item in options_list])

Expand Down Expand Up @@ -474,6 +475,7 @@ async def mock_get_persistence_resetter() -> PersistenceResetter:
"pipetteOffsetCalibrations": False,
"tipLengthCalibrations": False,
"runsHistory": False,
"authorizedKeys": False,
},
set(),
],
Expand All @@ -485,6 +487,7 @@ async def mock_get_persistence_resetter() -> PersistenceResetter:
"tipLengthCalibrations": True,
"deckCalibration": True,
"runsHistory": True,
"authorizedKeys": True,
# TODO(mm, 2023-08-04): Figure out how to test Flex-only options,
# then add gripperOffsetCalibrations and onDeviceDisplay.
},
Expand All @@ -498,8 +501,10 @@ async def mock_get_persistence_resetter() -> PersistenceResetter:
# mark_directory_reset() being an async method, and api_client having
# its own event loop that interferes with making this test async.
ResetOptionId.runs_history,
ResetOptionId.authorized_keys,
},
],
[{"authorizedKeys": True}, {ResetOptionId.authorized_keys}],
[{"bootScripts": True}, {ResetOptionId.boot_scripts}],
[{"pipetteOffsetCalibrations": True}, {ResetOptionId.pipette_offset}],
[{"tipLengthCalibrations": True}, {ResetOptionId.tip_length_calibrations}],
Expand Down

0 comments on commit c21d1bb

Please sign in to comment.