@@ -11,7 +11,7 @@ pub(crate) mod report_init;
1111
1212/// checks if an iterator has no duplicate items, returns the ok if there are no dups or an error
1313/// with the first offending item.
14- pub ( crate ) fn no_duplicates < I > ( iterator : I ) -> Result < ( ) , I :: Item >
14+ pub ( crate ) fn check_no_duplicates < I > ( iterator : I ) -> Result < ( ) , I :: Item >
1515where
1616 I : Iterator ,
1717 I :: Item : Eq + std:: hash:: Hash ,
@@ -752,6 +752,10 @@ mod test {
752752 t. now ,
753753 & t. task_id ,
754754 DapMeasurement :: U32Vec ( vec ! [ 1 ; 10 ] ) ,
755+ match version {
756+ DapVersion :: Draft09 => None ,
757+ DapVersion :: Latest => Some ( vec ! [ ] ) ,
758+ } ,
755759 vec ! [ Extension :: NotImplemented {
756760 typ: 0xffff ,
757761 payload: b"some extension data" . to_vec( ) ,
@@ -784,29 +788,32 @@ mod test {
784788
785789 test_versions ! { handle_unrecognized_report_extensions }
786790
787- fn handle_unknown_public_extensions_in_report ( version : DapVersion ) {
791+ #[ test]
792+ fn handle_unknown_public_extensions_in_report ( ) {
793+ let version = DapVersion :: Latest ;
788794 let t = AggregationJobTest :: new ( TEST_VDAF , HpkeKemId :: X25519HkdfSha256 , version) ;
789- let mut report = t
795+ let report = t
790796 . task_config
791797 . vdaf
792- . produce_report (
798+ . produce_report_with_extensions (
793799 & t. client_hpke_config_list ,
794800 t. now ,
795801 & t. task_id ,
796802 DapMeasurement :: U32Vec ( vec ! [ 1 ; 10 ] ) ,
803+ Some ( vec ! [
804+ Extension :: NotImplemented {
805+ typ: 0x01 ,
806+ payload: b"This is ignored" . to_vec( ) ,
807+ } ,
808+ Extension :: NotImplemented {
809+ typ: 0x02 ,
810+ payload: b"This is ignored too" . to_vec( ) ,
811+ } ,
812+ ] ) ,
813+ vec ! [ ] ,
797814 version,
798815 )
799816 . unwrap ( ) ;
800- report. report_metadata . public_extensions = Some ( vec ! [
801- Extension :: NotImplemented {
802- typ: 0x01 ,
803- payload: b"This is ignored" . to_vec( ) ,
804- } ,
805- Extension :: NotImplemented {
806- typ: 0x02 ,
807- payload: b"This is ignored too" . to_vec( ) ,
808- } ,
809- ] ) ;
810817 let report_metadata = report. report_metadata . clone ( ) ;
811818 let [ leader_share, _] = report. encrypted_input_shares ;
812819 let initialized_report = InitializedReport :: from_client (
@@ -832,7 +839,6 @@ mod test {
832839 }
833840 ) ;
834841 }
835- test_versions ! { handle_unknown_public_extensions_in_report}
836842
837843 fn handle_repeated_report_extensions ( version : DapVersion ) {
838844 let t = AggregationJobTest :: new ( TEST_VDAF , HpkeKemId :: X25519HkdfSha256 , version) ;
@@ -844,6 +850,10 @@ mod test {
844850 t. now ,
845851 & t. task_id ,
846852 DapMeasurement :: U32Vec ( vec ! [ 1 ; 10 ] ) ,
853+ match version {
854+ DapVersion :: Draft09 => None ,
855+ DapVersion :: Latest => Some ( vec ! [ ] ) ,
856+ } ,
847857 vec ! [
848858 Extension :: NotImplemented {
849859 typ: 23 ,
@@ -906,6 +916,10 @@ mod test {
906916 self . now ,
907917 & self . task_id ,
908918 & report_id,
919+ match version {
920+ DapVersion :: Draft09 => None ,
921+ DapVersion :: Latest => Some ( vec ! [ ] ) ,
922+ } ,
909923 Vec :: new ( ) , // extensions
910924 version,
911925 )
@@ -937,6 +951,10 @@ mod test {
937951 self . now ,
938952 & self . task_id ,
939953 & report_id,
954+ match version {
955+ DapVersion :: Draft09 => None ,
956+ DapVersion :: Latest => Some ( vec ! [ ] ) ,
957+ } ,
940958 Vec :: new ( ) , // extensions
941959 version,
942960 )
@@ -969,6 +987,10 @@ mod test {
969987 self . now ,
970988 & self . task_id ,
971989 & report_id,
990+ match version {
991+ DapVersion :: Draft09 => None ,
992+ DapVersion :: Latest => Some ( vec ! [ ] ) ,
993+ } ,
972994 Vec :: new ( ) , // extensions
973995 version,
974996 )
0 commit comments