diff --git a/tests/core/improve_function_test_cases/theo_case_chat b/tests/core/improve_function_test_cases/theo_case_chat new file mode 100644 index 0000000000..16b1d90492 --- /dev/null +++ b/tests/core/improve_function_test_cases/theo_case_chat @@ -0,0 +1,13 @@ +This script checks if it is being run as the main module and then starts the Uvicorn server with the FastAPI app. The server listens on all interfaces (`0.0.0.0`) and port `8000`. + +Additionally, we need to update the Dockerfile to ensure that the new script is correctly utilized when the Docker container is run. We will change the CMD directive to use `run.py` instead of directly calling `uvicorn`. + +```diff +--- dockerfile ++++ dockerfile +@@ -19,3 +19,3 @@ +-# Run app.py when the container launches +-CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"] ++# Run run.py when the container launches ++CMD ["python", "run.py"] +``` diff --git a/tests/core/improve_function_test_cases/theo_case_code b/tests/core/improve_function_test_cases/theo_case_code new file mode 100644 index 0000000000..604c2f5f61 --- /dev/null +++ b/tests/core/improve_function_test_cases/theo_case_code @@ -0,0 +1,20 @@ +# Use an official Python runtime as a parent image +FROM python:3.9-slim + +# Set the working directory in the container +WORKDIR /usr/src/app + +# Copy the current directory contents into the container at /usr/src/app +COPY . /usr/src/app + +# Install any needed packages specified in requirements.txt +RUN pip install --no-cache-dir -r requirements.txt + +# Make port 80 available to the world outside this container +EXPOSE 80 + +# Define environment variable +ENV NAME World + +# Run app.py when the container launches +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"] diff --git a/tests/core/test_salvage_correct_hunks.py b/tests/core/test_salvage_correct_hunks.py index 86f60f0772..f104214add 100644 --- a/tests/core/test_salvage_correct_hunks.py +++ b/tests/core/test_salvage_correct_hunks.py @@ -86,6 +86,11 @@ def test_create_two_new_files(): ) +def test_theo_case(): + files = FilesDict({"dockerfile": get_file_content("theo_case_code")}) + salvage_correct_hunks(message_builder("theo_case_chat"), files, [], memory) + + def test_clean_up_folder(clean_up_folder): # The folder should be deleted after the test is run assert True