diff --git a/pom.xml b/pom.xml
index 6669c8f8185..7f3fde37808 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1206,6 +1206,7 @@
samples/client/petstore/c
samples/client/petstore/cpp-qt5
samples/client/petstore/rust
+ samples/client/petstore/rust/reqwest/petstore
samples/client/petstore/php/OpenAPIClient-php
samples/openapi3/client/petstore/php/OpenAPIClient-php
diff --git a/samples/client/petstore/rust/reqwest/petstore/pom.xml b/samples/client/petstore/rust/reqwest/petstore/pom.xml
new file mode 100644
index 00000000000..0a4e79b04b2
--- /dev/null
+++ b/samples/client/petstore/rust/reqwest/petstore/pom.xml
@@ -0,0 +1,46 @@
+
+ 4.0.0
+ org.openapitools
+ RustReqwestClientTests
+ pom
+ 1.0-SNAPSHOT
+ Rust Reqwest Petstore Client
+
+
+
+ maven-dependency-plugin
+
+
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}
+
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.2.1
+
+
+ bundle-test
+ integration-test
+
+ exec
+
+
+ cargo
+
+ test
+
+
+
+
+
+
+
+
diff --git a/samples/client/petstore/rust/reqwest/petstore/tests/pet_tests.rs b/samples/client/petstore/rust/reqwest/petstore/tests/pet_tests.rs
new file mode 100644
index 00000000000..61d26eae449
--- /dev/null
+++ b/samples/client/petstore/rust/reqwest/petstore/tests/pet_tests.rs
@@ -0,0 +1,34 @@
+extern crate petstore_reqwest;
+use petstore_reqwest::apis::PetApi;
+use petstore_reqwest::apis::PetApiClient;
+use petstore_reqwest::apis::configuration;
+//use petstore_reqwest::apis::PetApiUpdatePetWithFormParams;
+use petstore_reqwest::models::{Pet};
+use std::option::Option;
+use std::rc::Rc;
+
+#[test]
+fn test_pet() {
+ let config = configuration::Configuration::new();
+ let pet_api_client = PetApiClient::new(Rc::new(config));
+
+ // create pet object
+ let photo_urls = vec!["https://11".to_string(), "https://22".to_string()];
+ let mut new_pet = Pet::new("Rust Pet".to_string(), photo_urls);
+ new_pet.id = Option::Some(8787);
+
+ // add pet
+ let _add_result = pet_api_client.add_pet(new_pet);
+
+ // get pet
+ let pet_result = pet_api_client.get_pet_by_id(8787);
+
+ let _pet_result = match pet_result {
+ Ok(pet) => {
+ assert_eq!(pet.id, Option::Some(8787));
+ assert_eq!(pet.name, "Rust Pet");
+ assert_eq!(pet.photo_urls, vec!["https://11".to_string(), "https://22".to_string()]);
+ },
+ Err(error) => println!("error: {:?}", error),
+ };
+}