aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/_test_json_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/_test_json_parser.py')
-rw-r--r--tests/unit/_test_json_parser.py113
1 files changed, 0 insertions, 113 deletions
diff --git a/tests/unit/_test_json_parser.py b/tests/unit/_test_json_parser.py
deleted file mode 100644
index 82621b1e8..000000000
--- a/tests/unit/_test_json_parser.py
+++ /dev/null
@@ -1,113 +0,0 @@
-import pytest
-
-from autogpt.json_utils.json_fix_llm import fix_and_parse_json
-
-
-def test_valid_json():
- """Test that a valid JSON string is parsed correctly."""
- json_str = '{"name": "John", "age": 30, "city": "New York"}'
- obj = fix_and_parse_json(json_str)
- assert obj == {"name": "John", "age": 30, "city": "New York"}
-
-
-def test_invalid_json_minor():
- """Test that an invalid JSON string can be fixed with gpt."""
- json_str = '{"name": "John", "age": 30, "city": "New York",}'
- assert fix_and_parse_json(json_str, try_to_fix_with_gpt=False) == {
- "name": "John",
- "age": 30,
- "city": "New York",
- }
-
-
-def test_invalid_json_major_with_gpt():
- """Test that an invalid JSON string raises an error when try_to_fix_with_gpt is False."""
- json_str = 'BEGIN: "name": "John" - "age": 30 - "city": "New York" :END'
- assert fix_and_parse_json(json_str, try_to_fix_with_gpt=True) == {
- "name": "John",
- "age": 30,
- "city": "New York",
- }
-
-
-def test_invalid_json_major_without_gpt():
- """Test that a REALLY invalid JSON string raises an error when try_to_fix_with_gpt is False."""
- json_str = 'BEGIN: "name": "John" - "age": 30 - "city": "New York" :END'
- # Assert that this raises an exception:
- with pytest.raises(Exception):
- fix_and_parse_json(json_str, try_to_fix_with_gpt=False)
-
-
-def test_invalid_json_leading_sentence_with_gpt():
- """Test that a REALLY invalid JSON string raises an error when try_to_fix_with_gpt is False."""
-
- json_str = """I suggest we start by browsing the repository to find any issues that we can fix.
-
- {
- "command": {
- "name": "browse_website",
- "args":{
- "url": "https://github.com/Torantulino/Auto-GPT"
- }
- },
- "thoughts":
- {
- "text": "I suggest we start browsing the repository to find any issues that we can fix.",
- "reasoning": "Browsing the repository will give us an idea of the current state of the codebase and identify any issues that we can address to improve the repo.",
- "plan": "- Look through the repository to find any issues.\n- Investigate any issues to determine what needs to be fixed\n- Identify possible solutions to fix the issues\n- Open Pull Requests with fixes",
- "criticism": "I should be careful while browsing so as not to accidentally introduce any new bugs or issues.",
- "speak": "I will start browsing the repository to find any issues we can fix."
- }
- }"""
- good_obj = {
- "command": {
- "name": "browse_website",
- "args": {"url": "https://github.com/Torantulino/Auto-GPT"},
- },
- "thoughts": {
- "text": "I suggest we start browsing the repository to find any issues that we can fix.",
- "reasoning": "Browsing the repository will give us an idea of the current state of the codebase and identify any issues that we can address to improve the repo.",
- "plan": "- Look through the repository to find any issues.\n- Investigate any issues to determine what needs to be fixed\n- Identify possible solutions to fix the issues\n- Open Pull Requests with fixes",
- "criticism": "I should be careful while browsing so as not to accidentally introduce any new bugs or issues.",
- "speak": "I will start browsing the repository to find any issues we can fix.",
- },
- }
- # Assert that this raises an exception:
- assert fix_and_parse_json(json_str, try_to_fix_with_gpt=False) == good_obj
-
-
-def test_invalid_json_leading_sentence_with_gpt(self):
- """Test that a REALLY invalid JSON string raises an error when try_to_fix_with_gpt is False."""
- 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.
-
- {
- "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."
- }
- }"""
- 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 fix_and_parse_json(json_str, try_to_fix_with_gpt=False) == good_obj