Parse response values, when they are JSON.

This commit is contained in:
OK
2023-03-30 15:38:42 +02:00
parent c7d89333ad
commit 585ecc17c6
3 changed files with 59 additions and 3 deletions
+15
View File
@@ -8,6 +8,7 @@ import logging
import pytest
from unittest.mock import Mock, PropertyMock, MagicMock, AsyncMock, patch, mock_open, ANY
from fjerkroa_bot import FjerkroaBot
from fjerkroa_bot.ai_responder import parse_maybe_json
from discord import User, Message, TextChannel
@@ -61,6 +62,20 @@ class TestFunctionality(TestBotBase):
result = FjerkroaBot.load_config('config.toml')
self.assertEqual(result, self.config_data)
def test_json_strings(self) -> None:
json_string = '{"key1": "value1", "key2": "value2"}'
expected_output = "value1\nvalue2"
self.assertEqual(parse_maybe_json(json_string), expected_output)
non_json_string = "This is not a JSON string."
self.assertEqual(parse_maybe_json(non_json_string), non_json_string)
json_array = '["value1", "value2", "value3"]'
expected_output = "value1\nvalue2\nvalue3"
self.assertEqual(parse_maybe_json(json_array), expected_output)
json_string = '"value1"'
expected_output = 'value1'
self.assertEqual(parse_maybe_json(json_string), expected_output)
async def test_on_message_event(self) -> None:
async def acreate(*a, **kw):
answer = {'answer': 'Hello!',