Java 8 has reached end of support
and will be
deprecated
on January 31, 2026. After deprecation, you won't be able to deploy Java 8
applications, even if your organization previously used an organization policy to
re-enable deployments of legacy runtimes. Your existing Java
8 applications will continue to run and receive traffic after their
deprecation date. We recommend that
you
migrate to the latest supported version of Java.
Capabilities Service Test Configuration
Stay organized with collections
Save and categorize content based on your preferences.
The capabilities test feature is designed to run against the App Engine development web server for testing purposes. It enables you to change the status of services, such as datastore, blobstore, etc., to determine whether your application behaves properly when it encounters the various possible statuses of the service. For example, by changing the datastore service status to disabled, you can test whether your app handles datastore unavailability in a graceful manner.
There are several ways to use the capabilities test feature:
Change Capabilities Status Using the Console
To change capabilities in the console,
- With your app running on the development server, access the console by visiting the URL
/_ah/admin
on your server, for example: http://localhost:8888/_ah/admin.
- In the console, click Capabilities Status in the bottom left of the console.
- In the Capabilities Status Configuration page, locate the service or services that are used by your app and whose status you wish to change; click the dropdown menu next to the service name and select the status you want to test on that service:
The services now reflect the settings you have chosen the next time your app accesses them. Run your app and observe its behavior.
Change Capabilities Status Using the Command Line
If you use Eclipse, you can set one or more capabilities using the debug command line options.
To change capability settings using the VM command line arguments in Eclipse
- With Eclipse open, select your project, right-click, then select Debug As > Debug Configurations.
- Go to the Arguments tab and enter the desired option in the VM arguments textbox. The format of the option is
-Dcapability.status.capabilityname.*=statusname
, where capabilityname
is replaced by the name of the service (see Capability (Service) Names) and statusname
is replaced by the capability status you want to use (see Capability Status Values).
Note: For the datastore write capability, replace capabilityname
with datastore_v3
and the asterisk (*
) with write
, like this: Dcapability.status.datastore_v3.write
. For the other capabilities, leave the asterisk as shown.
The screen capture below shows two capabilities (datastore and images) being disabled from the command line:

- Click Apply to save your changes
- Click Debug to run your app with those settings.
Capability (Service) Names
Capability Name in API |
Capability Name displayed in Console |
Description |
blobstore |
BLOBSTORE |
The blobstore service |
datastore_v3 |
DATASTORE |
The datastore service for queries |
datastore_v3,write |
DATASTORE_WRITE |
The datastore service for write requests |
images |
IMAGES |
The images service |
mail |
MAIL |
The mail service |
memcache |
MEMCACHE |
The memcache service |
taskqueue |
TASKQUEUE |
The taskqueue service |
urlfetch |
URLFETCH |
The urlfetch service |
Capability Status Values
Status Values for All Capabilities |
Description |
DISABLED |
The capability is disabled. |
ENABLED |
The capability is available and no maintenance is currently planned. |
SCHEDULED_MAINTENANCE |
The capability is available but scheduled for maintenance. |
UNKNOWN |
The status of this service is unknown. |
Change Capabilities Status Using the Capabilities API
To use the local service capabilities test feature in the API, you use the LocalCapabilitiesServiceTestConfig class. For more information and a code sample, see Writing Local Service Capabilities Tests.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-09-03 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eThe capabilities test feature allows you to modify the status of App Engine services (like datastore and blobstore) on the development web server to test how your application handles different service states.\u003c/p\u003e\n"],["\u003cp\u003eYou can change the status of services using the console by accessing \u003ccode\u003e/_ah/admin\u003c/code\u003e on your development server and navigating to the \u003cstrong\u003eCapabilities Status\u003c/strong\u003e page.\u003c/p\u003e\n"],["\u003cp\u003eEclipse users can adjust capability statuses by adding specific VM arguments in the \u003cstrong\u003eDebug Configurations\u003c/strong\u003e dialog, allowing you to disable or change the status of services such as \u003ccode\u003edatastore_v3.write\u003c/code\u003e or \u003ccode\u003eimages\u003c/code\u003e for testing.\u003c/p\u003e\n"],["\u003cp\u003eThe available capability status values are \u003ccode\u003eDISABLED\u003c/code\u003e, \u003ccode\u003eENABLED\u003c/code\u003e, \u003ccode\u003eSCHEDULED_MAINTENANCE\u003c/code\u003e, and \u003ccode\u003eUNKNOWN\u003c/code\u003e, providing various testing scenarios for service availability.\u003c/p\u003e\n"],["\u003cp\u003eThe LocalCapabilitiesServiceTestConfig class is available in the API to use the local service capabilities test feature.\u003c/p\u003e\n"]]],[],null,["# Capabilities Service Test Configuration\n\nThe capabilities test feature is designed to run against the App Engine [development web server](/appengine/docs/legacy/standard/java/tools/using-local-server) for testing purposes. It enables you to change the status of services, such as datastore, blobstore, etc., to determine whether your application behaves properly when it encounters the various possible statuses of the service. For example, by changing the datastore service status to disabled, you can test whether your app handles datastore unavailability in a graceful manner.\n\nThere are several ways to use the capabilities test feature:\n\nChange Capabilities Status Using the Console\n--------------------------------------------\n\nTo change capabilities in the console,\n\n1. With your app running on the development server, access the console by visiting the URL `/_ah/admin` on your server, for example: \u003chttp://localhost:8888/_ah/admin\u003e.\n2. In the console, click **Capabilities Status** in the bottom left of the console.\n3. In the **Capabilities Status Configuration** page, locate the service or services that are used by your app and whose status you wish to change; click the dropdown menu next to the service name and select the status you want to test on that service:\n\nThe services now reflect the settings you have chosen the next time your app accesses them. Run your app and observe its behavior.\n\nChange Capabilities Status Using the Command Line\n-------------------------------------------------\n\nIf you use Eclipse, you can set one or more capabilities using the debug command line options.\n\nTo change capability settings using the VM command line arguments in Eclipse\n\n1. With Eclipse open, select your project, right-click, then select **Debug As \\\u003e Debug Configurations**.\n2. Go to the **Arguments** tab and enter the desired option in the **VM arguments** textbox. The format of the option is\n\n `-Dcapability.status.`*capabilityname* `.*=`*statusname*\n , where *capabilityname* is replaced by the name of the service (see [Capability (Service) Names](#Capability_(Service)_Names)) and `statusname` is replaced by the capability status you want to use (see [Capability Status Values](#Capability_Status_Values)).\n\n \u003cbr /\u003e\n\n **Note:** For the datastore write capability, replace *capabilityname* with `datastore_v3` and the asterisk (`*`) with `write`, like this: `Dcapability.status.datastore_v3.write`. For the other capabilities, leave the asterisk as shown.\n\n The screen capture below shows two capabilities (datastore and images) being disabled from the command line:\n\n3. Click **Apply** to save your changes\n4. Click **Debug** to run your app with those settings.\n\n### Capability (Service) Names\n\n### Capability Status Values\n\nChange Capabilities Status Using the Capabilities API\n-----------------------------------------------------\n\nTo use the local service capabilities test feature in the API, you use the [LocalCapabilitiesServiceTestConfig](/appengine/docs/legacy/standard/java/tools/localunittesting/javadoc/com/google/appengine/tools/development/testing/LocalCapabilitiesServiceTestConfig) class. For more information and a code sample, see [Writing Local Service Capabilities Tests](/appengine/docs/legacy/standard/java/tools/localunittesting#capabilities-testing)."]]