Files
alibaba--nacos/test/openapi-test/ADMIN_API_TEST_SCENARIOS.md
2026-07-13 12:37:52 +08:00

17 KiB

Admin API IT Scenario Index

This document records which admin API operations are covered by the standalone-server IT classes under src/test/java/com/alibaba/nacos/test/adminapi.

Source API surface: admin swagger at https://nacos.io/swagger/admin/zh/api.json. The branch-level coverage target is API scenario coverage: expected capability, boundary/validation behavior, and controlled exception/error handling.

Status Legend

Status Meaning
Covered The current IT verifies the expected behavior and its important result shape.
Partial The current IT verifies representative behavior, but important public API scenarios remain.
Pending No IT currently verifies this public API scenario.

Config

API surface / IT class Covered API operations Current status Current / missing coverage
ConfigAdminApiOpenApiITCase GET,POST,PUT,DELETE /v3/admin/cs/config Covered Publishes, republishes, queries, updates metadata, and deletes config; covers blank/omitted namespace defaulting to current public storage, type normalization, required identity/content fields, absent config 404, duplicate/update semantics, and malformed metadata errors. Removed empty-tenant migration and dual-write behavior is outside the 3.3 API contract.
ConfigListAdminApiOpenApiITCase GET /v3/admin/cs/config/list Covered Lists published configs through admin page model with fuzzy and accurate filters; covers type and tag filters, blank dataId group-scoped listing, public namespace defaulting, pagination validation, empty pages, and wrapped error bodies.
ConfigBatchDeleteAdminApiOpenApiITCase DELETE /v3/admin/cs/config/batch Covered Deletes multiple configs by comma-separated ids and verifies absence; covers non-existing ids being ignored, required ids, and HTTP 400 v3 Result validation errors.
ConfigBetaAdminApiOpenApiITCase GET,DELETE /v3/admin/cs/config/beta Covered Queries and deletes beta config created via the current publish API and gray model; covers public namespace defaulting, beta rule generated from betaIps, required fields, absent beta 404, and v3 error envelope. Removed config_info_beta old-table migration is not an expected scenario.
ConfigGrayAdminApiOpenApiITCase GET,POST,PUT,DELETE /v3/admin/cs/config/gray Covered Publishes, queries, updates, and deletes gray config with current gray metadata; covers public namespace defaulting, tagv2 version acceptance, grayName/rule requirements, absent gray config, and parameter validation errors. Removed config_info_tag old-table migration is not an expected scenario.
ConfigImportAdminApiOpenApiITCase POST /v3/admin/cs/config/import Covered Imports a metadata ZIP and verifies the imported config can be queried; covers public namespace defaulting, ABORT policy, missing file, malformed metadata ZIP, and business failures in v3 Result form.
ConfigExportAdminApiOpenApiITCase GET /v3/admin/cs/config/export Covered Exports config by ids and namespace as downloadable ZIP containing config entries and metadata; covers public namespace defaulting, query serialization, invalid namespace, absent ids, and non-JSON download/error response variants.
ConfigCloneAdminApiOpenApiITCase POST /v3/admin/cs/config/clone Covered Clones existing configs to target dataId/group/namespace and verifies queried target content; covers required namespace, empty clone list rejection, malformed clone payload, business failures, and v3 error bodies.
ConfigHistoryAdminApiOpenApiITCase GET /v3/admin/cs/history
GET /v3/admin/cs/history/list
GET /v3/admin/cs/history/previous
GET /v3/admin/cs/history/configs
Covered Publishes/republishes config and verifies history list, detail, previous, and configs history queries; covers large page size, required paging and identity fields, absent/mismatched history, and controlled errors.
ConfigListenerAdminApiOpenApiITCase GET /v3/admin/cs/config/listener
GET /v3/admin/cs/listener
Covered Queries config-scoped and IP-scoped listener state; covers public namespace defaulting, aggregation=false, required dataId/group/ip, and HTTP 400 validation envelopes.
ConfigCapacityAdminApiOpenApiITCase GET,POST /v3/admin/cs/capacity Covered Updates and queries group/namespace capacity limits; covers identity requirements, at-least-one capacity field, and validation error envelopes. There is no public delete endpoint for capacity rows.
ConfigMetricsAdminApiOpenApiITCase GET /v3/admin/cs/metrics Covered Queries config metrics and verifies JSON object shape; covers parameter-free request behavior and success response contract.
ConfigOpsAdminApiOpenApiITCase POST /v3/admin/cs/ops/localCache
PUT /v3/admin/cs/ops/log
GET /v3/admin/cs/ops/derby
POST /v3/admin/cs/ops/derby/import
Partial Triggers local-cache dump success and verifies ops validation; covers log update required params, Derby query required sql, Derby import disabled/non-embedded controlled failure, and intentionally avoids successful DB import because it mutates embedded storage.

