Skip to content

Commit 840e829

Browse files
committed
fix: Removing unused code
1 parent 425bda3 commit 840e829

File tree

7 files changed

+6
-347
lines changed

7 files changed

+6
-347
lines changed

tests/integration.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
mod integration {
88
mod authorization;
99
pub mod common;
10-
mod logging;
1110
mod networks;
1211

1312
// Initialize logging before any tests run

tests/integration/common/client.rs

Lines changed: 3 additions & 186 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,10 @@
44
//! This client handles authentication, request/response serialization, and basic error handling.
55
66
use eyre::{Context, Result};
7-
use openzeppelin_relayer::models::{
8-
relayer::{CreateRelayerRequest, RelayerResponse},
9-
ApiResponse,
10-
};
7+
use openzeppelin_relayer::models::{relayer::RelayerResponse, ApiResponse};
118
use reqwest::Client as HttpClient;
129
use serde::{Deserialize, Serialize};
1310
use std::env;
14-
use tracing::{debug, error, info};
15-
use uuid::Uuid;
1611

1712
/// HTTP client for OpenZeppelin Relayer API
1813
#[derive(Debug)]
@@ -22,20 +17,6 @@ pub struct RelayerClient {
2217
client: HttpClient,
2318
}
2419

25-
/// Generates a deterministic relayer ID from network and signer using UUID v5
26-
///
27-
/// Uses UUID v5 with OID namespace to generate a deterministic UUID from
28-
/// the network and signer_id combination. This ensures:
29-
/// - Same network+signer always generates the same UUID (deterministic)
30-
/// - ID is exactly 36 characters (meets validation requirement)
31-
/// - Different network+signer combinations generate different UUIDs
32-
///
33-
/// Format: UUID v5 based on "{network}:{signer_id}"
34-
fn generate_relayer_id(network: &str, signer_id: &str) -> String {
35-
let name = format!("{}:{}", network, signer_id);
36-
Uuid::new_v5(&Uuid::NAMESPACE_OID, name.as_bytes()).to_string()
37-
}
38-
3920
impl RelayerClient {
4021
/// Creates a new RelayerClient from environment variables
4122
///
@@ -59,78 +40,6 @@ impl RelayerClient {
5940
})
6041
}
6142

