IP Library Granted Patent US 11,599,456
Granted Patent B2
US 11,599,456 · App. 17/370,816 · Granted Mar 7, 2023

Automated validation of a rest application programming interface

Inventors: Nagendra Hk (KA, IN); Poornima Gokhale (Chamarajnagar, IN); Abhijit R. Bangera (Mangalore, IN); Srinivasa Raju Chamarthy (Karnataka, IN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/3688G06F9/541G06F11/3684
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,599,456
App. No.
17/370,816
Granted
Mar 7, 2023
Kind
B2
Abstract

A system can system can parse a first group of dependencies within a first API, and second group of dependencies between the first API and a second API. The system can identify a group of assertions for the first API. The system can identify a group of validations for the first API. The system can identify a format for calls to the first API according to a first programming language based on a template for the first programming language. The system can generate a number of test cases that invoke the first API according to the first programming language based on the first group of dependencies, the second group of dependencies, and the format for calls to the first API. The system can invoke the first API with the test cases to validate functionality of the first API based on the group of assertions and the group of validations.

Claims (48)

1. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

parsing a first group of dependencies within a first application programming interface (API);

parsing a second group of dependencies between the first API and a second API;

identifying a group of assertions for the first API;

identifying a group of validations for the first API;

identifying a format for calls to the first API according to a first programming language based on a template for the first programming language;

generating a number of test cases that invoke the first API according to the first programming language based on the first group of dependencies, the second group of dependencies, and the format for calls to the first API; and

invoking the first API with the test cases to validate functionality of the first API based on the group of assertions and the group of validations.

2. The system of claim 1 , wherein an assertion of the group of assertions specifies a mandatory parameter and an expected response for a first test case of the test cases.

3. The system of claim 1 , wherein the test cases comprise a first API call, and wherein a validation of the group of validations comprises a second API call that produces a result that confirms that a recipient of the first API call carried out the first API call.

4. The system of claim 1 , wherein a first test case of the test cases comprises a first API call that contains all mandatory parameters for the first API call.

5. The system of claim 1 , wherein a first test case of the test cases comprises a first API call that omits a mandatory parameter for the first API call.

6. The system of claim 1 , wherein a first test case of the test cases comprises a first API call that contains all optional parameters for the first API call.

7. The system of claim 1 , wherein a first test case of the test cases comprises a first API call that contains a parameter for the first API call, the parameter having a value of a maximum permissible value or a minimum permissible value for the parameter.

8. A method, comprising:

determining, by a system comprising a processor, a group of intra-dependencies within a first application programming interface (API);

determining, by the system, a group of inter-dependencies between the first API and a second API;

ascertaining, by the system, a group of assertions for the first API;

ascertaining, by the system, a group of validations for the first API;

generating, by the system, a defined number of test cases that invoke the first API based on the group of intra-dependencies, and the group of inter-dependencies; and

invoking, by the system, the first API with the test cases to verify functionality of the first API based on the group of assertions and the group of validations.

9. The method of claim 8 , further comprising:

determining, by the system, a specified output computer language for generating test cases; and

wherein the generating of the defined number of test cases comprises generating the defined number of test cases to adhere to a format of the specified output computer language.

10. The method of claim 8 , further comprising:

generating, by the system, a combination of key-value pairs for a payload of the defined number of test cases.

11. The method of claim 10 , further comprising:

generating the combination of key-value pairs non-deterministically.

12. The method of claim 10 , further comprising:

generating the combination of key-value pairs deterministically.

13. The method of claim 8 , further comprising:

determining that a first parameter specified in the group of assertions is non-processable as a result of a missing property; and

storing an indication of the first parameter as being non-processable, wherein the generating of the defined number of test cases is independent of the first parameter.

14. The method of claim 8 , wherein the generating of the defined number of test cases is based on a create, read, update, and delete function for a parameter, a payload, or a property of the group of assertions.

15. A non-transitory computer-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:

determining intra-dependencies within a first application programming interface (API);

determining inter-dependencies between the first API and a second API;

ascertaining assertions for the first API;

ascertaining validations for the first API;

generating a predetermined number of test cases that invoke the first API based on the intra-dependencies, the inter-dependencies; and

invoking the first API with the test cases to verify functionality of the first API based on the assertions and the validations.

16. The non-transitory computer-readable medium of claim 15 , wherein an assertion of the assertions defines a valid response to invoking the first API with a test case of the test cases, and wherein the assertion comprises a supported property or method of the first API.

17. The non-transitory computer-readable medium of claim 15 , wherein an assertion of the assertions defines a valid response to invoking the first API with a test case of the test cases, and wherein the assertion comprises a data type of the first API, or an attribute value length of the first API.

18. The non-transitory computer-readable medium of claim 15 , wherein an assertion of the assertions defines a valid response to invoking the first API with a test case of the test cases, and wherein the assertion comprises an attribute value range or an attribute value boundary of the first API.

19. The non-transitory computer-readable medium of claim 15 , wherein an assertion of the assertions defines a valid response to invoking the first API with a test case of the test cases, and wherein the assertion comprises a response code for a response type of the first API.

20. The non-transitory computer-readable medium of claim 15 , wherein an assertion of the assertions defines a valid response to invoking the first API with a test case of the test cases, and wherein the assertion comprises an attribute dependency of the first API.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2021
From: HK, NAGENDRA; GOKHALE, POORNIMA; BANGERA, ABHIJIT R.; CHAMARTHY, SRINIVASA RAJU
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056796/0086 →
Priority Claims (1)
IN 202111023709 · May 27, 2021 · national
Continuity (1)
Related Publication 20220382669A1 · Dec 1, 2022