def test_generate_and_render_curl_example(self) -> None: generated_curl_example = generate_curl_example("/get_stream_id", "GET") expected_curl_example = [ "```curl", "curl -X GET -G localhost:9991/api/v1/get_stream_id \\", " -u BOT_EMAIL_ADDRESS:BOT_API_KEY \\", " -d 'stream=Denmark'", "```" ] self.assertEqual(generated_curl_example, expected_curl_example)
def test_generate_and_render_curl_without_auth(self) -> None: generated_curl_example = generate_curl_example("/dev_fetch_api_key", "POST") expected_curl_example = [ "```curl", "curl -X POST localhost:9991/api/v1/dev_fetch_api_key \\", " -d '[email protected]'", "```" ] self.assertEqual(generated_curl_example, expected_curl_example)
def test_generate_and_render_curl_with_object( self, spec_mock: MagicMock) -> None: spec_mock.return_value = self.spec_mock_using_object generated_curl_example = generate_curl_example("/endpoint", "GET") expected_curl_example = [ '```curl', 'curl -X GET -G localhost:9991/api/v1/endpoint \\', ' --data-urlencode param1=\'{"key": "value"}\'', '```' ] self.assertEqual(generated_curl_example, expected_curl_example)
def test_generate_and_render_curl_with_default_examples(self, spec_mock: MagicMock) -> None: spec_mock.return_value = self.spec_mock_without_examples generated_curl_example = generate_curl_example("/mark_stream_as_read", "POST") expected_curl_example = [ "```curl", "curl -X POST localhost:9991/api/v1/mark_stream_as_read \\", " -d 'stream_id=1' \\", " -d 'bool_param=false'", "```" ] self.assertEqual(generated_curl_example, expected_curl_example)
def test_generate_and_render_curl_example_with_excludes(self) -> None: generated_curl_example = generate_curl_example( "/messages", "GET", exclude=["client_gravatar", "apply_markdown"]) expected_curl_example = [ '```curl', 'curl -X GET -G localhost:9991/api/v1/messages \\', ' -u BOT_EMAIL_ADDRESS:BOT_API_KEY \\', " -d 'anchor=42' \\", " -d 'use_first_unread_anchor=true' \\", " -d 'num_before=4' \\", " -d 'num_after=8' \\", ' --data-urlencode narrow=\'[{"operand": "Denmark", "operator": "stream"}]\'', '```' ] self.assertEqual(generated_curl_example, expected_curl_example)
def curl_example(self, endpoint: str, method: str, *args: Any, **kwargs: Any) -> List[str]: return generate_curl_example(endpoint, method, "http://localhost:9991/api", *args, **kwargs)
def test_generate_and_render_curl_with_array_without_example(self, spec_mock: MagicMock) -> None: spec_mock.return_value = self.spec_mock_using_array_without_example with self.assertRaises(ValueError): generate_curl_example("/endpoint", "GET")
def test_generate_and_render_curl_with_invalid_method(self, spec_mock: MagicMock) -> None: spec_mock.return_value = self.spec_mock_with_invalid_method with self.assertRaises(ValueError): generate_curl_example("/endpoint", "BREW") # see: HTCPCP
def test_generate_and_render_curl_example_with_nonexistant_endpoints(self) -> None: with self.assertRaises(KeyError): generate_curl_example("/mark_this_stream_as_read", "POST") with self.assertRaises(KeyError): generate_curl_example("/mark_stream_as_read", "GET")