62-
/// Checks the health of the relayer service
63-
///
64-
/// GET /api/v1/health
65-
pub async fn health(&self) -> Result<HealthResponse> {
66-
let url = format!("{}/api/v1/health", self.base_url);
67-
68-
let response = self
69-
.client
70-
.get(&url)
71-
.header("Authorization", format!("Bearer {}", self.api_key))
72-
.send()
73-
.await
74-
.wrap_err_with(|| format!("Failed to send request to {}", url))?;
75-
76-
let status = response.status();
77-
let body = response
78-
.text()
79-
.await
80-
.wrap_err("Failed to read response body")?;
81-
82-
if !status.is_success() {
83-
return Err(eyre::eyre!(
84-
"Health check failed with status {}: {}",
85-
status,
86-
body
87-
));
88-
}
89-
90-
// Health endpoint returns plain text "OK"
91-
Ok(HealthResponse {
92-
status: body.trim().to_lowercase(),
93-
})
94-
}
95-
96-
/// Creates a new relayer
97-
///
98-
/// POST /api/v1/relayers
99-
pub async fn create_relayer(&self, request: CreateRelayerRequest) -> Result<RelayerResponse> {
100-
let url = format!("{}/api/v1/relayers", self.base_url);
101-
102-
let response = self
103-
.client
104-
.post(&url)
105-
.header("Authorization", format!("Bearer {}", self.api_key))
106-
.json(&request)
107-
.send()
108-
.await
109-
.wrap_err_with(|| format!("Failed to send request to {}", url))?;
110-
111-
let status = response.status();
112-
let body = response
113-
.text()
114-
.await
115-
.wrap_err("Failed to read response body")?;
116-
117-
if !status.is_success() {
118-
return Err(eyre::eyre!(
119-
"API request failed with status {}: {}",
120-
status,
121-
body
122-
));
123-
}
124-
125-
// Parse response
126-
let api_response: ApiResponse<RelayerResponse> = serde_json::from_str(&body)
127-
.wrap_err_with(|| format!("Failed to parse response: {}", body))?;
128-
129-
api_response
130-
.data
131-
.ok_or_else(|| eyre::eyre!("API response missing data field"))
132-
}
133-
13443
/// Gets a relayer by ID
13544
///
13645
/// GET /api/v1/relayers/{id}
@@ -256,106 +165,14 @@ impl RelayerClient {
256165
.data
257166
.ok_or_else(|| eyre::eyre!("API response missing data field"))
258167
}
259-
260-
/// Deletes a relayer by ID
261-
///
262-
/// DELETE /api/v1/relayers/{id}
263-
pub async fn delete_relayer(&self, relayer_id: &str) -> Result<()> {
264-
let url = format!("{}/api/v1/relayers/{}", self.base_url, relayer_id);
265-
266-
let response = self
267-
.client
268-
.delete(&url)
269-
.header("Authorization", format!("Bearer {}", self.api_key))
270-
.send()
271-
.await
272-
.wrap_err_with(|| format!("Failed to send request to {}", url))?;
273-
274-
let status = response.status();
275-
276-
if !status.is_success() {
277-
let body = response
278-
.text()
279-
.await
280-
.wrap_err("Failed to read response body")?;
281-
return Err(eyre::eyre!(
282-
"API request failed with status {}: {}",
283-
status,
284-
body
285-
));
286-
}
287-
288-
Ok(())
289-
}
290-
291-
/// Lists all relayers
292-
///
293-
/// GET /api/v1/relayers
294-
pub async fn list_relayers(&self) -> Result<Vec<RelayerResponse>> {
295-
let url = format!("{}/api/v1/relayers", self.base_url);
296-
297-
let response = self
298-
.client
299-
.get(&url)
300-
.header("Authorization", format!("Bearer {}", self.api_key))
301-
.send()
302-
.await
303-
.wrap_err_with(|| format!("Failed to send request to {}", url))?;
304-
305-
let status = response.status();
306-
let body = response
307-
.text()
308-
.await
309-
.wrap_err("Failed to read response body")?;
310-
311-
if !status.is_success() {
312-
return Err(eyre::eyre!(
313-
"API request failed with status {}: {}",
314-
status,
315-
body
316-
));
317-
}
318-
319-
let api_response: ApiResponse<Vec<RelayerResponse>> = serde_json::from_str(&body)
320-
.wrap_err_with(|| format!("Failed to parse response: {}", body))?;
321-
322-
api_response
323-
.data
324-
.ok_or_else(|| eyre::eyre!("API response missing data field"))
325-
}
326-
327-
/// Deletes all relayers for a specific network
328-
///
329-
/// This is a convenience method that lists all relayers and deletes those matching the network
330-
pub async fn delete_all_relayers_by_network(&self, network: &str) -> Result<usize> {
331-
let relayers = self.list_relayers().await?;
332-
333-
let network_relayers: Vec<_> = relayers.iter().filter(|r| r.network == network).collect();
334-
335-
let count = network_relayers.len();
336-
337-
for relayer in network_relayers {
338-
if let Err(e) = self.delete_relayer(&relayer.id).await {
339-
error!(relayer_id = %relayer.id, error = %e, "Failed to delete relayer");
340-
}
341-
}
342-
343-
Ok(count)
344-
}
345168
}
346169

347170
// ============================================================================
348171
// Request/Response Models
349172
// ============================================================================
350173

351-
// Note: CreateRelayerRequest and RelayerResponse are imported from
352-
// openzeppelin_relayer::models::relayer to avoid duplication
353-
354-
/// Health check response (not available in src, specific to health endpoint)
355-
#[derive(Debug, Serialize, Deserialize, Clone)]
356-
pub struct HealthResponse {
357-
pub status: String,
358-
}
174+
// Note: RelayerResponse is imported from openzeppelin_relayer::models::relayer
175+
// to avoid duplication
359176

360177
/// Transaction response from API (simplified version for integration tests)
361178
#[derive(Debug, Serialize, Deserialize, Clone)]

tests/integration/common/context.rs

Lines changed: 3 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,6 @@
11
//! Test context utilities for integration tests
22
//!
3-
//! Provides reusable test context structs and utilities that bundle common setup logic,
4-
//! reducing boilerplate in individual tests.
5-
//!
6-
//! ## Single-Network Tests
7-
//!
8-
//! Use [`EvmTestContext`] for simple tests that only need one EVM network:
9-
//!
10-
//! ```ignore
11-
//! let ctx = EvmTestContext::new().expect("Failed to setup test");
12-
//! ctx.client.create_relayer(...).await?;
13-
//! ```
3+
//! Provides utilities for running test functions across all eligible networks.
144
//!
155
//! ## Multi-Network Tests
166
//!
@@ -21,92 +11,12 @@
2111
//! ```
2212
2313
use super::{
24-
client::RelayerClient,
25-
logging::init_test_logging,
26-
network_selection::get_test_networks,
27-
registry::{NetworkConfig, TestRegistry},
14+
logging::init_test_logging, network_selection::get_test_networks, registry::TestRegistry,
2815
};
29-
use eyre::{ensure, Result};
16+
use eyre::Result;
3017
use std::future::Future;
3118
use tracing::{error, info, info_span};
3219

