IP Library Granted Patent US 12,001,323
Granted Patent B2
US 12,001,323 · App. 17/587,009 · Granted Jun 4, 2024

Test recorder for API unit testing

Inventors: Sanjna Verma (San Francisco, CA); Matias Pentreath (Buenos Aires, AR); Leandro Emmanuel Reina Kiperman (Buenos Aires, AR); Julian Pascual (Buenos Aires, AR); Fernando Thea (Buenos Aires, AR); Facundo Ezequiel Poblete (Buenos Aires, AR); Diego Martin Strubolini (San Diego, CA); Pablo Damian La Greca (Buenos Aires, AR)
Assignee: salesforce.com, inc.
G06F11/3684G06F11/3688
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 12,001,323
App. No.
17/587,009
Granted
Jun 4, 2024
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for generating a unit test for an API or integration of an application by recording a flow of an input through a plurality of message processors of the application. A developer can then view an outline of the recorded flow in a menu, from which the developer can select an individual processor within the recorded flow. By selecting an individual processor, options particular to that processor can be presented to the developer to allow them to control behaviors of the unit test or to validate results.

Claims (47)

1. A method, comprising:

executing, by one or more computing devices, an application under test;

calling, by the one or more computing devices, the application under test with a desired input;

recording, by the one or more computing devices, a flow of the desired input through a plurality of processors of the application under test, wherein one or more processors of the plurality of processors are individually selectable in an outline for the flow;

configuring, by the one or more computing devices, an action for a processor of the plurality of processors associated with the flow; and

generating, by the one or more computing devices, a unit test for the application under test based on the flow and the configured action.

2. The method of claim 1 , further comprising:

presenting, by the one or more computing devices, the flow as the outline of the plurality of processors of the application under test.

3. The method of claim 2 , wherein each processor of the plurality of processors is selectable in the outline, further comprising:

presenting, by the one or more computing devices, a configuration option corresponding to the processor of the plurality of processors based on the processor of the plurality of processors being selected in the outline, wherein the configuration option specifies the configured action.

4. The method of claim 1 , wherein the action comprises an assertion on a message payload.

5. The method of claim 1 , wherein the action comprises a verification that the processor of the plurality of processors was called a specified number of times.

6. The method of claim 1 , wherein the action comprises spying a payload of the processor of the plurality of processors.

7. The method of claim 1 , further comprising:

recording, by the one or more computing devices, an additional flow of an additional desired input through an additional plurality of processors of the application under test; and

presenting, by the one or more computing devices, the flow and the additional flow together as outlines of the plurality of processors and the additional plurality of processors of the application under test.

8. A system, comprising:

a memory configured to store operations; and

one or more processors configured to perform the operations, the operations comprising:

executing an application under test,

calling the application under test with a desired input,

recording a flow of the desired input through a plurality of processors of the application under test, wherein one or more processors of the plurality of processors are individually selectable in an outline for the flow,

configuring an action for a processor of the plurality of processors associated with the flow, and

generating a unit test for the application under test based on the flow and the configured action.

9. The system of claim 8 , further comprising:

presenting the flow as the outline of the plurality of processors of the application under test.

10. The system of claim 9 , wherein each processor of the plurality of processors is selectable in the outline, further comprising:

presenting a configuration option corresponding to the processor of the plurality of processors based on the processor of the plurality of processors being selected in the outline, wherein the configuration option specifies the configured action.

11. The system of claim 8 , wherein the action comprises an assertion on a message payload.

12. The system of claim 8 , wherein the action comprises a verification that the processor of the plurality of processors was called a specified number of times.

13. The system of claim 8 , wherein the action comprises spying a payload of the processor of the plurality of processors.

14. The system of claim 8 , further comprising:

recording an additional flow of an additional desired input through an additional plurality of processors of the application under test; and

presenting the flow and the additional flow together as outlines of the plurality of processors and the additional plurality of processors of the application under test.

15. A non-transitory, computer-readable storage medium having instructions stored thereon, execution of which, by one or more processing devices, causes the one or more processing devices to perform operations comprising:

executing an application under test;

calling the application under test with a desired input;

recording a flow of the desired input through a plurality of processors of the application under test, wherein one or more processors of the plurality of processors are individually selectable in an outline for the flow;

configuring an action for a processor of the plurality of processors associated with the flow; and

generating a unit test for the application under test based on the flow and the configured action.

16. The non-transitory, computer-readable storage medium of claim 15 , the operations further comprising:

presenting the flow as the outline of the plurality of processors of the application under test.

17. The non-transitory, computer-readable storage medium of claim 16 , wherein each processor of the plurality of processors is selectable in the outline, the operations further comprising:

presenting a configuration option corresponding to the processor of the plurality of processors based on the processor of the plurality of processors being selected in the outline, wherein the configuration option specifies the configured action.

18. The non-transitory, computer-readable storage medium of claim 15 , wherein the action comprises an assertion on a message payload.

19. The non-transitory, computer-readable storage medium of claim 15 , wherein the action comprises a verification that the processor of the plurality of processors was called a specified number of times.

20. The non-transitory, computer-readable storage medium of claim 15 , wherein the action comprises spying a payload of the processor of the plurality of processors.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0571 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2024
From: STRUBOLINI, DIEGO MARTIN; POBLETE, FACUNDO EZEQUIEL; PASCUAL, JULIAN; LA GRECA, PABLO DAMIAN; VERMA, SANJNA; PENTREATH, MATIAS; KIPERMAN, LEANDRO EMMANUEL REINA; THEA, FERNANDO
To: SALESFORCE.COM, INC.
Reel/Frame 066329/0978 →
Continuity (2)
Provisional Application 63164313 · Mar 22, 2021
Related Publication 20220300402A1 · Sep 22, 2022