IP Library Granted Patent US 11,947,435
Granted Patent B2
US 11,947,435 · App. 17/876,946 · Granted Apr 2, 2024

Method and device for testing microservice-based computing platforms

Inventors: Vincent Boulineau (Antibes, FR); Nicolas Isch (Villeneuve-Loubet, FR); Serge Beuzit (Mouans Sartoux, FR)
Assignee: Amadeus S.A.S.
G06F11/263G06F9/546
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,947,435
App. No.
17/876,946
Granted
Apr 2, 2024
Kind
B2
Abstract

A computer-implemented method for testing a functionality of a computing platform, the computing platform comprising a first microservice, the method comprising: receiving, by an injector microservice, a test configuration file; determining from the test configuration file: a test input message; a test input communication mechanism; and a test output communication mechanism. The method further comprises: generating a test identifier for identifying that a message is being used for testing purposes; transmitting, by the injector microservice, the test input message to the first microservice using the test input communication mechanism, wherein the test input message comprises the test identifier; identifying, by the injector microservice, an output message transmitted via the test output communication mechanism that comprises the test identifier; and recording, by the injector microservice, the output message comprising the test identifier.

Claims (74)

1. A computer-implemented method for testing a functionality of a microservice-based computing platform, the computing platform comprising a first microservice and an injector microservice, the method comprising:

receiving, by the injector microservice, a test configuration file from a test client;

determining from the test configuration file:

a test input message;

a test input communication mechanism; and

a test output communication mechanism;

generating a test identifier for identifying that a message is being used for testing purposes;

transmitting, by the injector microservice, the test input message to the first microservice using the test input communication mechanism, wherein the test input message comprises the test identifier;

identifying, by the injector microservice, an output message transmitted via the test output communication mechanism, wherein the output message comprises the test identifier;

recording, by the injector microservice, the output message comprising the test identifier; and

reporting a test output to the test client, wherein the test output comprises the recorded output message.

2. The computer-implemented method of claim 1 wherein the test input communication mechanism is a first data stream, and transmitting, by the injector microservice, the test input message comprises:

generating a first data record comprising the test input message; and

publishing the first data record to the first data stream.

3. The computer-implemented method of claim 2 wherein the test output communication mechanism is a second data stream, the test identifier comprises a correlation identification value, and identifying, by the injector microservice, the output message transmitted via the test output communication mechanism comprises:

subscribing to the second data stream; and

identifying a second data record published to the second data stream comprising the correlation identification value.

4. The computer-implemented method of claim 2 wherein the test configuration file further comprises a first limit associated with a predetermined threshold, and identifying the output message transmitted via the test output communication mechanism comprises:

identifying a number of output messages transmitted via the test output communication mechanism,

wherein the number of output messages is greater than or equal to one.

5. The computer-implemented method of claim 4 further comprising:

determining, by the injector microservice, that the number of output messages equals the predetermined threshold; and

in response to determining that the number of output messages equals the predetermined threshold, transmitting, by the injector microservice, information recorded by the injector microservice.

6. The computer-implemented method of claim 1 wherein the computing platform comprises a second microservice, and further comprising:

receiving, from the second microservice, a first message to be transmitted via the test output communication mechanism, wherein the first message is intended for a destination.

7. The computer-implemented method of claim 6 wherein the first message is the output message, and identifying the output message transmitted via the test output communication mechanism comprises:

receiving, by the injector microservice, the first message.

8. The computer-implemented method of claim 6 further comprising:

determining, by the injector microservice, that the test configuration file does not comprise a mock reply associated with the destination; and

transmitting, by the injector microservice, the first message to the destination in response to determining that the injector microservice does not comprise the mock reply associated with the destination.

9. The computer-implemented method of claim 8 further comprising:

determining, by the injector microservice, that the test configuration file comprises the mock reply associated with the destination; and

transmitting the mock reply to the second microservice in response to determining that the test configuration file comprises the mock reply associated with the destination.

