Integration functionality for a test tool for application programming interfaces
First Claim
Patent Images
1. A method comprising:
- capturing a first call to an application programming interface (API) using a framework, the framework including an execution engine and an adapter, the execution engine being arranged to communicate with the adapter to cause the first API call to be executed, wherein the capturing the first call comprises;
making the first API call;
in a system, constructing an object using metadata associated with the first API call;
in the system, converting the object into a node, the node being of a declarative metadata format capable of being transformed into an object by the system;
storing the node in the system;
obtaining at least one outbound parameter, the at least one outbound parameter being arranged to result from the first API call; and
using the at least one outbound parameter as an inbound parameter to a second API call.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for enabling efficient testing of application programming interface (API) frameworks and application code are disclosed. According to one aspect of the present invention, a method for capturing a call to an API using a framework including an execution engine that communicate with an adapter to cause the API call to be executed involves making the API call and constructing an object using metadata associated with the API call. The constructed object is converted into a node that is of a declarative metadata format, and the node is stored.
29 Citations
35 Claims
-
1. A method comprising:
-
capturing a first call to an application programming interface (API) using a framework, the framework including an execution engine and an adapter, the execution engine being arranged to communicate with the adapter to cause the first API call to be executed, wherein the capturing the first call comprises; making the first API call; in a system, constructing an object using metadata associated with the first API call; in the system, converting the object into a node, the node being of a declarative metadata format capable of being transformed into an object by the system; storing the node in the system; obtaining at least one outbound parameter, the at least one outbound parameter being arranged to result from the first API call; and using the at least one outbound parameter as an inbound parameter to a second API call. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for capturing a call to an application programming interface (API), the system comprising:
-
a recording tool of a system, the recording tool being arranged to construct an object with metadata that is associated with the first API call, to discern data associated with a second API call which is to be used as an inbound parameter of the first API call; an execution engine, wherein the recording tool is arranged to pass the object to the execution engine; an adapter, wherein the execution engine is arranged to communicate with the adapter to cause the adapter to convert the object into a node, the node being of a declarative metadata format capable of being transformed into an object; and a repository, the repository being arranged to store the node, wherein the repository and the adapter reside in the system. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system for capturing a call to an application programming interface (API), the system comprising:
-
means for making the first API call; means for constructing an object using metadata associated with the first API call; means for converting the object into a node in a framework, the node being of a declarative metadata format capable of being transformed into an object by the framework; means for storing the node; means for accessing the node to access the first API call; and means for obtaining at least one outbound parameter, the at least one outbound parameter being arranged to result from the first API call. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A framework suitable for use to test an application programming interface (API), the framework comprising:
-
a metadata provider arrangement, the metadata provider arrangement being arranged to store declarative metadata; a metadata provider interface arranged to obtain the declarative metadata associated with a first test for the application programming interface from the declarative metadata provider; a first test adapter, the first test adapter being arranged to include logic used to convert the declarative metadata into an object, the first test adapter further being arranged to access remote information; a test interface, the test interface being arranged to cooperate with the first test adapter to construct the first test for the application programming interface, wherein the first test adapter is effectively interfaced with the test interface; an execution engine, the execution engine being arranged to communicate with the test interface to cause the first test to be executed on the application programming interface, wherein the first test on the application programming interface produces test results that are compared against expected test results; and a specification of a pipelined datum, the pipelined datum being arranged to be accessed by the first test as well as a second test, wherein the pipelined datum is one of an input to be read by the second test from an in-memory data structure and an output to be written by the first test into the in-memory data structure. - View Dependent Claims (19, 20, 21)
-
-
22. A method for running an application programming interface (API) test comprising:
-
determining an appropriate test adapter of a plurality of test adapters to use to obtain test data, the plurality of test adapters comprising an API test adapter, an SQL test adapter, and a declarative test adapter, each having a generic test adapter portion that defines at least one tag that is common to the plurality of test adapters and a custom test adapter portion that defines at least one tag that is not common to the plurality of test adapters, wherein the API test adapter enables at least one custom tag associated with an API test to be read and written, the SQL test adapter enables at least one custom tag associated with a SQL test to be read and written, and the declarative test adapter enables at least one custom tag associated with a declarative metadata test to be read and written; obtaining test data using the appropriate test adapter, the test data including declarative metadata capable of being transformed into an object; providing the test data to a test interface; executing a test associated with the test data on the application program interface using the test interface, wherein executing the test associated with the test data using the test interface comprises calling the appropriate test adapter to obtain testing logic for executing the test associated with the test data, the appropriate test adapter being in communication with the test interface, and the appropriate test adapter further being arranged to access at least one of an application and a database; and with a test application, executing the test on a first entity using the appropriate test adapter, wherein the test application is further arranged to specify at least a second entity to be tested and executing the test application causes a first output associated with testing the first entity to be stored in an in-memory data structure and causes the first output associated with testing the first entity to be obtained from the in-memory data structure as a first input associated with testing the second entity. - View Dependent Claims (23, 24)
-
-
25. A system suitable for use to test an application programming interface (API), the system comprising:
-
a framework arranged to perform a first API test by causing a test script associated with the first API test to be executed, the framework including a test interface and an execution engine, the execution engine being arranged to communicate with the test interface to cause the first API test to be executed, the test script including declarative metadata capable of being transformed into an object within the framework, the framework further including a rendering interface in communication with the execution engine and at least one renderer in communication with the rendering interface, the rendering interface being arranged to facilitate a transformation of information associated with the first API test, the at least one renderer being arranged to implement the rendering interface; an application, the application being arranged to communicate with the rendering interface through the at least one renderer; and a specification of a pipelined datum, the pipelined datum being arranged to be accessed by the first API test as well as a second API test, wherein the pipelined datum is one of an input to be read by the second API test from an in-memory data structure and an output to be written by the first API test into the in-memory data structure. - View Dependent Claims (26, 27, 28)
-
-
29. A method for interfacing an application with a framework, the framework being arranged to execute a first API call, the framework including an execution engine and at least one adapter, the execution engine being arranged to cause the at least one adapter to execute the first API call, the method comprising:
-
integrating the application with a rendering arrangement, the rendering arrangement being arranged to enable the application to communicate with the execution engine; and executing the first API call, wherein the first API call is specified a declarative metadata format capable of being transformed into an object within the framework and the first API call executes while the application communicates with the execution engine; and executing a second API call, wherein the executing the second API call causes a first output associated with the first API call to be stored in an in-memory data structure and causes the first output associated with the first API call to be obtained from the in-memory data structure as a first input associated with the second API call. - View Dependent Claims (30, 31, 32)
-
-
33. A framework with which an application is interfaced, the framework being arranged to execute a first API call the framework comprising:
-
means for integrating the application with the framework to enable the application to communicate with the execution engine; and means for executing the first API call, wherein the first API call is specified a declarative metadata format capable of being transformed into an object within the framework and the first API call executes while the application communicates with the execution engine; and means for executing a second API call, wherein the executing the second API call causes a first output associated with the first API call to be stored in an in-memory data structure and causes the first output associated with the first API call to be obtained from the in-memory data structure as a first input associated with the second API call. - View Dependent Claims (34)
-
-
35. A method for recording a first API test comprising:
-
embedding a first expression in an inbound parameter of a call associated with the first API test, the first expression being arranged to indicate that the inbound parameter of the call is to be obtained from a second API test, the inbound parameter of the call being an outbound parameter of the second API test, wherein the call is specified a declarative metadata format capable of being transformed into an object; recording the inbound parameter of the call; embedding a second expression in an outbound parameter of the call associated with the first API test, the second expression being arranged to indicate that the outbound parameter of the call is to be an input parameter to a subsequent API test; and recording the outbound parameter of the call.
-
Specification