Step 4: Test your API

You're viewing Apigee X documentation.
View Apigee Edge documentation.

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

curl localhost:8998/helloworld

The following error message is displayed:

Calling API in terminal tab and getting an authorization error

Since 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, obtain the API key, and re-test your API.

  1. Create a test bundle:
    1. Position your cursor over the tests folder in the Apigee Explorer and click Create 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 in the API Explorer 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 in the Apigee Explorer and click Create 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, as shown below:

      [
        {
          "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 in the Apigee Explorer and click Create 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, as shown below:

      [
        {
          "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 in the Apigee Explorer and click Create 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
    4. Select myproduct to add it to the app and click OK.
    5. Select never for the expiry value.

      The developerapps.json file is opened in the editor with the new app configured, as shown below:

      [
        {
          "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.

    In the Apigee Explorer, position the cursor over the mytestbundle test bundle and click Export test icon.

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

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

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

  6. In the Apigee Emulator, under Active test resources, 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.

    Developer apps with the consumerKey value highlighted.

  7. Copy the consumerKey value (without the quotes) for the myproduct API product.
  8. Pass the API key in your curl call using the apikey query parameter, as follows:
    curl localhost:8998/helloworld?apikey=ZQA5euYtNeJ7ZCGCJMpvd6F2BZOmxOzY

    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.

Next step

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