MCPcopy Create free account
hub / github.com/StackStorm/st2 / test_enumreader

Method test_enumreader

st2client/tests/unit/test_interactive.py:218–251  ·  view source on GitHub ↗
(self, prompt_mock)

Source from the content-addressed store, hash-verified

216
217 @mock.patch.object(interactive, "prompt")
218 def test_enumreader(self, prompt_mock):
219 spec = {
220 "enum": ["some", "thing", "else"],
221 "description": "some description",
222 "default": "thing",
223 }
224 Reader = interactive.EnumReader("some", spec)
225
226 prompt_mock.return_value = "2"
227 result = Reader.read()
228
229 self.assertEqual(result, "else")
230 message = "some: \n 0 - some\n 1 - thing\n 2 - else\nChoose from 0, 1, 2 [1]: "
231 self.assertPromptMessage(prompt_mock, message)
232 self.assertPromptDescription(prompt_mock, "some description")
233 self.assertPromptValidate(prompt_mock, "0")
234 self.assertRaises(
235 prompt_toolkit.validation.ValidationError,
236 self.assertPromptValidate,
237 prompt_mock,
238 "some",
239 )
240 self.assertRaises(
241 prompt_toolkit.validation.ValidationError,
242 self.assertPromptValidate,
243 prompt_mock,
244 "5",
245 )
246
247 prompt_mock.return_value = ""
248 result = Reader.read()
249
250 self.assertEqual(result, "thing")
251 self.assertPromptValidate(prompt_mock, "")
252
253 @mock.patch.object(interactive, "prompt")
254 def test_arrayreader(self, prompt_mock):

Callers

nothing calls this directly

Calls 4

assertPromptMessageMethod · 0.95
assertPromptValidateMethod · 0.95
readMethod · 0.45

Tested by

no test coverage detected