Skip to content

Commit 6a1e72e

Browse files
committed
graph: prepare graphman cli integration & clean-up tests
1 parent f2f1d8f commit 6a1e72e

File tree

5 files changed

+256
-248
lines changed

5 files changed

+256
-248
lines changed

chain/ethereum/src/network.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use anyhow::{anyhow, bail};
22
use graph::blockchain::ChainIdentifier;
33
use graph::components::network_provider::ChainName;
44
use graph::components::network_provider::NetworkDetails;
5-
use graph::components::network_provider::ProviderCheckStrategy;
65
use graph::components::network_provider::ProviderManager;
76
use graph::components::network_provider::ProviderName;
87
use graph::endpoint::EndpointMetrics;
@@ -106,6 +105,7 @@ impl EthereumNetworkAdapters {
106105
) -> Self {
107106
use std::cmp::Ordering;
108107

108+
use graph::components::network_provider::ProviderCheckStrategy;
109109
use graph::slog::{o, Discard, Logger};
110110

111111
let chain_id: ChainName = "testing".into();

graph/src/components/network_provider/extended_blocks_check.rs

Lines changed: 34 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -52,26 +52,26 @@ impl ProviderCheck for ExtendedBlocksCheck {
5252
match adapter.provides_extended_blocks().await {
5353
Ok(true) => ProviderCheckStatus::Valid,
5454
Ok(false) => {
55-
error!(
56-
logger,
55+
let message = format!(
5756
"Provider '{}' does not support extended blocks on chain '{}'",
58-
provider_name,
59-
chain_name,
57+
provider_name, chain_name,
6058
);
6159

62-
ProviderCheckStatus::Failed
60+
error!(logger, "{}", message);
61+
62+
ProviderCheckStatus::Failed { message }
6363
}
6464
Err(err) => {
65-
error!(
66-
logger,
65+
let message = format!(
6766
"Failed to check if provider '{}' supports extended blocks on chain '{}': {:#}",
68-
provider_name,
69-
chain_name,
70-
err,
67+
provider_name, chain_name, err,
7168
);
7269

70+
error!(logger, "{}", message);
71+
7372
ProviderCheckStatus::TemporaryFailure {
7473
checked_at: Instant::now(),
74+
message,
7575
}
7676
}
7777
}
@@ -89,17 +89,27 @@ mod tests {
8989
use crate::blockchain::ChainIdentifier;
9090
use crate::log::discard;
9191

92-
macro_rules! lock {
93-
($obj:ident.$field:ident. $( $call:tt )+) => {{
94-
$obj.$field.lock().unwrap(). $( $call )+
95-
}};
96-
}
97-
9892
#[derive(Default)]
9993
struct TestAdapter {
10094
provides_extended_blocks_calls: Mutex<Vec<Result<bool>>>,
10195
}
10296

97+
impl TestAdapter {
98+
fn provides_extended_blocks_call(&self, x: Result<bool>) {
99+
self.provides_extended_blocks_calls.lock().unwrap().push(x)
100+
}
101+
}
102+
103+
impl Drop for TestAdapter {
104+
fn drop(&mut self) {
105+
assert!(self
106+
.provides_extended_blocks_calls
107+
.lock()
108+
.unwrap()
109+
.is_empty());
110+
}
111+
}
112+
103113
#[async_trait]
104114
impl NetworkDetails for TestAdapter {
105115
fn provider_name(&self) -> ProviderName {
@@ -111,13 +121,10 @@ mod tests {
111121
}
112122

113123
async fn provides_extended_blocks(&self) -> Result<bool> {
114-
lock!(self.provides_extended_blocks_calls.remove(0))
115-
}
116-
}
117-
118-
impl Drop for TestAdapter {
119-
fn drop(&mut self) {
120-
assert!(lock!(self.provides_extended_blocks_calls.is_empty()));
124+
self.provides_extended_blocks_calls
125+
.lock()
126+
.unwrap()
127+
.remove(0)
121128
}
122129
}
123130

@@ -171,7 +178,7 @@ mod tests {
171178
let check = ExtendedBlocksCheck::new([]);
172179

173180
let adapter = TestAdapter::default();
174-
lock! { adapter.provides_extended_blocks_calls.push(Ok(true)) };
181+
adapter.provides_extended_blocks_call(Ok(true));
175182

176183
let status = check
177184
.check(
@@ -190,7 +197,7 @@ mod tests {
190197
let check = ExtendedBlocksCheck::new([]);
191198

192199
let adapter = TestAdapter::default();
193-
lock! { adapter.provides_extended_blocks_calls.push(Ok(false)) };
200+
adapter.provides_extended_blocks_call(Ok(false));
194201

195202
let status = check
196203
.check(
@@ -201,15 +208,15 @@ mod tests {
201208
)
202209
.await;
203210

204-
assert_eq!(status, ProviderCheckStatus::Failed);
211+
assert!(matches!(status, ProviderCheckStatus::Failed { .. }));
205212
}
206213

207214
#[tokio::test]
208215
async fn check_temporary_failure_when_provider_request_fails() {
209216
let check = ExtendedBlocksCheck::new([]);
210217

211218
let adapter = TestAdapter::default();
212-
lock! { adapter.provides_extended_blocks_calls.push(Err(anyhow!("error"))) };
219+
adapter.provides_extended_blocks_call(Err(anyhow!("error")));
213220

214221
let status = check
215222
.check(

0 commit comments

Comments
 (0)