Skip to main content
Skip table of contents

Empower Acceptance Testing

Overview

The purpose of this acceptance plan is to validate the operational readiness and accuracy of the GridX APIs (Empower) as per the agreed-upon specifications. The acceptance testing will focus on ensuring that the APIs deliver accurate data and are ready for production with no unresolved data issues.

Empower APIs

  • Rate Analysis

    • getSummary

    • compareResult

    • compareCalculate

  • Bill Analysis and Forecast

    • iCost

    • billForecast

    • billCompare

  • Customer Management

    • Usage

    • customerProfile

Definition of Success

The objective of this testing is to confirm that the GridX APIs are 100% operational and meet the following criteria:

  • The APIs return accurate and expected results in line with the agreed specifications.

  • All data extracted and analyzed by the APIs match pre-defined standards.

  • The system is production-ready with no unresolved or critical data discrepancies.

Testing Objectives

  • API Readiness: Ensure that the GridX Empower APIs (e.g getSummary, compareResult, iCost…) are fully operational and can handle requests as designed.

    • Consult your business advisor regarding your in scope APIs.

  • Data Accuracy: Verify that the data returned by the APIs matches the expected values, including pre-calculated costs, scenario details, and line items for both the base and target scenarios.

  • Compliance with Specifications: Confirm that the API responses align with the technical requirements, including field names, response structures, and data mappings.

  • Error Handling: Check that the APIs handle invalid requests and edge cases appropriately without system failures.

  • Performance: Evaluate that the APIs respond within acceptable time limits, even with large data sets.

    • Consult your business advisor regarding your API SLAs.

  • Production Readiness: Confirm that there are no critical unresolved data or system issues, making the APIs ready for deployment in production environments.

Acceptance Testing Steps

  1. Setup and Preparation

    • Ensure Postman is installed for API testing (see Appendix B for installation steps).

    • Verify that all necessary security and authentication protocols are in place for API access (see Appendix B for security and authentication guidelines).

    • Gather the test contract Id list and the corresponding acceptance test data.

    • Prepare a testing spreadsheet, includes the following key columns (see Appendix C for steps in creating a testing list).

  2. Execution of Test Cases

    • Test Case 1: Validate getSummary API

      • With a desired list of test accounts navigate to the “getSummary API”.

      • insert desired [contractId] within the API curl call in Postman

      • Compare the API response payload with the pre-calculated costs and ensure they match the expected results for each scenario.

    • Test Case 2: Validate compareResult API

      • Open the "compareResult API Responses" tab in the spreadsheet.

      • insert desired [contractId] wit in the API curl call in Postman.

      • Verify that the API response correctly return the test data, can also be compared against a spreadsheet.

      • Ensure that all required fields, attributes, line items, and scenario details are present and accurate.

    • Test Case 3: Validate compareCalculate API

      • Open the "compareCalculate API Responses" tab in the spreadsheet.

      • insert desired [contractId] wit in the API curl call in Postman.

      • Verify that the API response correctly return the test data, can also be compared against a spreadsheet.

      • Ensure that all required fields, attributes, line items, and scenario details are present and displaying as part of the API payload format.

    • Test Case 4: Validate iCost API

      • Open the "iCost API Responses" tab in the spreadsheet.

      • insert desired [contractId, entitytId] within the API curl call in Postman.

      • Verify that the API response correctly return the test data, can also be compared against a spreadsheet.

      • Ensure that all required fields, line items, and scenario details are present and displaying as part of the API payload format.

    • Test Case 5: Validate billForecast API

      • Open the "billForecast API Responses" tab in the spreadsheet.

      • insert desired [contractId] within the API curl call in Postman.

      • Verify that the API response correctly return the test data, can also be compared against a spreadsheet.

      • Ensure that all required fields, line items, and scenario details are present and displaying as part of the API payload format.

    • Test Case 6: Validate billCompare API

      • Open the "billComapre API Responses" tab in the spreadsheet.

      • insert desired [contractId, entityId, personId] within the API curl call in Postman.

      • Verify that the API response correctly return the test data, can also be compared against a spreadsheet.

      • Ensure that all required fields, line items, and scenario details are present and displaying as part of the API payload format.

    • Test Case 7: Validate usage API

      • Open the "usage API" tab in the spreadsheet.

      • insert desired [meteraccountId] within the API curl call in Postman.

      • Verify that the API response correctly return the test data, can also be compared against a spreadsheet.

      • Ensure that all required fields, line items, and scenario details are present and displaying as part of the API payload format.

    • Test Case 8: Validate customerProfile API

      • Open the "customerProfile API" tab in the spreadsheet.

      • insert desired [contractId + meteraccountId] within the API curl call in Postman.

      • Verify that the API response correctly return the test data, can also be compared against a spreadsheet.

      • Ensure that all required fields, line items, and scenario details are present and displaying as part of the API payload format.

    • Test Case 9: Error Handling

      • Test how the APIs handle invalid requests, missing parameters, or incorrect data, and ensure appropriate error messages are returned.

        • Obtained the necessary requirements prior to proceeding

    • Test Case 10: Performance

      • Test the response time of both APIs using different data calls to confirm they meet performance requirements.

Validation

  1. Review the API responses to ensure all data points aligns with the expected values.

    • Verify that each billing period's details, costs, and scenario attributes are correctly displayed.

Documentation

  1. Record test results, noting any discrepancies or issues encountered during the testing process.

    • Document the response times, error handling, and overall performance of the APIs.

Completion Criteria

  • All test cases have been executed, and no critical issues remain unresolved.

  • The API results align with the expected data as outlined in the test scenarios.

  • All performance, error handling, and data accuracy criteria are met.

  • The APIs are deemed ready for production deployment.

Sign-off

