Adjust test_json_parser file (#1935)

Co-authored-by: Reinier van der Leer <github@pwuts.nl>
This commit is contained in:
YOUNESS ZEMZGUI
2023-04-24 17:54:46 +00:00
committed by GitHub
parent ffdc652605
commit 45f2513a73
2 changed files with 9 additions and 48 deletions

View File

@@ -1,10 +1,10 @@
import unittest from unittest import TestCase
import tests.context
from autogpt.json_utils.json_fix_llm import fix_and_parse_json from autogpt.json_utils.json_fix_llm import fix_and_parse_json
from tests.utils import skip_in_ci
class TestParseJson(unittest.TestCase): class TestParseJson(TestCase):
def test_valid_json(self): def test_valid_json(self):
"""Test that a valid JSON string is parsed correctly.""" """Test that a valid JSON string is parsed correctly."""
json_str = '{"name": "John", "age": 30, "city": "New York"}' json_str = '{"name": "John", "age": 30, "city": "New York"}'
@@ -12,7 +12,7 @@ class TestParseJson(unittest.TestCase):
self.assertEqual(obj, {"name": "John", "age": 30, "city": "New York"}) self.assertEqual(obj, {"name": "John", "age": 30, "city": "New York"})
def test_invalid_json_minor(self): def test_invalid_json_minor(self):
"""Test that an invalid JSON string can be fixed with gpt""" """Test that an invalid JSON string can not be fixed without gpt"""
json_str = '{"name": "John", "age": 30, "city": "New York",}' json_str = '{"name": "John", "age": 30, "city": "New York",}'
with self.assertRaises(Exception): with self.assertRaises(Exception):
fix_and_parse_json(json_str, try_to_fix_with_gpt=False) fix_and_parse_json(json_str, try_to_fix_with_gpt=False)
@@ -63,49 +63,10 @@ class TestParseJson(unittest.TestCase):
"speak": "I will start browsing the repository to find any issues we can fix.", "speak": "I will start browsing the repository to find any issues we can fix.",
}, },
} }
# Assert that this raises an exception:
self.assertEqual(
fix_and_parse_json(json_str, try_to_fix_with_gpt=False), good_obj
)
def test_invalid_json_leading_sentence_with_gpt(self): # # Assert that this can be fixed with GPT
"""Test that a REALLY invalid JSON string raises an error when try_to_fix_with_gpt is False""" # self.assertEqual(fix_and_parse_json(json_str), good_obj)
json_str = """I will first need to browse the repository (https://github.com/Torantulino/Auto-GPT) and identify any potential bugs that need fixing. I will use the "browse_website" command for this.
{ # Assert that trying to fix this without GPT raises an exception
"command": { with self.assertRaises(Exception):
"name": "browse_website", fix_and_parse_json(json_str, try_to_fix_with_gpt=False)
"args":{
"url": "https://github.com/Torantulino/Auto-GPT"
}
},
"thoughts":
{
"text": "Browsing the repository to identify potential bugs",
"reasoning": "Before fixing bugs, I need to identify what needs fixing. I will use the 'browse_website' command to analyze the repository.",
"plan": "- Analyze the repository for potential bugs and areas of improvement",
"criticism": "I need to ensure I am thorough and pay attention to detail while browsing the repository.",
"speak": "I am browsing the repository to identify potential bugs."
}
}"""
good_obj = {
"command": {
"name": "browse_website",
"args": {"url": "https://github.com/Torantulino/Auto-GPT"},
},
"thoughts": {
"text": "Browsing the repository to identify potential bugs",
"reasoning": "Before fixing bugs, I need to identify what needs fixing. I will use the 'browse_website' command to analyze the repository.",
"plan": "- Analyze the repository for potential bugs and areas of improvement",
"criticism": "I need to ensure I am thorough and pay attention to detail while browsing the repository.",
"speak": "I am browsing the repository to identify potential bugs.",
},
}
# Assert that this raises an exception:
self.assertEqual(
fix_and_parse_json(json_str, try_to_fix_with_gpt=False), good_obj
)
if __name__ == "__main__":
unittest.main()