Skip to content

Commit 42c01c6

Browse files
committed
Add single_attestation event topic test coverage
1 parent f7a0b37 commit 42c01c6

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed

beacon_node/http_api/tests/tests.rs

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6042,6 +6042,48 @@ impl ApiTester {
60426042
self
60436043
}
60446044

6045+
pub async fn test_get_events_electra(self) -> Self {
6046+
let topics = vec![EventTopic::SingleAttestation];
6047+
let mut events_future = self
6048+
.client
6049+
.get_events::<E>(topics.as_slice())
6050+
.await
6051+
.unwrap();
6052+
6053+
let expected_attestation_len = self.single_attestations.len();
6054+
6055+
let fork_name = self
6056+
.chain
6057+
.spec
6058+
.fork_name_at_slot::<E>(self.chain.slot().unwrap());
6059+
6060+
self.client
6061+
.post_beacon_pool_attestations_v2(&self.single_attestations, fork_name)
6062+
.await
6063+
.unwrap();
6064+
6065+
let attestation_events = poll_events(
6066+
&mut events_future,
6067+
expected_attestation_len,
6068+
Duration::from_millis(10000),
6069+
)
6070+
.await;
6071+
6072+
assert_eq!(
6073+
attestation_events.as_slice(),
6074+
self.single_attestations
6075+
.clone()
6076+
.into_iter()
6077+
.map(|single_attestation| EventKind::SingleAttestation(Box::new(
6078+
single_attestation
6079+
)))
6080+
.collect::<Vec<_>>()
6081+
.as_slice()
6082+
);
6083+
6084+
self
6085+
}
6086+
60456087
pub async fn test_get_events_altair(self) -> Self {
60466088
let topics = vec![EventTopic::ContributionAndProof];
60476089
let mut events_future = self
@@ -6189,6 +6231,20 @@ async fn get_events_altair() {
61896231
.await;
61906232
}
61916233

6234+
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
6235+
async fn get_events_electra() {
6236+
let mut config = ApiTesterConfig::default();
6237+
config.spec.altair_fork_epoch = Some(Epoch::new(0));
6238+
config.spec.bellatrix_fork_epoch = Some(Epoch::new(0));
6239+
config.spec.capella_fork_epoch = Some(Epoch::new(0));
6240+
config.spec.deneb_fork_epoch = Some(Epoch::new(0));
6241+
config.spec.electra_fork_epoch = Some(Epoch::new(0));
6242+
ApiTester::new_from_config(config)
6243+
.await
6244+
.test_get_events_electra()
6245+
.await;
6246+
}
6247+
61926248
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
61936249
async fn get_events_from_genesis() {
61946250
ApiTester::new_from_genesis()

common/eth2/src/types.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1288,6 +1288,7 @@ impl FromStr for EventTopic {
12881288
"block" => Ok(EventTopic::Block),
12891289
"blob_sidecar" => Ok(EventTopic::BlobSidecar),
12901290
"attestation" => Ok(EventTopic::Attestation),
1291+
"single_attestation" => Ok(EventTopic::SingleAttestation),
12911292
"voluntary_exit" => Ok(EventTopic::VoluntaryExit),
12921293
"finalized_checkpoint" => Ok(EventTopic::FinalizedCheckpoint),
12931294
"chain_reorg" => Ok(EventTopic::ChainReorg),

0 commit comments

Comments
 (0)