Once all test cases are successfully completed and the APIs have met the criteria outlined above, a final sign-off will be obtained from the business users and relevant stakeholders to proceed with production deployment.


Appendix A: Security and Authentication

By default, GridX offers 3 layers of security for all of our public-facing APIs.

  • IP Whitelisting

  • Dual Authentication (Mutual) SSL

  • API Bearer Token

For both "IP Whitelisting" and "Dual Authentication SSL", it is standard GridX practice to ensure that these security features are handled as part of the project setup. Please open a service desk ticket with any whitelist of Mutal SSL requirements and the GridX team will work to ensure this is configured. Any required Bearer Tokens can also be provided upon inquiry so they can be passed directly in the requests.

Appendix B: Installing Postman

Instructions
  1. Download and install postman to your desktop

    1. https://www.postman.com/

      1. Available for 

        1. Windows

        2. Mac

        3. Linux 

  2. Open the Postman App 

  3. Create a free Postman account or Log in for existing users 

    1. Enter an email, username, and password

      1. Use an email associated with the GridX API project.

    2. Selecting create will reroute and open a page in your web browser (shown below):

377199632851b7d6acdfb13f65347d45.png
bc46fa3e041bc42abbc895d6c6a642fc.png
42b270cca131592cb3167ecdf9bda98b.png
  1. Establish Connection

    1. Go to: Postman → Settings

    2. Add the certificate (as shown below) that you received from your IT team. If you do not have this certificate file, please contact your IT team to request it.

      1. The user must obtain the certificate and private key files from the Customer’s IT team before proceeding.

5f0881589f9ea5de39b6067e01b3a9c4.png
  1. Import Certificate and Private Key

    1. Click on "Add Certificate" (as shown below).

    2. Enter the Host -> {customer}-api-{env}.gridx.com.

    3. Click “Select File” under "CRT file" to upload the certificate obtained from your IT team and click “Add”.

      1. A CRT file is a security certificate file used to establish secure connections between a web server and a browser/API.

      2. The certificate will represent the identity of the client, and GridX will be able to verify that the request is indeed from the client/customer.

      3. A CRT file type is preferred, and our integration methods do not support other file types.

30b39ff4616745d39a2d711260d58103.png
31d069ce8ee76849e07e36ec129b232d.png

  1. Import Postman Collection

    1. Click on “Import” to upload the collection (.json) file shared with you

8e974bdf8126f459f06b13e48676fde3.png
953785e6a4a86d583d2c139ad8a94094.png
  1. Setting up Postman Collection 

    1. Select ‘Collections’ to set up a collection from scratch

    2. Create a new collection by selecting the “+” to add a new collection (shown below)

    3. New collection

      1. With collections, you can link related API elements together for easy editing, sharing, testing, and reuse

905f336c447f167c9fbe8d3546c77cae.png
  1. Add a New Request

    1. Under the new collection → Add request.

    2. Adding a request will automatically create a skeleton request in Postman.

    3. Under the URL bar, paste the following API endpoints:

      • getSummary API
        https://{customer}-api-stage.gridx.com/v2/getSummary {post}

        • Body → raw → format (Json)

        • Paste into body:
          {"contractIds":["{contractId}"]}

        • Replace {contractId} with the appropriate value.

        • Select → Send.

      • compareResult API
        https://{customer}-api-stage.gridx.com/v2/compareResult/{contractId} {GET}

        • Select → Send.

  1. Final setup: getSummary:

    1. getSummary {post} API sample:

  2. Final setup: compareResult:

    1. compareResult {Get} API sample:

Detailed information on the APIs, sample endpoints and sample responses can be reviewed on GridX’s Empower portal at https://empower.gridx.com/

Appendix C: Creating a Test List

Creating a Test List

Creating a test list

This guide outlines the steps to create an API testing spreadsheet to support acceptance testing and validations to the APIs. By following this test list, you'll be able to assess whether the API meets the required acceptance criteria.

Step 1: Set Up Your Spreadsheet

  1. Open a new spreadsheet in your preferred application (Excel, Google Sheets, e.g.,).

  2. Label each key column - sample base template.

    1. See sample below

Step 2: Define Key Columns and Their Purpose

  • contractID

    • Purpose: Track which [contractID] you are testing against.

      • Extract enough contractIds to cover all permutations of:

        • Rates

        • Contract scopes

        • Programs/Adders

  • API

    • Purpose: Defined API preforming testing against

  • Expected Scenario

    • Purpose: Define expected outcomes for each test scenario.

      • Rate Analysis: Expected values based on analysis API payload response.

      • Bill Analysis: Expected values based on cost overtime analysis API payload response.

      • Forecast: Expected costs/usage forecasted based contractId billing cycle

      • Customer Management: Expected customer data usage responses

  • Actual Costs/Usages (from API)

    • Purpose: Capture actual behavior returned from the API payload call, comparing these results to the expected values

  • Pass/Fail

    • Purpose: Provide a clear indication of whether the test meets the acceptance criteria.

  • Notes

    • Purpose: Record additional observations or explanations for discrepancies.


Step 3: Populate the Spreadsheet with Test Cases

  • Identify all possible scenarios and create separate rows for each one.

  • For each row, fill in the columns as described above.

  • Verify expected data for each scenario to ensure accuracy before making API calls.


Example Spreadsheet Setup

ContractId

API

Scenario

Expect cost /Usage

Actual API cost / Usage

Pass/Fail

Comments / Questions

00000011010

getSummary

Validate total cost amount is populated

Dollar value in decimals

Dollar value in decimals

Pass

NA


Step 5: Review and Validate Results

  • Analyze discrepancies - marked as "Fail" to investigate potential reasons (errors, data, e.g.)

    • If further support needed, raise a ticket for via GridX Service Desk for support.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.