Skip to content

Commit 879a9c0

Browse files
committed
单元测试
1 parent f0cfd4e commit 879a9c0

File tree

5 files changed

+46
-41
lines changed

5 files changed

+46
-41
lines changed

tests/unit_tests/response_model/__init__.py

Whitespace-only changes.

tests/unit_tests/response_model/test_response.py

Lines changed: 44 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@
1818
from zhipuai.types.embeddings import Embedding, EmbeddingsResponded
1919
from zhipuai.types.file_object import FileObject, ListOfFileObject
2020
from zhipuai.types.fine_tuning import FineTuningJobEvent
21-
from zhipuai.types.fine_tuning.fine_tuning_job import FineTuningJob, ListOfFineTuningJob
21+
from zhipuai.types.fine_tuning.fine_tuning_job import FineTuningJob, ListOfFineTuningJob, Error
2222
from zhipuai.types.fine_tuning.fine_tuning_job_event import Metric, JobEvent
2323
from zhipuai.types.fine_tuning.job_create_params import Hyperparameters
24+
from zhipuai.types.fine_tuning.fine_tuning_job import Hyperparameters as FineTuningHyperparameters
2425
from zhipuai.types.fine_tuning.models import FineTunedModelsStatus
2526
from zhipuai.types.image import GeneratedImage, ImagesResponded
2627

@@ -200,27 +201,31 @@ def test_response_job_model_cast(
200201
MockClient._process_response_data = HttpClient._process_response_data
201202
response = httpx.Response(
202203
status_code=200,
203-
content="""{
204-
"object": "job_event",
205-
"id": "event123",
206-
"type": "training",
207-
"created_at": 1617181723,
208-
"level": "info",
209-
"message": "Training has started.",
210-
"data": {
211-
"epoch": 1,
212-
"current_steps": 100,
213-
"total_steps": 1000,
214-
"elapsed_time": "00:10:00",
215-
"remaining_time": "05:20:00",
216-
"trained_tokens": 500000,
217-
"loss": 0.05,
218-
"eval_loss": 0.03,
219-
"acc": 0.9,
220-
"eval_acc": 0.95,
221-
"learning_rate": 0.001
222-
}
223-
}"""
204+
content=""" {
205+
"id": "job123",
206+
"request_id": "req456",
207+
"created_at": 1617181723,
208+
"error": {
209+
"code": "404",
210+
"message": "Not Found",
211+
"param": "model_id"
212+
},
213+
"fine_tuned_model": "ft_model_1",
214+
"finished_at": 1617182000,
215+
"hyperparameters": {
216+
"n_epochs": 10
217+
},
218+
"model": "base_model",
219+
"object": "fine_tuning_job",
220+
"result_files": [
221+
"result1.txt",
222+
"result2.json"
223+
],
224+
"status": "completed",
225+
"trained_tokens": 1000000,
226+
"training_file": "training_data.csv",
227+
"validation_file": "validation_data.csv"
228+
}"""
224229
)
225230

226231
http_response = HttpResponse(
@@ -234,24 +239,24 @@ def test_response_job_model_cast(
234239

235240
assert R == model.__class__
236241
assert isinstance(model, FineTuningJob)
237-
assert model.object == "job_event"
238-
assert model.id == "event123"
239-
assert model.type == "training"
242+
assert model.id == "job123"
243+
assert model.request_id == "req456"
240244
assert model.created_at == 1617181723
241-
assert model.level == "info"
242-
assert model.message == "Training has started."
243-
assert isinstance(model.data, Metric)
244-
assert model.data.epoch == 1
245-
assert model.data.current_steps == 100
246-
assert model.data.total_steps == 1000
247-
assert model.data.elapsed_time == "00:10:00"
248-
assert model.data.remaining_time == "05:20:00"
249-
assert model.data.trained_tokens == 500000
250-
assert model.data.loss == 0.05
251-
assert model.data.eval_loss == 0.03
252-
assert model.data.acc == 0.9
253-
assert model.data.eval_acc == 0.95
254-
assert model.data.learning_rate == 0.001
245+
assert isinstance(model.error, Error)
246+
assert model.error.code == "404"
247+
assert model.error.message == "Not Found"
248+
assert model.error.param == "model_id"
249+
assert model.fine_tuned_model == "ft_model_1"
250+
assert model.finished_at == 1617182000
251+
assert isinstance(model.hyperparameters, FineTuningHyperparameters)
252+
assert model.hyperparameters.n_epochs == 10
253+
assert model.model == "base_model"
254+
assert model.object == "fine_tuning_job"
255+
assert model.result_files == ["result1.txt", "result2.json"]
256+
assert model.status == "completed"
257+
assert model.trained_tokens == 1000000
258+
assert model.training_file == "training_data.csv"
259+
assert model.validation_file == "validation_data.csv"
255260

256261

257262
@pytest.mark.parametrize(

tests/unit_tests/sse_client/__init__.py

Whitespace-only changes.

tests/unit_tests/test_response.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def test_parse_method():
6161
assert parsed_data == '{"key": "value"}'
6262

6363
raw_response = Response(200, content=b'{"key": "value"}', stream=ByteStream(b'{"key": "value"}\n"foo"\n"boo"\n'))
64-
http_response = HttpResponse(raw_response=raw_response, cast_type=str, client=MockHttpClient(), enable_stream=True,
64+
http_response = HttpResponse(raw_response=raw_response, cast_type=str, client=MockHttpClient(), stream=True,
6565
stream_cls=MockStreamResponse[str])
6666
parsed_data = http_response.parse()
6767
excepted_data = ['{"key": "value"}', '"foo"', '"boo"']

tests/unit_tests/test_sdk_import.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def test_os_import_unit():
1313
def test_sdk_import():
1414
from zhipuai import ZhipuAI
1515

16-
client = ZhipuAI() # 请填写您自己的APIKey
16+
client = ZhipuAI(api_key="empty") # 请填写您自己的APIKey
1717

1818
if client is not None:
1919
print("SDK导入成功")

0 commit comments

Comments
 (0)