Files
wehub-resource-sync bcbd1bdb22
Test (Python) / test-python-gate (push) Blocked by required conditions
Test (TypeScript) / test-typescript-gate (push) Blocked by required conditions
CLI exit codes / cli-gate (push) Blocked by required conditions
Test (Install) / test-install-gate (push) Blocked by required conditions
Integ / integ-gate (push) Blocked by required conditions
CLI exit codes / Python CLI (push) Waiting to run
Integ / changes (push) Has been skipped
Test (Install) / python-minimal (3.11) (push) Waiting to run
Test (Install) / python-minimal (3.12) (push) Waiting to run
Test (Install) / python-extra (chroma, mirage.resource.chroma) (push) Waiting to run
Integ / integ-ts (push) Waiting to run
Integ / integ (push) Waiting to run
Test (Install) / python-extra (deepagents, mirage.agents.langchain) (push) Waiting to run
Integ / integ-database (push) Waiting to run
Test (Install) / python-extra (email, mirage.resource.email) (push) Waiting to run
Test (Install) / python-extra (hdf5, mirage.core.filetype.hdf5) (push) Waiting to run
Integ / integ-ssh (push) Waiting to run
Pre-commit / pre-commit (push) Failing after 1s
CLI exit codes / changes (push) Has been skipped
Test (Install) / changes (push) Has been skipped
CLI exit codes / TypeScript CLI (push) Waiting to run
CLI exit codes / Cross-language snapshot interop (push) Waiting to run
Test (Install) / python-extra (agno, mirage.agents.agno) (push) Waiting to run
Test (Install) / python-extra (databricks, mirage.resource.databricks_volume) (push) Waiting to run
Test (Python) / changes (push) Has been skipped
Integ / integ-database-ts (push) Waiting to run
Test (Install) / python-extra (fuse, mirage.fuse.mount) (push) Waiting to run
Integ / integ-data (push) Waiting to run
Test (Install) / python-extra (lancedb, mirage.resource.lancedb) (push) Waiting to run
Test (Python) / test (push) Waiting to run
Integ / integ-fuse (push) Waiting to run
Test (Install) / python-extra (langfuse, mirage.resource.langfuse) (push) Waiting to run
Test (Python) / import-isolation (deepagents, openai, mirage.agents.openai_agents) (push) Waiting to run
Test (Python) / audit (push) Waiting to run
Test (Install) / python-extra (hf, mirage.resource.hf_buckets) (push) Waiting to run
Integ / integ-ssh-ts (push) Waiting to run
Test (Install) / python-extra (mongodb, mirage.resource.mongodb) (push) Waiting to run
Test (Python) / import-isolation (deepagents, pydantic-ai, mirage.agents.pydantic_ai) (push) Waiting to run
Test (TypeScript) / changes (push) Has been skipped
Test (Install) / python-extra (nextcloud, mirage.resource.nextcloud) (push) Waiting to run
Test (Install) / python-extra (openai, mirage.agents.openai_agents) (push) Waiting to run
Test (Install) / python-extra (openhands, mirage.agents.openhands, 3.12) (push) Waiting to run
Test (Install) / python-extra (parquet, mirage.core.filetype.parquet) (push) Waiting to run
Test (TypeScript) / test (push) Waiting to run
Test (Install) / python-extra (pdf, mirage.core.filetype.pdf) (push) Waiting to run
Test (TypeScript) / python-fs-shim (push) Waiting to run
Test (Install) / python-extra (postgres, mirage.resource.postgres) (push) Waiting to run
Test (Install) / python-extra (pydantic-ai, mirage.agents.pydantic_ai) (push) Waiting to run
Test (Install) / python-extra (qdrant, mirage.resource.qdrant) (push) Waiting to run
Test (Install) / python-extra (redis, mirage.resource.redis) (push) Waiting to run
Test (Install) / python-extra (s3, mirage.resource.s3) (push) Waiting to run
Test (Install) / python-extra (ssh, mirage.resource.ssh) (push) Waiting to run
Test (Install) / ts-minimal (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 12:30:44 +08:00

66 lines
2.1 KiB
Python

from mirage.resource.registry import REGISTRY, build_resource
from mirage.types import ResourceName
def test_dify_resource_is_registered_and_redacts_api_key():
assert ResourceName.DIFY == "dify"
assert REGISTRY[
"dify"].resource_path == "mirage.resource.dify:DifyResource"
assert REGISTRY["dify"].config_path == "mirage.resource.dify:DifyConfig"
resource = build_resource(
"dify",
{
"api_key": "dataset-secret",
"base_url": "https://api.dify.ai/v1/",
"dataset_id": "dataset-1",
},
)
assert resource.name == ResourceName.DIFY
assert resource.caches_reads is True
assert resource.SUPPORTS_SNAPSHOT is False
assert resource.config.base_url == "https://api.dify.ai/v1"
assert resource.config.slug_metadata_name == "slug"
assert resource.accessor.config is resource.config
state = resource.get_state()
assert state["type"] == ResourceName.DIFY
assert state["needs_override"] is True
assert state["redacted_fields"] == ["api_key"]
assert state["config"]["api_key"] == "<REDACTED>"
assert state["config"]["dataset_id"] == "dataset-1"
assert state["config"]["slug_metadata_name"] == "slug"
def test_dify_resource_accepts_configured_slug_metadata_name():
resource = build_resource(
"dify",
{
"api_key": "dataset-secret",
"base_url": "https://api.dify.ai/v1",
"dataset_id": "dataset-1",
"slug_metadata_name": "path",
},
)
assert resource.config.slug_metadata_name == "path"
def test_dify_resource_registers_expected_commands_and_ops():
resource = build_resource(
"dify",
{
"api_key": "dataset-secret",
"base_url": "https://api.dify.ai/v1",
"dataset_id": "dataset-1",
},
)
commands = {item.name for item in resource.commands()}
ops = {item.name for item in resource.ops_list()}
assert {"cat", "ls", "grep", "find", "head", "tail",
"wc"}.issubset(commands)
assert {"read", "readdir", "stat", "grep"}.issubset(ops)