opencode-env / tests /test_task.py
AdithyaSK's picture
AdithyaSK HF Staff
Upload folder using huggingface_hub
70f2179 verified
# Copyright (c) Meta Platforms, Inc. and affiliates.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree.
from __future__ import annotations
import pytest
from opencode_env.task import OpenCodeTask
def test_coerce_from_string():
task = OpenCodeTask.coerce("write fizzbuzz")
assert task.instruction == "write fizzbuzz"
assert task.setup_shell is None
assert task.upload_files == {}
def test_coerce_from_dict():
task = OpenCodeTask.coerce(
{
"instruction": "run tests",
"setup_shell": "pip install pytest",
"upload_files": {"/home/user/workdir/hello.py": "print('hi')"},
"metadata": {"task_id": "hello_001"},
}
)
assert task.instruction == "run tests"
assert task.setup_shell == "pip install pytest"
assert task.metadata["task_id"] == "hello_001"
def test_coerce_passes_through_existing_task():
existing = OpenCodeTask(instruction="x")
assert OpenCodeTask.coerce(existing) is existing
def test_coerce_rejects_bad_type():
with pytest.raises(TypeError):
OpenCodeTask.coerce(42)