Naming

API surface / IT class Covered API operations Current status Current / missing coverage
ServiceAdminApiOpenApiITCase GET,PUT,POST,DELETE /v3/admin/ns/service
GET /v3/admin/ns/service/list
GET /v3/admin/ns/service/selector/types
GET /v3/admin/ns/service/subscribers
Covered Creates, queries, updates, lists, and deletes persistent services; verifies selector types, subscriber empty page shape, public/default group defaults, required serviceName, pagination validation, and v3 errors.
InstanceAdminApiOpenApiITCase GET,PUT,POST,DELETE /v3/admin/ns/instance
GET /v3/admin/ns/instance/list
PUT /v3/admin/ns/instance/partial
Covered Registers, queries, lists, updates, partially updates, and deletes instances; covers defaults, healthy/enabled/ephemeral/weight behavior, required fields, invalid values, missing instance, and persistent-service conflicts.
InstanceMetadataAdminApiOpenApiITCase PUT,DELETE /v3/admin/ns/instance/metadata/batch Covered Batch-updates and batch-deletes instance metadata and verifies applied/removed metadata; covers omitted instance selector meaning all instances, explicit selector isolation, required fields, malformed selector, and empty target behavior.
ClusterAdminApiOpenApiITCase PUT /v3/admin/ns/cluster Covered Updates cluster health check config and verifies service cluster metadata; covers defaults, required service/cluster/checker/check port fields, missing service, and validation errors.
HealthAdminApiOpenApiITCase GET /v3/admin/ns/health/checkers
PUT /v3/admin/ns/health/instance
Covered Lists health checker types and manually updates instance health where eligible; covers defaults, required fields, missing checker/service branches, and controlled SERVER_ERROR/v3 errors.
ClientAdminApiOpenApiITCase GET /v3/admin/ns/client/list
GET /v3/admin/ns/client
GET /v3/admin/ns/client/publishers
GET /v3/admin/ns/client/subscribers
GET /v3/admin/ns/client/distro
Covered Verifies HTTP registered instance creates a visible client; covers detail, publish/subscriber lists, distro info, namespace/group isolation, required service fields, missing client 404, and empty list shapes.
OperatorAdminApiOpenApiITCase GET,PUT /v3/admin/ns/ops/switches
GET /v3/admin/ns/ops/metrics
PUT /v3/admin/ns/ops/log
Covered Queries and updates naming switches, queries metrics, and updates naming log level; covers metrics defaulting, required switch fields, invalid values, and controlled SERVER_ERROR/v3 errors.

Core

