Step 4: Test your API

This page applies to Apigee and Apigee hybrid.

View Apigee Edge documentation.

To test the deployed helloworld API, click the Terminal tab in Apigee in Cloud Code and enter the following curl call:

curl 0:8998/helloworld

The following error message is displayed:

Calling API in terminal tab and getting an authorization error

Because you enabled API key based authentication when creating the API proxy, you need to pass an API key using the apikey query parameter when calling the API.

To obtain an API key, you need to create a test bundle and configure the following test resources:

  • API product used to bundle the API and make it available to developers.

  • Developer that will create an app to access the API.

  • Developer app that will enable access to the API using an API key.

Build and Export test resources

  1. Create a test bundle:
    1. Position your cursor over the tests folder and click Create test bundle icon.

      + displays when you position the cursor over tests folder

      The Create test bundle wizard opens.

    2. Enter mytestbundle for the test bundle name and press Enter.

      The test bundle is created.

    3. Expand the mytestbundle folder to view its contents.

      Test folder with developerapps.json, developers.json, maps.json, and products.json files

  2. Configure the API product test resource:
    1. Position your cursor over the products.json file and click Create API product icon.

      + displays when you position the cursor over products.json

      The Create API product wizard opens.

      First page of the Create API product wizard

    2. Enter myproduct for the name of the API product and press Enter to confirm and proceed.
    3. Enter myproduct for the description of the API product and press Enter to confirm and proceed.
    4. Select helloworld to add the API proxy to the API product and click OK.

      The products.json file is opened in the editor with the new API product configured:

      [
        {
          "attributes": [
            {
              "name": "sample_attribute_0",
              "value": "sample_attribute_value_0"
            }
          ],
          "scopes": [],
          "environments": [],
          "apiResources": [
            "/",
            "/*",
            "/**"
          ],
          "quota": "100",
          "quotaInterval": "1",
          "quotaTimeUnit": "minute",
          "name": "myproduct",
          "displayName": "myproduct",
          "proxies": [
            "helloworld"
          ]
        }
      ]
  3. Configure the developer test resource:
    1. Position your cursor over the developers.json file and click Create Apigee developer icon.

      + displays when you position the cursor over developers.json

      The Create developer wizard opens.

      First page of the Create API product wizard

    2. Enter the following values at the prompts and press Enter to confirm and proceed:
      • Developer email: ahamilton@example.com
      • Username: ahamilton
      • First name: Alex
      • Last name: Hamilton

      The developers.json file is opened in the editor with the new developer configured:

      [
          {
            "attributes": [
              {
                "name": "sample_attribute_0",
                "value": "sample_attribute_value_0"
              }
            ],
            "email": "ahamilton@example.com",
            "userName": "ahamilton",
            "firstName": "Alex",
            "lastName": "Hamilton"
          }
        ]
  4. Configure the developer app test resource:
    1. Position your cursor over the developerapps.json file and click Create developer app icon.

      + displays when you position the cursor over developerapps.json

      The Create developer app wizard opens.

      First page of the Create API product wizard

    2. Select ahamilton@example.com as the owner of the app.
    3. Enter the following values at the next set of prompts and press Enter to confirm and proceed:
      • App name: myapp
      • Description: myapp
      • Callback URL: Leave blank
      • Select myproduct to add it to the app and click OK.
      • Select never for the expiry value.

      The developerapps.json file is opened in the editor with the new app configured:

      [
        {
          "attributes": [
            {
              "name": "sample_attribute_0",
              "value": "sample_attribute_value_0"
            }
          ],
          "developerEmail": "ahamilton@example.com",
          "name": "myapp",
          "displayName": "myapp",
          "callbackUrl": "",
          "apiProducts": [
            "myproduct"
          ],
          "expiryType": "never"
        }
      ]
  5. Export the test resources to the Apigee Emulator.

    Position the cursor over the mytestbundle test bundle and click Export test resources icon.

    Active test resources including API products, developers, and developer apps

    The active test resources appears in the Apigee Emulators section, as shown in the following figure.

    Active test resources including API products, developers, and developer apps

Obtain the API key

Obtain the API key credentials for your developer app:

  1. In the emulators section, under Active test data, click Active developer apps.

    The active developer apps configuration file is opened in the editor. The file contains credentials for myproduct, as highlighted in the following figure.

    <p><img src="/apigee/docs/api-platform/images/vscode-consumerkey.png" alt="Developer apps with the consumerKey value highlighted."></p>
    

  2. Copy the consumerKey value (without the quotes) for the myproduct API product.

Test your API

Test your API with the API key:

  1. Pass the API key in your curl call using the apikey query parameter, as follows:
    curl 0:8998/helloworld?apikey=API_KEY

    The following response is returned:

    Hello, Guest!

Congratulations! You've successfully run an API in your local environment.

In the next step, you'll learn how to change the target endpoint.

1 2 3 4 (NEXT) Step 5: Change the target endpoint 6 7 8