Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

384 new feature integrate asyncapi files #418

Open
wants to merge 67 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 62 commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
e75064f
Fixing the code
jemacineiras Jul 10, 2023
f64d6ff
Add Async Api GUI
jemacineiras Jul 10, 2023
6bec073
Fixing the code
jemacineiras Jul 10, 2023
44eea5f
Fixing the code
jemacineiras Jul 11, 2023
ce2315b
Add Async Api GUI
jemacineiras Jul 10, 2023
8b8e673
AsyncApi integration Skeleton
jemacineiras Jul 19, 2023
af0f2f4
AsyncApi integration Skeleton
jemacineiras Jul 26, 2023
f41b94d
Merge remote-tracking branch 'origin/384-new-feature-integrate-asynca…
jemacineiras Aug 21, 2023
901fe36
Merge branch 'master' into 384-new-feature-integrate-asyncapi-files
jemacineiras Aug 22, 2023
d2ec0c3
384 Support for reference Schemas
jemacineiras Aug 22, 2023
e7afd3a
340 Fix read schema file
jemacineiras Aug 22, 2023
b5fe862
340 Fix read schema file
jemacineiras Aug 23, 2023
e64d467
AsyncApi parser support
jemacineiras Sep 5, 2023
55dcb94
get The Parser un and Running
jemacineiras Sep 19, 2023
4f1ab29
#340 update dependencies
jemacineiras Sep 21, 2023
0e429ef
#332 Fix styles and pom version
jemacineiras Oct 4, 2023
a8de0fc
#332 Fix styles and pom version
jemacineiras Oct 4, 2023
82d1d4e
Add Async Api GUI
jemacineiras Oct 9, 2023
cf6eef3
Add Async Api GUI
jemacineiras Oct 9, 2023
92737c2
#332 Fix checkstyle issues
jemacineiras Oct 12, 2023
9650c36
#332 Fix checkstyle issues
jemacineiras Oct 12, 2023
733f6e4
#332 Fix checkstyle issues
jemacineiras Oct 12, 2023
f46699f
#332 Fix checkstyle issues
jemacineiras Oct 12, 2023
35d07da
#332 Fix checkstyle issues
jemacineiras Oct 14, 2023
a29c662
#332 Fix checkstyle issues
jemacineiras Oct 16, 2023
7549d3a
#332 Fix checkstyle issues
jemacineiras Oct 16, 2023
09acc9c
#332 Fix checkstyle issues
jemacineiras Oct 16, 2023
e78d570
#332 Fix checkstyle issues
jemacineiras Oct 19, 2023
1b58369
#384 Add documentation
jemacineiras Oct 25, 2023
1a3e419
Merge branch 'master' into 384-new-feature-integrate-asyncapi-files
jemacineiras Oct 25, 2023
fd6b1e3
#384 Add documentation
jemacineiras Oct 25, 2023
ed43cef
Fix AvroSchema cast
GraciMndzSNG Oct 27, 2023
d0e48dc
Merge branch 'master' into 384-new-feature-integrate-asyncapi-files
jemacineiras Nov 15, 2023
55863cb
#384 merge
jemacineiras Nov 16, 2023
ad65f0d
#384 Fix schema key generation issues
jemacineiras Nov 16, 2023
ba1d97e
Fix event-api.yml and fix empty fields validation
GraciMndzSNG Nov 17, 2023
565322e
Merge branch '384-new-feature-integrate-asyncapi-files' of https://gi…
GraciMndzSNG Nov 17, 2023
b2e5770
Fix all non-requiered and empty fields issues
GraciMndzSNG Nov 17, 2023
3ac589f
#384 Fix schema key generation issues
jemacineiras Nov 20, 2023
162823f
#384 Codacy issues
jemacineiras Nov 20, 2023
f5a3d52
#384 Codacy issues
jemacineiras Nov 20, 2023
adf99bc
#384 Codacy issues
jemacineiras Nov 20, 2023
5a86cfe
Fix some checkstyle issues
GraciMndzSNG Nov 20, 2023
167188e
Fix some checkstyle issues
GraciMndzSNG Nov 20, 2023
3f75a44
Fix Codacy issues and some warnings
GraciMndzSNG Nov 20, 2023
ab70449
AsyncApiextractorImplTest completed
GraciMndzSNG Nov 24, 2023
336ce4c
Fix Codacy issues
GraciMndzSNG Nov 24, 2023
35bdb28
Fix Codacy issues
GraciMndzSNG Nov 24, 2023
43317a5
AsyncApiextractorImplTest completed
GraciMndzSNG Nov 24, 2023
620f676
Fix Codacy issues
GraciMndzSNG Nov 24, 2023
510cecf
Merge branch 'master' into 384-new-feature-integrate-asyncapi-files
jemacineiras Nov 24, 2023
5413095
Merge remote-tracking branch 'origin/384-new-feature-integrate-asynca…
jemacineiras Nov 24, 2023
06d0dde
#384 fix style codacy
jemacineiras Nov 24, 2023
55bd5ca
Test AsyncApiSampler
GraciMndzSNG Nov 27, 2023
0a74291
AsyncApiSamplerTest issue
Nov 27, 2023
1f79027
"Changes"
Nov 27, 2023
6226e34
"Fix AsyncApiSamplerTest issues"
Nov 27, 2023
f1bf5ec
"Fix Codacy and Extractor issues"
Nov 27, 2023
3754b7c
#384 Refactor Extractor. Fix some Codacy issues
jemacineiras Nov 27, 2023
82baa76
#384 Fix Codacy issues. Add license on files
jemacineiras Nov 27, 2023
e12d7a5
"Change AsyncApiSamplerTest"
Dec 1, 2023
c2cb2b2
#384 Update POM. Update Documentation.
jemacineiras Dec 18, 2023
4c9d1ed
#384 Update POM. Update Documentation.
jemacineiras Dec 19, 2023
3273838
#384 Update POM. Update Documentation.
jemacineiras Jan 8, 2024
077e60f
#384 fix styles
jemacineiras Jan 22, 2024
1c5e5e9
#384 fix styles
jemacineiras Jan 22, 2024
2160a8d
#332 Merge with master
jemacineiras Feb 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Example-Test-Plan.jmx
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<stringProp name="LoopController.loops">1</stringProp>
<stringProp name="LoopController.loops">1000</stringProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">1</stringProp>
<stringProp name="ThreadGroup.ramp_time">1</stringProp>
<stringProp name="ThreadGroup.num_threads">1000</stringProp>
<stringProp name="ThreadGroup.ramp_time">10</stringProp>
<boolProp name="ThreadGroup.scheduler">false</boolProp>
<stringProp name="ThreadGroup.duration"></stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
Expand Down Expand Up @@ -376,7 +376,7 @@
<boolProp name="ancestorRequired">false</boolProp>
</elementProp>
<elementProp name="" elementType="com.sngular.kloadgen.model.FieldValueMapping">
<stringProp name="fieldName">customer_account.billing_party.party_contact[].contact_id</stringProp>
<stringProp name="fieldName">customer_account.billing_party.party_contact[4].contact_id</stringProp>
<intProp name="valueLength">0</intProp>
<stringProp name="fieldType">int</stringProp>
<stringProp name="fieldValuesList"></stringProp>
Expand All @@ -387,7 +387,7 @@
<stringProp name="fieldName">customer_account.billing_party.party_contact[].contact_name</stringProp>
<intProp name="valueLength">0</intProp>
<stringProp name="fieldType">string</stringProp>
<stringProp name="fieldValuesList"></stringProp>
<stringProp name="fieldValuesList">Juan, Pedro, tomas, brais, jose, Adrian</stringProp>
<boolProp name="required">true</boolProp>
<boolProp name="ancestorRequired">false</boolProp>
</elementProp>
Expand All @@ -408,7 +408,7 @@
<boolProp name="ancestorRequired">false</boolProp>
</elementProp>
<elementProp name="" elementType="com.sngular.kloadgen.model.FieldValueMapping">
<stringProp name="fieldName">details.in_details.customs_details.party.party_contact[].contact_id</stringProp>
<stringProp name="fieldName">details.in_details.customs_details.party.party_contact[6].contact_id</stringProp>
<intProp name="valueLength">0</intProp>
<stringProp name="fieldType">int</stringProp>
<stringProp name="fieldValuesList"></stringProp>
Expand All @@ -424,10 +424,10 @@
<boolProp name="ancestorRequired">false</boolProp>
</elementProp>
<elementProp name="" elementType="com.sngular.kloadgen.model.FieldValueMapping">
<stringProp name="fieldName">details.in_details.customs_details.party.p_contact[].contact_id</stringProp>
<stringProp name="fieldName">details.in_details.customs_details.party.p_contact[2].contact_id</stringProp>
<intProp name="valueLength">0</intProp>
<stringProp name="fieldType">int</stringProp>
<stringProp name="fieldValuesList"></stringProp>
<stringProp name="fieldType">seq</stringProp>
<stringProp name="fieldValuesList">2000</stringProp>
<boolProp name="required">true</boolProp>
<boolProp name="ancestorRequired">false</boolProp>
</elementProp>
Expand Down
1 change: 1 addition & 0 deletions docs/_Sidebar.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
- [Consumer configuration](consumer-configuration.md)
- [Schemas](schemas.md)
- [Schema Registry](schema-registry.md)
- [Asyncapi support](asyncapi.md)

