Configuración de prueba del servicio Capabilities

La función de prueba de capacidades está diseñada para ejecutarse en el servidor web de desarrollo de App Engine con fines de prueba. Te permite cambiar el estado de los servicios, como el almacén de datos o el almacén de blobs, para determinar si tu aplicación se comporta correctamente cuando se encuentra con los distintos estados posibles del servicio. Por ejemplo, si cambias el estado del servicio de almacén de datos a inhabilitado, puedes probar si tu aplicación gestiona la falta de disponibilidad del almacén de datos de forma correcta.

Hay varias formas de usar la función de prueba de funciones:

Cambiar el estado de las funciones mediante la consola

Para cambiar las funciones en la consola, sigue estos pasos:

  1. Con la aplicación ejecutándose en el servidor de desarrollo, accede a la consola visitando la URL /_ah/admin en tu servidor. Por ejemplo: http://localhost:8888/_ah/admin.
  2. En la consola, haz clic en Estado de las funciones en la parte inferior izquierda.
  3. En la página Configuración del estado de las funciones, busque el servicio o los servicios que usa su aplicación y cuyo estado quiera cambiar. Haga clic en el menú desplegable situado junto al nombre del servicio y seleccione el estado que quiera probar en ese servicio:

Los servicios reflejarán los ajustes que hayas elegido la próxima vez que tu aplicación acceda a ellos. Ejecuta tu aplicación y observa su comportamiento.

Cambiar el estado de las funciones mediante la línea de comandos

Si usas Eclipse, puedes definir una o varias funciones mediante las opciones de la línea de comandos de depuración.

Para cambiar los ajustes de las funciones mediante los argumentos de la línea de comandos de la VM en Eclipse

  1. Con Eclipse abierto, selecciona tu proyecto, haz clic con el botón derecho y, a continuación, selecciona Depurar como > Configuraciones de depuración.
  2. Ve a la pestaña Arguments (Argumentos) e introduce la opción que quieras en el cuadro de texto VM arguments (Argumentos de VM). El formato de la opción es

    -Dcapability.status.capabilityname.*=statusname

    , donde capabilityname se sustituye por el nombre del servicio (consulta Nombres de las funciones (servicios)) y statusname se sustituye por el estado de la función que quieras usar (consulta Valores del estado de las funciones).

    Nota: Para la función de escritura del almacén de datos, sustituye capabilityname por datastore_v3 y el asterisco (*) por write, de esta forma: Dcapability.status.datastore_v3.write. En el resto de las funciones, deja el asterisco tal como se muestra.

    En la captura de pantalla que se muestra a continuación, se ven dos funciones (almacén de datos e imágenes) que se han inhabilitado desde la línea de comandos:

  3. Haz clic en Aplicar para guardar los cambios.
  4. Haz clic en Depurar para ejecutar la aplicación con esos ajustes.

Nombres de las funciones (servicios)

Nombre de la función en la API Nombre de la función que se muestra en la consola Descripción
blobstore BLOBSTORE El servicio de almacén de blobs
datastore_v3 DATASTORE El servicio de almacén de datos para consultas
datastore_v3,write DATASTORE_WRITE El servicio de almacén de datos para solicitudes de escritura
images IMÁGENES El servicio de imágenes
mail MAIL El servicio de correo
memcache MEMCACHE El servicio Memcache
taskqueue TASKQUEUE El servicio de colas de tareas
urlfetch URLFETCH El servicio urlfetch

Valores de estado de las funciones

Valores de estado de todas las funciones Descripción
DISABLED La capacidad está inhabilitada.
ENABLED La capacidad está disponible y no hay actividades de mantenimiento programadas en estos momentos.
SCHEDULED_MAINTENANCE La capacidad está disponible, pero tiene programadas actividades de mantenimiento.
UNKNOWN Se desconoce el estado de este servicio.

Cambiar el estado de las funciones con la API Capabilities

Para usar la función de prueba de las funciones del servicio local en la API, debes usar la clase LocalCapabilitiesServiceTestConfig. Para obtener más información y un ejemplo de código, consulta Escribir pruebas de funciones de servicios locales.