feat: complete T-530 cmhub URL normalization
This commit is contained in:
@@ -516,6 +516,28 @@ class AITests(TempDirMixin, unittest.TestCase):
|
||||
self.assertEqual("https://cmhub.example.com/api/v1/models", calls[0][1])
|
||||
self.assertEqual("title-standard", models[0]["alias"])
|
||||
|
||||
def test_fetch_cmhub_models_404_returns_clear_base_url_error(self):
|
||||
calls = []
|
||||
|
||||
def fake_request(method, url, **kwargs):
|
||||
calls.append((method, url, kwargs))
|
||||
return _RequestsResponse({"detail": "notfound"}, status_code=404)
|
||||
|
||||
with mock.patch("app.ai.requests.request", side_effect=fake_request):
|
||||
with self.assertRaises(ai.CMHubError) as raised:
|
||||
ai.fetch_cmhub_models(
|
||||
"https://cmhub.example.com/api/v1/",
|
||||
"sk-cmhub-secret",
|
||||
)
|
||||
|
||||
self.assertEqual("GET", calls[0][0])
|
||||
self.assertEqual("https://cmhub.example.com/api/v1/models", calls[0][1])
|
||||
self.assertEqual("not_found", raised.exception.code)
|
||||
self.assertEqual(404, raised.exception.status)
|
||||
message = str(raised.exception)
|
||||
self.assertIn("cmhub 接口不存在", message)
|
||||
self.assertIn("/api/v1/models", message)
|
||||
self.assertNotIn("notfound", message)
|
||||
def test_fetch_cmhub_balance_returns_points(self):
|
||||
calls = []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user