Ir al contenido

testform providers

Ventana de terminal
testform [opciones globales] providers [subcomando] [opciones] [DIR]

El comando testform providers analiza la configuración del módulo referenciado y muestra un árbol de requisitos de proveedores (providers) necesarios para la ejecución. También incluye subcomandos para bloquear dependencias (lock), duplicar plugins en entornos air-gapped (mirror) y exportar esquemas formales en JSON (schema).

Si se ejecuta en un directorio sin archivos de configuración (main.yml, etc.), emite un diagnóstico idéntico a Terraform y sale con código 1:

╷
│ Error: No configuration files
│
│ The directory C:\Users\flavi\Desktop\auth contains no Testform configuration files.
╵

Ventana de terminal
testform providers [DIR]

Muestra los proveedores requeridos por la configuración activa:

Ventana de terminal
$ testform providers
Providers required by configuration:
.
└── provider[registry.testform.io/fromeroc9/local] 1.0.0
Ventana de terminal
testform providers lock [opciones] [providers...]

Normalmente el archivo de lock (.testform/cache/lock.json) se actualiza durante testform init. El subcomando lock permite auditar y actualizar de forma explícita los hashes de integridad criptográfica y compatibilidad multiplataforma en .testform/cache/lock.json, asegurando builds reproducibles e inmutables en CI/CD:

Ventana de terminal
$ testform providers lock
Success! Dependencies for provider "fromeroc9/github" verified and written to .testform/cache/lock.json.
Opción Descripción
-platform=os_arch Solicita checksums para una plataforma específica (ej. linux_amd64, windows_amd64, darwin_arm64). Puede repetirse.
-fs-mirror=dir Consulta un directorio local de mirrors en lugar del registry oficial.
-net-mirror=url Consulta un mirror de red (URL base) en lugar del registry oficial.
-enable-plugin-cache Habilita el uso de la caché global de plugins para acelerar el bloqueo.
-test-directory=path Directorio de pruebas de Testform (por defecto tests).
-var 'foo=bar' Define una variable de configuración en el módulo raíz.
-var-file=filename Carga variables desde un archivo (testform.vars.yml o *.auto.vars.yml).
Ventana de terminal
testform providers mirror [opciones] <target-dir>

Popula un directorio local con copias de los plugins de proveedores requeridos por la configuración actual. Este directorio puede usarse directamente como un mirror del sistema de archivos o como base para un servidor web estático privado (red mirror), permitiendo ejecuciones de Testform en entornos empresariales air-gapped o sin conexión a internet:

Ventana de terminal
$ testform providers mirror ./vendor-plugins
- Mirroring provider "fromeroc9/github" to ./vendor-plugins...
Success! Provider plugins mirrored to ./vendor-plugins.

[!NOTE] El argumento <target-dir> es obligatorio. Si se omite, Testform emitirá un error indicando Missing target directory argument.

Ventana de terminal
testform providers schema [opciones]

Inspecciona la definición formal del esquema (atributos, tipos de datos y obligatoriedad de testcase, testrun, testplan) provisto por el proveedor activo.

Ventana de terminal
$ testform providers schema
Provider Schema: fromeroc9/github
──────────────────────────────────────────────────
Resource: github_testcase
- identity: string (required)
- title: string (optional)
- labels: list of string (optional)
- assignees: list of string (optional)
- custom_fields: map of string (optional)
Resource: github_testrun
- identity: string (required)
- rules: list of rule
Resource: github_testplan
- identity: string (required)
- runs: list of testrun

Permite que extensiones de IDEs (VS Code, IntelliJ), linters o herramientas de automatización obtengan la estructura exacta de los recursos:

Ventana de terminal
$ testform providers schema -json
{
"format_version": "1.0",
"provider_schemas": {
"registry.testform.io/fromeroc9/github": {
"provider": { ... },
"resource_schemas": {
"github_testcase": { ... },
"github_testrun": { ... },
"github_testplan": { ... }
}
}
}
}

Opción Por Defecto Descripción
-test-directory=DIR tests Directorio de pruebas de Testform donde buscar especificaciones.
-var 'foo=bar' — Define una variable en el módulo raíz. Puede usarse varias veces.
-var-file=filename — Carga variables desde un archivo (testform.vars.yml o *.auto.vars.yml).

  • 0: Subcomando ejecutado exitosamente.
  • 1: Error de resolución de proveedores, ausencia de archivos de configuración o argumentos inválidos.