# Knowledge center
- [How to run a test plan](how-to-run.md)
Expand Down
22 changes: 22 additions & 0 deletions docs/asyncapi.md
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe Include a comment about we currently support the 2.X.X version of AsyncAPI, since they will release the 3.0.0 and in theory they will give a tool to update the yml files into the new standard without any effort.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Asyncapi Support

Here you can find the way to use your asyncapi.yml definition (v. 2.X.X) to produce a performance load test.
The only requirement is to use the AsyncApi Sampler component. There you can load the asyncapi file into the plugin.

![AsyncApi Component](images/AsyncapiComponent.png)

Once the file is loaded, information will appear in the elements below.
First tab you can see the broker configuration where you can choose to which broker you want to connect to.

![Broker Selection](images/AsyncApiComponent-ComboBroker.png)

Once the broker has been choose the data will be loaded. By default the first server configuration will be selected

![Development Broker](images/AsyncApiComponent-FileLoaded.png)

In order to choose which payload you want to use for the test just move to the second tab and use the combo to select which topic you want to use.
As for in AsyncApi specification channel/topic contains the payload will be transmitted.

![Payload configuration](images/AsyncApiComponent-SchemaLoaded.png)

Data generation use the same engine that the rest of the samplers so information from [schemas page](schemas.md) apply.
6 changes: 2 additions & 4 deletions docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@ Now that you know what KLoadGen is and that you are familiar with its components

