@@ -557,58 +557,6 @@ async fn leader_upload_taskprov_wrong_version(version: DapVersion) {
557557
558558async_test_versions ! ( leader_upload_taskprov_wrong_version) ;
559559
560- #[ tokio:: test]
561- async fn leader_upload_taskprov_public ( ) {
562- let version = DapVersion :: Latest ;
563- let t = TestRunner :: default_with_version ( version) . await ;
564- let client = t. http_client ( ) ;
565- let hpke_config_list = t. get_hpke_configs ( version, client) . await . unwrap ( ) ;
566-
567- let ( task_config, task_id, taskprov_advertisement) = DapTaskParameters {
568- version,
569- min_batch_size : 10 ,
570- query : DapBatchMode :: TimeInterval ,
571- leader_url : t. task_config . leader_url . clone ( ) ,
572- helper_url : t. task_config . helper_url . clone ( ) ,
573- ..Default :: default ( )
574- }
575- . to_config_with_taskprov (
576- b"cool task" . to_vec ( ) ,
577- t. now ,
578- daphne:: roles:: aggregator:: TaskprovConfig {
579- hpke_collector_config : & t. taskprov_collector_hpke_receiver . config ,
580- vdaf_verify_key_init : & t. taskprov_vdaf_verify_key_init ,
581- } ,
582- )
583- . unwrap ( ) ;
584-
585- let mut report = task_config
586- . vdaf
587- . produce_report (
588- & hpke_config_list,
589- t. now + 1 ,
590- & task_id,
591- DapMeasurement :: U32Vec ( vec ! [ 1 ; 10 ] ) ,
592- version,
593- )
594- . unwrap ( ) ;
595- report. report_metadata . public_extensions = Some ( vec ! [ Extension :: Taskprov ] ) ;
596- t. leader_request_expect_ok (
597- client,
598- & format ! ( "tasks/{}/reports" , task_id. to_base64url( ) ) ,
599- & http:: Method :: POST ,
600- DapMediaType :: Report ,
601- Some (
602- & taskprov_advertisement
603- . serialize_to_header_value ( version)
604- . unwrap ( ) ,
605- ) ,
606- report. get_encoded_with_param ( & version) . unwrap ( ) ,
607- )
608- . await
609- . unwrap ( ) ;
610- }
611-
612560#[ tokio:: test]
613561async fn leader_upload_taksprov_public_errors ( ) {
614562 let version = DapVersion :: Latest ;
@@ -635,17 +583,18 @@ async fn leader_upload_taksprov_public_errors() {
635583 . unwrap ( ) ;
636584
637585 // Repeated public extension
638- let mut report = task_config
586+ let report = task_config
639587 . vdaf
640- . produce_report (
588+ . produce_report_with_extensions (
641589 & hpke_config_list,
642590 t. now + 1 ,
643591 & task_id,
644592 DapMeasurement :: U32Vec ( vec ! [ 1 ; 10 ] ) ,
593+ Some ( vec ! [ Extension :: Taskprov , Extension :: Taskprov ] ) ,
594+ vec ! [ ] ,
645595 version,
646596 )
647597 . unwrap ( ) ;
648- report. report_metadata . public_extensions = Some ( vec ! [ Extension :: Taskprov , Extension :: Taskprov ] ) ;
649598 t. leader_request_expect_abort (
650599 client,
651600 None ,
@@ -665,23 +614,24 @@ async fn leader_upload_taksprov_public_errors() {
665614 . unwrap ( ) ;
666615
667616 // Unsupported public extension
668- let mut report = task_config
617+ let report = task_config
669618 . vdaf
670- . produce_report (
619+ . produce_report_with_extensions (
671620 & hpke_config_list,
672621 t. now + 1 ,
673622 & task_id,
674623 DapMeasurement :: U32Vec ( vec ! [ 1 ; 10 ] ) ,
624+ Some ( vec ! [
625+ Extension :: Taskprov ,
626+ Extension :: NotImplemented {
627+ typ: 3 ,
628+ payload: b"ignore" . to_vec( ) ,
629+ } ,
630+ ] ) ,
631+ vec ! [ ] ,
675632 version,
676633 )
677634 . unwrap ( ) ;
678- report. report_metadata . public_extensions = Some ( vec ! [
679- Extension :: Taskprov ,
680- Extension :: NotImplemented {
681- typ: 3 ,
682- payload: b"ignore" . to_vec( ) ,
683- } ,
684- ] ) ;
685635 t. leader_request_expect_abort (
686636 client,
687637 None ,
@@ -1514,116 +1464,6 @@ async fn leader_selected() {
15141464 . unwrap ( ) ;
15151465}
15161466
1517- #[ tokio:: test]
1518- async fn leader_collect_taskprov_repeated_abort ( ) {
1519- let version = DapVersion :: Latest ;
1520- const DAP_TASKPROV_COLLECTOR_TOKEN : & str = "I-am-the-collector" ;
1521- let t = TestRunner :: default_with_version ( version) . await ;
1522- let batch_interval = t. batch_interval ( ) ;
1523-
1524- let client = t. http_client ( ) ;
1525- let hpke_config_list = t. get_hpke_configs ( version, client) . await . unwrap ( ) ;
1526-
1527- let ( task_config, task_id, taskprov_advertisement) = DapTaskParameters {
1528- version,
1529- min_batch_size : 10 ,
1530- query : DapBatchMode :: TimeInterval ,
1531- leader_url : t. task_config . leader_url . clone ( ) ,
1532- helper_url : t. task_config . helper_url . clone ( ) ,
1533- ..Default :: default ( )
1534- }
1535- . to_config_with_taskprov (
1536- b"cool task" . to_vec ( ) ,
1537- t. now ,
1538- daphne:: roles:: aggregator:: TaskprovConfig {
1539- hpke_collector_config : & t. taskprov_collector_hpke_receiver . config ,
1540- vdaf_verify_key_init : & t. taskprov_vdaf_verify_key_init ,
1541- } ,
1542- )
1543- . unwrap ( ) ;
1544-
1545- let path = TestRunner :: upload_path_for_task ( & task_id) ;
1546- let method = & Method :: POST ;
1547- // The reports are uploaded in the background.
1548- let mut rng = thread_rng ( ) ;
1549- for _ in 0 ..t. task_config . min_batch_size {
1550- let extensions = vec ! [ Extension :: Taskprov ] ;
1551- let now = rng. gen_range ( TestRunner :: report_interval ( & batch_interval) ) ;
1552- t. leader_request_expect_ok (
1553- client,
1554- & path,
1555- method,
1556- DapMediaType :: Report ,
1557- Some (
1558- & taskprov_advertisement
1559- . serialize_to_header_value ( version)
1560- . unwrap ( ) ,
1561- ) ,
1562- {
1563- let report = task_config
1564- . vdaf
1565- . produce_report_with_extensions (
1566- & hpke_config_list,
1567- now,
1568- & task_id,
1569- DapMeasurement :: U32Vec ( vec ! [ 1 ; 10 ] ) ,
1570- Some ( vec ! [ Extension :: Taskprov ] ) ,
1571- extensions,
1572- version,
1573- )
1574- . unwrap ( ) ;
1575- report. get_encoded_with_param ( & version) . unwrap ( )
1576- } ,
1577- )
1578- . await
1579- . unwrap ( ) ;
1580- }
1581-
1582- let agg_param = DapAggregationParam :: Empty ;
1583-
1584- // Get the collect URI.
1585- let collect_req = CollectionReq {
1586- query : Query :: TimeInterval { batch_interval } ,
1587- agg_param : agg_param. get_encoded ( ) . unwrap ( ) ,
1588- } ;
1589- let collect_uri = t
1590- . leader_post_collect_using_token (
1591- client,
1592- DAP_TASKPROV_COLLECTOR_TOKEN ,
1593- Some ( & taskprov_advertisement) ,
1594- Some ( & task_id) ,
1595- collect_req. get_encoded_with_param ( & t. version ) . unwrap ( ) ,
1596- )
1597- . await
1598- . unwrap ( ) ;
1599- println ! ( "collect_uri: {collect_uri}" ) ;
1600-
1601- // Poll the collect URI before the CollectResp is ready.
1602- let resp = t
1603- . poll_collection_url_using_token ( client, & collect_uri, DAP_TASKPROV_COLLECTOR_TOKEN )
1604- . await
1605- . unwrap ( ) ;
1606- #[ expect( clippy:: format_in_format_args) ]
1607- {
1608- assert_eq ! (
1609- resp. status( ) ,
1610- 202 ,
1611- "response: {} {}" ,
1612- format!( "{resp:?}" ) ,
1613- resp. text( ) . await . unwrap( )
1614- ) ;
1615- }
1616-
1617- // The reports are aggregated in the background.
1618- let agg_telem = t. internal_process ( client) . await . unwrap ( ) ;
1619- assert_eq ! (
1620- agg_telem. reports_processed, task_config. min_batch_size,
1621- "reports processed"
1622- ) ;
1623- assert_eq ! ( agg_telem. reports_aggregated, 0 , "reports aggregated" ) ;
1624- assert_eq ! ( agg_telem. reports_collected, 0 , "reports collected" ) ;
1625- }
1626-
16271467async fn leader_collect_taskprov_ok ( version : DapVersion ) {
16281468 const DAP_TASKPROV_COLLECTOR_TOKEN : & str = "I-am-the-collector" ;
16291469 let t = TestRunner :: default_with_version ( version) . await ;
0 commit comments