33-
/// Test context for EVM network integration tests
34-
///
35-
/// Bundles the common setup needed for EVM tests:
36-
/// - Network selection and validation
37-
/// - Registry loading
38-
/// - Client initialization
39-
///
40-
/// # Example
41-
///
42-
/// ```ignore
43-
/// let ctx = EvmTestContext::new().expect("Failed to setup test");
44-
/// ctx.client.delete_all_relayers_by_network(&ctx.network).await?;
45-
/// // ... test logic using ctx.client, ctx.network, ctx.network_config
46-
/// ```
47-
#[derive(Debug)]
48-
pub struct EvmTestContext {
49-
/// HTTP client for the relayer API
50-
pub client: RelayerClient,
51-
/// Selected EVM network name (e.g., "sepolia")
52-
pub network: String,
53-
/// Network configuration from the registry
54-
pub network_config: NetworkConfig,
55-
}
56-
57-
impl EvmTestContext {
58-
/// Creates a new EVM test context
59-
///
60-
/// This performs the following setup:
61-
/// 1. Loads test networks from environment/config
62-
/// 2. Loads the test registry
63-
/// 3. Finds the first EVM network from the selection
64-
/// 4. Creates the relayer client
65-
///
66-
/// # Errors
67-
///
68-
/// Returns an error if:
69-
/// - No networks are selected for testing
70-
/// - No EVM network is found in the selection
71-
/// - The registry cannot be loaded
72-
/// - The client cannot be initialized
73-
pub fn new() -> Result<Self> {
74-
let networks = get_test_networks()?;
75-
ensure!(!networks.is_empty(), "No networks selected for testing");
76-
77-
let registry = TestRegistry::load()?;
78-
79-
let network = networks
80-
.iter()
81-
.find(|n| {
82-
registry
83-
.get_network(n)
84-
.map(|c| c.network_type == "evm")
85-
.unwrap_or(false)
86-
})
87-
.ok_or_else(|| eyre::eyre!("No EVM network found in selection"))?
88-
.clone();
89-
90-
let network_config = registry.get_network(&network)?.clone();
91-
let client = RelayerClient::from_env()?;
92-
93-
Ok(Self {
94-
client,
95-
network,
96-
network_config,
97-
})
98-
}
99-
100-
/// Cleans up all relayers for the test network
101-
///
102-
/// Returns the number of relayers deleted
103-
pub async fn cleanup_relayers(&self) -> Result<usize> {
104-
self.client
105-
.delete_all_relayers_by_network(&self.network)
106-
.await
107-
}
108-
}
109-
11020
// =============================================================================
11121
// Multi-Network Test Runner
11222
// =============================================================================

tests/integration/common/network_selection.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,3 @@ pub fn get_test_networks() -> Result<Vec<String>> {
1919

2020
Ok(networks)
2121
}
22-
23-
/// Check if the current test run should test a specific network
24-
///
25-
/// This is useful for conditional test execution based on the selected networks
26-
pub fn should_test_network(network: &str) -> Result<bool> {
27-
let selected_networks = get_test_networks()?;
28-
Ok(selected_networks.contains(&network.to_string()))
29-
}

tests/integration/common/registry.rs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -156,19 +156,6 @@ impl TestRegistry {
156156
Ok(!is_placeholder)
157157
}
158158

159-
/// Get networks filtered by tags
160-
///
161-
/// Returns networks that have ALL of the specified tags and are enabled
162-
pub fn networks_by_tags(&self, tags: &[String]) -> Vec<String> {
163-
self.networks
164-
.iter()
165-
.filter(|(_, config)| {
166-
config.enabled && tags.iter().all(|tag| config.tags.contains(tag))
167-
})
168-
.map(|(name, _)| name.clone())
169-
.collect()
170-
}
171-
172159
/// Validate if a network is ready for testing
173160
///
174161
/// A network is ready if:

tests/integration/networks/evm/basic_transfer.rs

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -91,19 +91,3 @@ async fn run_basic_transfer_test(network: String) -> eyre::Result<()> {
9191
async fn test_evm_basic_transfer() {
9292
run_multi_network_test("basic_transfer", is_evm_network, run_basic_transfer_test).await;
9393
}
94-
95-
#[cfg(test)]
96-
mod tests {
97-
use super::*;
98-
99-
#[test]
100-
fn test_constants() {
101-
// Verify burn address is valid
102-
assert!(BURN_ADDRESS.starts_with("0x"));
103-
assert_eq!(BURN_ADDRESS.len(), 42);
104-
105-
// Verify transfer value is reasonable (0.000001 ETH)
106-
let value: u128 = TRANSFER_VALUE.parse().unwrap();
107-
assert_eq!(value, 1_000_000_000_000); // 0.000001 ETH in wei
108-
}
109-
}

0 commit comments

Comments
 (0)