API surface / IT class Covered API operations Current status Current / missing coverage
NamespaceAdminApiOpenApiITCase GET,PUT,POST,DELETE /v3/admin/core/namespace
GET /v3/admin/core/namespace/exist
GET /v3/admin/core/namespace/list
Covered Creates, queries, lists, checks, updates, and deletes namespace metadata; covers id trimming/length, namespace name validation, duplicate/missing fields, post-delete checks, and HTTP 400 errors.
CoreClusterAdminApiOpenApiITCase GET /v3/admin/core/cluster/self
GET /v3/admin/core/cluster/nodes
PUT /v3/admin/core/cluster/node
POST /v3/admin/core/cluster/lookup
Partial Queries self node and node list with address/state filters; covers case-insensitive legal state, illegal state validation, empty node update body, lookup required fields, and intentionally avoids topology mutation success paths.
ServerLoaderAdminApiOpenApiITCase GET /v3/admin/core/loader/current
GET /v3/admin/core/loader/cluster
POST /v3/admin/core/loader/reloadCurrent
POST /v3/admin/core/loader/reloadClient
POST /v3/admin/core/loader/smartReloadCluster
Partial Queries current connections and cluster loader metrics; covers required count/connectionId, numeric loaderFactor validation for smart reload, and intentionally avoids successful rebalance operations.
PluginAdminApiOpenApiITCase GET /v3/admin/core/plugin
GET /v3/admin/core/plugin/list
GET /v3/admin/core/plugin/detail
PUT /v3/admin/core/plugin/status
GET,PUT /v3/admin/core/plugin/config
Partial Lists plugins, filters by pluginType, and queries detail, including the configValueMetas map shape; covers unknown type empty list, missing plugin 404, required params, and rejection of config updates for non-configurable plugins. Full-map replacement/removal, key normalization, runtime/restart checks, same-source sensitive value preservation, persistence failure isolation, and retained-source apply failure/retry are covered by core unit tests because no built-in standalone plugin currently implements PluginConfigSpec.
CoreOpsAdminApiOpenApiITCase GET /v3/admin/core/ops/ids
POST /v3/admin/core/ops/raft
PUT /v3/admin/core/ops/log
Covered Queries id-generator diagnostics and updates runtime log level; covers raft command/value requirements, log body requirements, and JSON body validation errors.
CoreStateAdminApiOpenApiITCase GET /v3/admin/core/state
GET /v3/admin/core/state/liveness
GET /v3/admin/core/state/readiness
Covered Queries server state, liveness, and readiness; covers parameter-free behavior, unexpected query tolerance, and documents that readiness failure is not forced because it mutates shared server state.

AI Registry

