From f5e73c9978f00db4d1896f8bca28339c2c2cbc30 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Thu, 16 Jan 2025 00:43:35 -0500 Subject: [PATCH] Port blocking_connection_tests --- tests/async_connection_tests.rs | 87 +++++++++++++++++++++++++++++++++ tests/test_helpers.rs | 5 ++ 2 files changed, 92 insertions(+) create mode 100644 tests/async_connection_tests.rs diff --git a/tests/async_connection_tests.rs b/tests/async_connection_tests.rs new file mode 100644 index 0000000..b264f26 --- /dev/null +++ b/tests/async_connection_tests.rs @@ -0,0 +1,87 @@ +use amqprs::connection::{Connection, OpenConnectionArguments}; +// Copyright (C) 2023-2025 RabbitMQ Core Team (teamrabbitmq@gmail.com) +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +use rabbitmq_http_client::api::Client; + +mod test_helpers; +use crate::test_helpers::{endpoint, hostname, PASSWORD, USERNAME}; + +#[tokio::test] +async fn test_async_list_connections() { + let endpoint = endpoint(); + let rc = Client::new(&endpoint, USERNAME, PASSWORD); + + let args = OpenConnectionArguments::new(&hostname(), 5672, USERNAME, PASSWORD); + let conn = Connection::open(&args).await.unwrap(); + assert!(conn.is_open()); + + let result1 = rc.list_connections().await; + assert!(result1.is_ok(), "list_connections returned {:?}", result1); + + conn.clone().close().await.unwrap(); +} + +#[tokio::test] +async fn test_async_list_user_connections() { + let endpoint = endpoint(); + let rc = Client::new(&endpoint, USERNAME, PASSWORD); + + let result1 = rc.list_user_connections(USERNAME).await; + assert!( + result1.is_ok(), + "list_user_connections returned {:?}", + result1 + ); +} + +#[tokio::test] +async fn test_async_list_virtual_host_connections() { + let endpoint = endpoint(); + let rc = Client::new(&endpoint, USERNAME, PASSWORD); + + let vh_name = "/"; + let result1 = rc.list_connections_in(vh_name).await; + assert!( + result1.is_ok(), + "list_connections_in returned {:?}", + result1 + ); +} + +#[tokio::test] +async fn test_async_list_stream_connections() { + let endpoint = endpoint(); + let rc = Client::new(&endpoint, USERNAME, PASSWORD); + + let result1 = rc.list_stream_connections().await; + assert!( + result1.is_ok(), + "list_stream_connections returned {:?}", + result1 + ); +} + +#[tokio::test] +async fn test_async_list_virtual_host_stream_connections() { + let endpoint = endpoint(); + let rc = Client::new(&endpoint, USERNAME, PASSWORD); + + let vh_name = "/"; + let result1 = rc.list_stream_connections_in(vh_name).await; + assert!( + result1.is_ok(), + "list_stream_connections returned {:?}", + result1 + ); +} diff --git a/tests/test_helpers.rs b/tests/test_helpers.rs index 7f87783..642e771 100644 --- a/tests/test_helpers.rs +++ b/tests/test_helpers.rs @@ -22,6 +22,11 @@ pub fn endpoint() -> String { ENDPOINT.to_owned() } +#[allow(dead_code)] +pub fn hostname() -> String { + "localhost".to_owned() +} + #[allow(dead_code)] pub fn await_metric_emission(ms: u64) { std::thread::sleep(Duration::from_millis(ms));