10. The computer-implemented method of claim 8 further comprising:

receiving, by the injector microservice, a response message, wherein the response message is transmitted by the destination in response to receiving the first message; and

transmitting, by the injector microservice to the second microservice, the response message, in response to receiving the response message transmitted by the destination.

11. The computer-implemented method of claim 6 wherein the test output communication mechanism is HTTP, the first message to be transmitted by the test output communication mechanism is a HTTP message, and the test identifier is a flag in a header of a HTTP message.

12. The computer-implemented method of claim 1 , wherein the test configuration file further comprises information identifying a criteria for recording messages, the computing platform comprises a second microservice, and further comprising:

receiving, from the second microservice, a request for the information identifying the criteria for recording messages in response to determining that a first message that is to be transmitted by the second microservice and is intended for a destination;

transmitting, by the injector microservice, to the second microservice, a second message comprising the information identifying the criteria for recording messages;

receiving, by the second microservice, the second message;

determining, by the second microservice, that the first message satisfies the criteria for recording messages; and

in response to determining that the first message satisfies the criteria, recording, by the second microservice, information associated with the first message.

13. An apparatus for testing a functionality of a microservice-based computing platform, the computing platform comprises a first microservice, and the apparatus comprising:

an injector microservice, the injector microservice configured to:

receive a test configuration file from a test client;

determine from the test configuration file:

a test input message;

a test input communication mechanism; and

a test output communication mechanism;

generate a test identifier for identifying that a message is being used for testing purposes;

transmit the test input message to the first microservice using the test input communication mechanism, wherein the test input message comprises the test identifier;

identify an output message transmitted via the test output communication mechanism, wherein the output message comprises the test identifier;

record the output message comprising the test identifier; and

report a test output to the test client, wherein the test output comprises the recorded output message.

14. The apparatus of claim 13 wherein the test output communication mechanism is a data stream, the test identifier comprises a correlation identification value, and the injector microservice is further configured to:

subscribe to the data stream; and

identify a second data record published to the data stream comprising the correlation identification value, when identifying the output message transmitted via the test output communication mechanism.

15. The apparatus of claim 14 wherein the injector microservice is further configured to: receive a second message from a second microservice, wherein the second message is intended for a destination.

16. The apparatus of claim 15 wherein the injector microservice is further configured to:

receive a response message, wherein the response message is transmitted by the destination in response to receiving the second message; and

in response to receiving the response message, transmit the response message to the second microservice.

17. A computer program product comprising:

a non-transitory computer-readable storage medium including program code instructions for testing a functionality of a microservice-based computing platform, wherein the program code instructions comprise:

receive a test configuration file from a test client;

determine from the test configuration file:

a test input message;

a test input communication mechanism; and

a test output communication mechanism;

generate a test identifier for identifying that a message is being used for testing purposes;

transmit the test input message to a microservice of the computing platform using the test input communication mechanism, wherein the test input message comprises the test identifier;

identify an output message transmitted via the test output communication mechanism, wherein the output message comprises the test identifier;

record the output message comprising the test identifier; and

report a test output to the test client, wherein the test output comprises the recorded output message.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2022
From: BOULINEAU, VINCENT; ISCH, NICOLAS; BEUZIT, SERGE
To: AMADEUS S.A.S.
Reel/Frame 061626/0940 →
Priority Claims (1)
EP 21306121 · Aug 16, 2021 · regional
Continuity (1)
Related Publication 20230054780A1 · Feb 23, 2023
Cited By (24)
US 12,197,859 US 12,198,030 US 12,204,323 US 12,292,811 US 12,299,140 US 12,321,862 US 12,346,820 US 12,361,334 US 12,361,335 US 12,367,292 US 12,443,894 US 12,450,494 US 12,505,291 US 12,505,352 US 12,517,724 US 12,524,508 US 12,596,738 US 12,596,813 US 12,602,418 US 12,602,624 US 12,608,486 US 12,681,830 US 12,694,343 US 12,725,095