API surface / IT class Covered API operations Current status Current / missing coverage
A2aAdminApiOpenApiITCase GET,PUT,POST,DELETE /v3/admin/ai/a2a
GET /v3/admin/ai/a2a/list
GET /v3/admin/ai/a2a/version/list
Covered Registers legacy and v1 agent cards, normalizes interfaces, queries by version/latest, updates latest, lists, enumerates versions, and deletes; covers defaults, invalid search/type/card JSON, missing identity, absent agent, and tolerant delete.
McpAdminApiOpenApiITCase GET,PUT,POST,DELETE /v3/admin/ai/mcp
GET /v3/admin/ai/mcp/list
Covered Creates MCP server with stdio spec/tools/resources, queries by id/name/latest, updates version, lists accurate/blur, and deletes; covers identity alternatives, invalid search/custom id/JSON, duplicate conflict, not-found, and empty pages.
PipelineAdminApiOpenApiITCase GET /v3/admin/ai/pipelines
GET /v3/admin/ai/pipelines/list
GET /v3/admin/ai/pipelines/detail
GET /v3/admin/ai/pipelines/{pipelineId}
Partial Lists current and legacy pipeline page contracts and queries pipeline detail; covers required resourceType, pagination validation, unknown pipeline 404, and unavailable external resource behavior.
AiResourceImportAdminApiOpenApiITCase GET /v3/admin/ai/import/sources
POST /v3/admin/ai/import/search
POST /v3/admin/ai/import/validate
POST /v3/admin/ai/import/execute
Covered Lists sanitized import sources and runs search/validate/execute flows with fake source data; covers required fields, JSON option parsing, overwrite/skipInvalid flags, unsupported resource/source types, token mismatch, and import result errors.
PromptAdminApiOpenApiITCase DELETE /v3/admin/ai/prompt
GET /v3/admin/ai/prompt/list
GET /v3/admin/ai/prompt/versions
GET /v3/admin/ai/prompt/governance
GET /v3/admin/ai/prompt/version
GET /v3/admin/ai/prompt/version/download
POST,PUT,DELETE /v3/admin/ai/prompt/draft
POST /v3/admin/ai/prompt/submit
POST /v3/admin/ai/prompt/publish
POST /v3/admin/ai/prompt/force-publish
POST /v3/admin/ai/prompt/redraft
POST /v3/admin/ai/prompt/online
POST /v3/admin/ai/prompt/offline
PUT /v3/admin/ai/prompt/labels
PUT /v3/admin/ai/prompt/description
PUT /v3/admin/ai/prompt/biz-tags
Covered Exercises prompt draft create/update/delete, submit, force-publish, governance, versions, list, metadata, labels, server-managed latest label preservation, publish-parameter compatibility, bizTags, online/offline latest maintenance, download, legacy compatibility, and delete; covers defaults, search filters, version format, missing params, absent resources, and controlled workflow errors.
SkillAdminApiOpenApiITCase GET,DELETE /v3/admin/ai/skills
GET /v3/admin/ai/skills/list
GET /v3/admin/ai/skills/version
GET /v3/admin/ai/skills/version/download
POST,PUT,DELETE /v3/admin/ai/skills/draft
POST /v3/admin/ai/skills/submit
POST /v3/admin/ai/skills/publish
POST /v3/admin/ai/skills/force-publish
POST /v3/admin/ai/skills/redraft
POST /v3/admin/ai/skills/online
POST /v3/admin/ai/skills/offline
PUT /v3/admin/ai/skills/labels
PUT /v3/admin/ai/skills/biz-tags
PUT /v3/admin/ai/skills/scope
Covered Exercises skill draft/create/update/delete/fork, submit, force-publish, metadata, labels, server-managed latest label preservation, publish-parameter compatibility, bizTags, scope, online/offline latest maintenance, download, list, and delete; covers defaults, search/scope/bizTag filters, version and SKILL.md mismatch validation, absent resources, and controlled workflow errors.
SkillUploadAdminApiOpenApiITCase POST /v3/admin/ai/skills/upload
POST /v3/admin/ai/skills/upload/batch/precheck
POST /v3/admin/ai/skills/upload/batch
Covered Uploads single and batch skill ZIPs, validates generated drafts/resources, lightweight JSON metadata precheck action reporting for an existing editing draft, overwrite behavior, next version generation, short uploaded version normalization and invalid uploaded version fallback for precheck/upload/batch upload, and partial batch handling; covers empty/malformed ZIP, missing SKILL.md, and upload error envelopes.
AgentSpecAdminApiOpenApiITCase GET,DELETE /v3/admin/ai/agentspecs
GET /v3/admin/ai/agentspecs/list
GET /v3/admin/ai/agentspecs/version
GET /v3/admin/ai/agentspecs/version/meta
POST,PUT,DELETE /v3/admin/ai/agentspecs/draft
POST /v3/admin/ai/agentspecs/submit
POST /v3/admin/ai/agentspecs/publish
POST /v3/admin/ai/agentspecs/force-publish
POST /v3/admin/ai/agentspecs/redraft
POST /v3/admin/ai/agentspecs/online
POST /v3/admin/ai/agentspecs/offline
PUT /v3/admin/ai/agentspecs/labels
PUT /v3/admin/ai/agentspecs/biz-tags
PUT /v3/admin/ai/agentspecs/scope
Covered Exercises AgentSpec draft/create/update/delete/fork, force-publish, metadata, version/meta, labels, server-managed latest label preservation, publish-parameter compatibility, bizTags, scope, online/offline latest maintenance, list, and delete; covers defaults, search/scope filters, version validation, absent resources, and controlled workflow errors.
AgentSpecUploadAdminApiOpenApiITCase POST /v3/admin/ai/agentspecs/upload Covered Uploads single and batch AgentSpec ZIPs, validates manifest/resources, overwrite behavior, next version generation, and partial batch handling; covers empty/malformed ZIP, missing manifest, invalid targetVersion, and upload error envelopes.