mirror of
https://github.com/hanzoai/python-sdk.git
synced 2026-10-26 11:49:36 +00:00
test_smoke: billing takes the seat crm no longer holds
The document at the pinned ref names no `crm` tag and serves no /v1/crm, so `hanzoai.cloud.api.crm_api` is a module the generator had nothing to write — the import has raised ModuleNotFoundError since the emission that dropped it. This is the document's call, not a generation defect. The client emits one module per tag and its 120 modules are exactly the 120 tags api.hanzo.ai declares, with no difference in either direction; cli's spec/cloud.json, projected from this same ref and digest, likewise carries neither the tag nor the routes. So the expectation moves to the spec rather than the client moving to the expectation. Unlike tracker, analytics and chat before it, crm did not fold into another product: contacts, companies, opportunities and applications have no successor address anywhere in the document. billing replaces it because it has been in every emission since the first generated client, which is the property the test is really asserting — that whole products, not just the AI routes, reach the SDK. Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
+9
-3
@@ -62,14 +62,20 @@ def test_product_apis_present():
|
||||
|
||||
Name products the document still tags, read off the client rather than
|
||||
guessed. Tags move: `tracker`, then `analytics` and `chat`, each stood here
|
||||
until cloud folded those routes into the product that owns them.
|
||||
until cloud folded those routes into the product that owns them. `crm` left
|
||||
differently — cloud withdrew /v1/crm entirely, so contacts, companies,
|
||||
opportunities and applications have no successor address to follow.
|
||||
|
||||
`billing` takes the seat because it has been in every emission since the
|
||||
first, which is the property this test wants: a product broad enough that
|
||||
losing it would mean the client stopped projecting whole products.
|
||||
"""
|
||||
from hanzoai.cloud.api.billing_api import BillingApi
|
||||
from hanzoai.cloud.api.commerce_api import CommerceApi
|
||||
from hanzoai.cloud.api.crm_api import CrmApi
|
||||
from hanzoai.cloud.api.iam_api import IamApi
|
||||
|
||||
client = hanzoai.cloud.ApiClient(hanzoai.cloud.Configuration(host="https://api.hanzo.ai"))
|
||||
for cls in (CommerceApi, CrmApi, IamApi):
|
||||
for cls in (BillingApi, CommerceApi, IamApi):
|
||||
assert cls(client) is not None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user