You will need these tools to start using the plugin:

- JDK/JRE 11+
- (17 recommended)
- JMeter 5.4+
- (5.6.2 recommended)
- JDK/JRE 17+
- JMeter 5.6.2+
- Maven

## Quickstart
Expand Down
Binary file added docs/images/AsyncApiComponent-ComboBroker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/AsyncApiComponent-FileLoaded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/AsyncApiComponent-SchemaLoaded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/AsyncapiComponent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
57 changes: 43 additions & 14 deletions pom-maven-central.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<artifactId>kloadgen</artifactId>

<version>5.6.10</version>
<version>5.7.0</version>

<name>KLoadGen</name>
<description>Load Generation Jmeter plugin for Kafka Cluster. Supporting AVRO, JSON Schema and Protobuf schema types. Generate Artificial
Expand Down Expand Up @@ -225,24 +225,24 @@
<timezone>Europe/Madrid</timezone>
</developer>
<developer>
<id>nuriaricorf</id>
<name>Nuria Rico Freire</name>
<email>nuria.rico@sngular.com</email>
<id>rabad-sng</id>
<name>Raúl Abad</name>
<email>raul.abad@sngular.com</email>
<organization>Sngular</organization>
<organizationUrl>https://sngular.github.io/</organizationUrl>
<organizationUrl>https://www.sngular.com</organizationUrl>
<roles>
<role>Junior Developer</role>
<role>Senior Backend Developer</role>
</roles>
<timezone>Europe/Madrid</timezone>
</developer>
<developer>
<id>rabad-sng</id>
<name>Raúl Abad</name>
<email>raul.abad@sngular.com</email>
<id>nuriaricorf</id>
<name>Nuria Rico Freire</name>
<email>nuria.rico@sngular.com</email>
<organization>Sngular</organization>
<organizationUrl>https://www.sngular.com</organizationUrl>
<organizationUrl>https://sngular.github.io/</organizationUrl>
<roles>
<role>Senior Backend Developer</role>
<role>Junior Developer</role>
</roles>
<timezone>Europe/Madrid</timezone>
</developer>
Expand Down Expand Up @@ -306,6 +306,27 @@
<name>Roberto Riveira Veiga</name>
<email>[email protected]</email>
<organization>Sngular</organization>
<organizationUrl>https://www.sngular.com</organizationUrl>
<roles>
<role>Trainee Backend Developer</role>
</roles>
</developer>
<developer>
<id>GraciMndzSNG</id>
<name>Graciela Méndez Olmos</name>
<email>[email protected]</email>
<organization>Sngular</organization>
<organizationUrl>https://sngular.github.io/</organizationUrl>
<roles>
<role>Backend Developer</role>
</roles>
<timezone>Europe/Madrid</timezone>
</developer>
<developer>
<id>pablorodriguez-sngular</id>
<name>Pablo Rodríguez Pérez</name>
<email>[email protected]</email>
<organization>Sngular</organization>
<organizationUrl>https://sngular.github.io/</organizationUrl>
<roles>
<role>Backend Developer</role>
Expand Down Expand Up @@ -335,7 +356,7 @@
<assertj-core.version>3.24.2</assertj-core.version>
<assertj-json.version>1.2.0</assertj-json.version>
<jsonassert.version>1.5.1</jsonassert.version>
<avro.version>1.11.2</avro.version>
<avro.version>1.11.3</avro.version>
<commons-beanutils.version>1.9.4</commons-beanutils.version>
<commons-collections4.version>4.4</commons-collections4.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
Expand All @@ -358,6 +379,8 @@
<slf4j-api.version>2.0.0-alpha1</slf4j-api.version>
<wiremock-junit5.version>1.3.1</wiremock-junit5.version>
<wiremock.version>2.35.1</wiremock.version>
<jackson-annotations.version>2.15.2</jackson-annotations.version>
<jackson-dataformat-yaml.version>2.15.3</jackson-dataformat-yaml.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -395,19 +418,24 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.15.2</version>
<version>${jackson-annotations.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.15.2</version>
<version>${jackson-annotations.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${jackson-dataformat-yaml.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
Expand Down Expand Up @@ -686,6 +714,7 @@
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<linkXRef>false</linkXRef>
Expand Down
45 changes: 26 additions & 19 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

<artifactId>kloadgen</artifactId>

<version>5.6.11</version>
<version>5.7.0</version>

<name>KLoadGen</name>
<description>Load Generation Jmeter plugin for Kafka Cluster. Supporting AVRO, JSON Schema and Protobuf schema types. Generate Artificial
Expand All @@ -20,7 +20,7 @@
<name>Mozilla Public License 2.0</name>
<url>https://github.com/sngular/kloadgen/blob/master/LICENSE</url>
<distribution>repo</distribution>
<comments></comments>
<comments/>
</license>
</licenses>

Expand Down Expand Up @@ -225,24 +225,24 @@
<timezone>Europe/Madrid</timezone>
</developer>
<developer>
<id>nuriaricorf</id>
<name>Nuria Rico Freire</name>
<email>nuria.rico@sngular.com</email>
<id>rabad-sng</id>
<name>Raúl Abad</name>
<email>raul.abad@sngular.com</email>
<organization>Sngular</organization>
<organizationUrl>https://sngular.github.io/</organizationUrl>
<organizationUrl>https://www.sngular.com</organizationUrl>
<roles>
<role>Junior Developer</role>
<role>Senior Backend Developer</role>
</roles>
<timezone>Europe/Madrid</timezone>
</developer>
<developer>
<id>rabad-sng</id>
<name>Raúl Abad</name>
<email>raul.abad@sngular.com</email>
<id>nuriaricorf</id>
<name>Nuria Rico Freire</name>
<email>nuria.rico@sngular.com</email>
<organization>Sngular</organization>
<organizationUrl>https://www.sngular.com</organizationUrl>
<organizationUrl>https://sngular.github.io/</organizationUrl>
<roles>
<role>Senior Backend Developer</role>
<role>Junior Developer</role>
</roles>
<timezone>Europe/Madrid</timezone>
</developer>
Expand Down Expand Up @@ -379,6 +379,8 @@
<slf4j-api.version>2.0.0-alpha1</slf4j-api.version>
<wiremock-junit5.version>1.3.1</wiremock-junit5.version>
<wiremock.version>2.35.1</wiremock.version>
<jackson-annotations.version>2.15.2</jackson-annotations.version>
<jackson-dataformat-yaml.version>2.15.3</jackson-dataformat-yaml.version>
</properties>

<dependencies>
Expand Down Expand Up @@ -416,19 +418,24 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.15.2</version>
<version>${jackson-annotations.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.15.2</version>
<version>${jackson-annotations.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>${jackson-dataformat-yaml.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
Expand Down Expand Up @@ -690,7 +697,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<version>3.3.0</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
Expand Down Expand Up @@ -725,7 +732,7 @@
<plugin>
<groupId>com.github.ekryd.sortpom</groupId>
<artifactId>sortpom-maven-plugin</artifactId>
<version>3.0.0</version>
<version>3.3.0</version>
<executions>
<execution>
<goals>
Expand All @@ -738,7 +745,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<version>3.9.0</version>
<configuration>
<optimize>true</optimize>
<showDeprecation>true</showDeprecation>
Expand All @@ -757,7 +764,7 @@
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.7</version>
<configuration>
<check></check>
<check/>
<formats>
<format>xml</format>
</formats>
Expand Down Expand Up @@ -828,7 +835,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version>
<version>3.3.0</version>
<configuration>
<filters>
<filter>
Expand Down
Loading
Loading