Skip to content

Commit d6ca628

Browse files
committed
fix: tests
1 parent 5ffc174 commit d6ca628

File tree

3 files changed

+42
-9
lines changed

3 files changed

+42
-9
lines changed

crates/dips/src/ipfs.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,13 @@ impl TestIpfsClient {
100100
},
101101
}
102102
}
103+
pub fn no_network() -> Self {
104+
Self {
105+
manifest: GraphManifest {
106+
data_sources: vec![],
107+
},
108+
}
109+
}
103110
}
104111

105112
#[cfg(test)]

crates/dips/src/lib.rs

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -726,16 +726,25 @@ mod test {
726726
)]),
727727
))
728728
.await;
729+
let no_network_ctx =
730+
DipsServerContext::for_testing_mocked_accounts_no_network(EscrowAccounts::new(
731+
HashMap::default(),
732+
HashMap::from_iter(vec![(
733+
voucher_ctx.payer.address(),
734+
vec![voucher_ctx.payer.address()],
735+
)]),
736+
))
737+
.await;
729738

730739
let metadata = SubgraphIndexingVoucherMetadata {
731740
basePricePerEpoch: U256::from(10000_u64),
732741
pricePerEntity: U256::from(100_u64),
733742
protocolNetwork: "eip155:42161".to_string(),
734-
chainId: "mainnet2".to_string(),
743+
chainId: "mainnet".to_string(),
735744
subgraphDeploymentId: voucher_ctx.deployment_id.clone(),
736745
};
737-
738-
let wrong_network_voucher = voucher_ctx.test_voucher(metadata);
746+
// The voucher says mainnet, but the manifest has no network
747+
let no_network_voucher = voucher_ctx.test_voucher(metadata);
739748

740749
let metadata = SubgraphIndexingVoucherMetadata {
741750
basePricePerEpoch: U256::from(10000_u64),
@@ -760,10 +769,11 @@ mod test {
760769
voucher_ctx.test_voucher_with_signer(metadata.clone(), signer.clone());
761770
let valid_voucher = voucher_ctx.test_voucher(metadata);
762771

772+
let contexts = vec![no_network_ctx, ctx.clone(), ctx.clone(), ctx.clone()];
773+
763774
let expected_result: Vec<Result<[u8; 16], DipsError>> = vec![
764-
Err(DipsError::SubgraphChainIdMistmatch(
765-
"mainnet2".to_string(),
766-
"mainnet".to_string(),
775+
Err(DipsError::InvalidSubgraphManifest(
776+
voucher_ctx.deployment_id.clone(),
767777
)),
768778
Err(DipsError::PricePerBlockTooLow(
769779
"mainnet".to_string(),
@@ -779,14 +789,18 @@ mod test {
779789
.unwrap()),
780790
];
781791
let cases = vec![
782-
wrong_network_voucher,
792+
no_network_voucher,
783793
low_price_voucher,
784794
valid_voucher_invalid_signer,
785795
valid_voucher,
786796
];
787-
for (voucher, result) in cases.into_iter().zip(expected_result.into_iter()) {
797+
for ((voucher, result), dips_ctx) in cases
798+
.into_iter()
799+
.zip(expected_result.into_iter())
800+
.zip(contexts.into_iter())
801+
{
788802
let out = super::validate_and_create_agreement(
789-
ctx.clone(),
803+
dips_ctx.clone(),
790804
&voucher_ctx.domain(),
791805
&voucher_ctx.payee.address(),
792806
vec![voucher_ctx.payer.address()],

crates/dips/src/server.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,18 @@ impl DipsServerContext {
5757
signer_validator: Arc::new(signers::EscrowSignerValidator::mock(accounts).await),
5858
})
5959
}
60+
61+
#[cfg(test)]
62+
pub async fn for_testing_mocked_accounts_no_network(accounts: EscrowAccounts) -> Arc<Self> {
63+
use crate::{ipfs::TestIpfsClient, signers, test::InMemoryAgreementStore};
64+
65+
Arc::new(DipsServerContext {
66+
store: Arc::new(InMemoryAgreementStore::default()),
67+
ipfs_fetcher: Arc::new(TestIpfsClient::no_network()),
68+
price_calculator: PriceCalculator::for_testing(),
69+
signer_validator: Arc::new(signers::EscrowSignerValidator::mock(accounts).await),
70+
})
71+
}
6072
}
6173

6274
#[derive(Debug)]

0 commit comments

Comments
 (0)