Skip to content

Commit df9df8d

Browse files
authored
chore(rust/signed-doc): Modify build_doc_and_publish to build_verify_and_publish (#829)
* modify `build_doc_and_publish` to build_verify_and_publish applying validation of the provided document, fixing tests * fix fmt * fix clippy * fix wasm build * fix fmt
1 parent cac0865 commit df9df8d

File tree

4 files changed

+132
-118
lines changed

4 files changed

+132
-118
lines changed

rust/catalyst-contest/src/contest_ballot/tests.rs

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ use catalyst_signed_doc::{
77
doc_types,
88
providers::tests::TestCatalystProvider,
99
tests_utils::{
10-
brand_parameters_doc, brand_parameters_form_template_doc, build_doc_and_publish,
10+
brand_parameters_doc, brand_parameters_form_template_doc, build_verify_and_publish,
1111
contest_parameters::contest_parameters_default_content, contest_parameters_doc,
12-
contest_parameters_form_template_doc, create_dummy_key_pair, create_key_pair_and_publish,
13-
proposal_doc, proposal_form_template_doc,
12+
contest_parameters_form_template_doc, create_dummy_admin_key_pair, create_dummy_key_pair,
13+
create_key_pair_and_publish, proposal_doc, proposal_form_template_doc,
1414
},
1515
validator::Validator,
1616
};
@@ -37,12 +37,12 @@ use crate::{
3737
|p| {
3838
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
3939
40-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
41-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
42-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
43-
let parameters = build_doc_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
44-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
45-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
40+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
41+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
42+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
43+
let parameters = build_verify_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
44+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
45+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
4646
4747
let parameters = ContestParameters::new(&parameters, p)?;
4848
let choice = Choices::new_clear_single(0, parameters.options().n_options())?;
@@ -58,12 +58,12 @@ use crate::{
5858
|p| {
5959
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
6060
61-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
62-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
63-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
64-
let parameters = build_doc_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
65-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
66-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
61+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
62+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
63+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
64+
let parameters = build_verify_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
65+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
66+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
6767
6868
let parameters = ContestParameters::new(&parameters, p)?;
6969
let payload = encrypted_payload(&parameters);
@@ -76,17 +76,18 @@ use crate::{
7676
)]
7777
#[test_case(
7878
|p| {
79-
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
79+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
80+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
81+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
82+
83+
let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
8084
let mut content = contest_parameters_default_content();
8185
content["start"] = serde_json::json!(Utc::now().checked_add_signed(Duration::hours(1)));
8286
content["end"] = serde_json::json!(Utc::now().checked_add_signed(Duration::hours(5)));
87+
let parameters = build_verify_and_publish(p, |_| builder::contest_parameters_doc(&template.doc_ref()?, &brand.doc_ref()?, &content, &sk.clone().into(), kid.clone(), None))?;
8388
84-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
85-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
86-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
87-
let parameters = build_doc_and_publish(p, |_| builder::contest_parameters_doc(&template.doc_ref()?, &brand.doc_ref()?, &content, &sk.clone().into(), kid.clone(), None))?;
88-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
89-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
89+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
90+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
9091
9192
let parameters = ContestParameters::new(&parameters, p)?;
9293
let choice = Choices::new_clear_single(0, parameters.options().n_options())?;
@@ -102,12 +103,12 @@ use crate::{
102103
|p| {
103104
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
104105
105-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
106-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
107-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
108-
let parameters = build_doc_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
109-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
110-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
106+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
107+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
108+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
109+
let parameters = build_verify_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
110+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
111+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
111112
112113
let parameters = ContestParameters::new(&parameters, p)?;
113114
let choice = Choices::new_clear_single(0, parameters.options().n_options().saturating_add(1))?;
@@ -121,19 +122,17 @@ use crate::{
121122
)]
122123
#[test_case(
123124
|p| {
124-
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
125-
126-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
127-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
128-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
129-
let parameters = build_doc_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
130-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
131-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
125+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
126+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
127+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
128+
let parameters = build_verify_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
129+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
130+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
132131
132+
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
133133
let parameters = ContestParameters::new(&parameters, p)?;
134134
let choice = Choices::Clear((0..parameters.options().n_options()).map(u64::try_from).collect::<Result<Vec<_>, _>>()?);
135135
let payload = ContestBallotPayload::new(vec![choice]);
136-
137136
builder::contest_ballot_doc(&[proposal.doc_ref()?], parameters.doc_ref(), &payload, &sk.into(), kid, None)
138137
}
139138
=> false
@@ -142,21 +141,22 @@ use crate::{
142141
)]
143142
#[test_case(
144143
|p| {
145-
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
144+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
145+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
146+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
147+
148+
let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
146149
let mut content = contest_parameters_default_content();
147150
content["start"] = serde_json::json!(Utc::now().checked_sub_signed(Duration::hours(5)));
148151
content["end"] = serde_json::json!(Utc::now().checked_sub_signed(Duration::hours(1)));
152+
let parameters = build_verify_and_publish(p, |_| builder::contest_parameters_doc(&template.doc_ref()?, &brand.doc_ref()?, &content, &sk.into(), kid, None))?;
149153
150-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
151-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
152-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
153-
let parameters = build_doc_and_publish(p, |_| builder::contest_parameters_doc(&template.doc_ref()?, &brand.doc_ref()?, &content, &sk.clone().into(), kid.clone(), None))?;
154-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
155-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
154+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
155+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
156156
157+
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
157158
let parameters = ContestParameters::new(&parameters, p)?;
158159
let payload = ContestBallotPayload::new(vec![Choices::new_clear_single(0, parameters.options().n_options())?]);
159-
160160
builder::contest_ballot_doc(&[proposal.doc_ref()?], parameters.doc_ref(), &payload, &sk.into(), kid, None)
161161
}
162162
=> false
@@ -165,15 +165,14 @@ use crate::{
165165
)]
166166
#[test_case(
167167
|p| {
168-
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
169-
170-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
171-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
172-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
173-
let parameters = build_doc_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
174-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
175-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
168+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
169+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
170+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
171+
let parameters = build_verify_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
172+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
173+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
176174
175+
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
177176
let parameters = ContestParameters::new(&parameters, p)?;
178177
let payload = empty_proof_payload(&parameters);
179178
builder::contest_ballot_doc(&[proposal.doc_ref()?], parameters.doc_ref(), &payload, &sk.into(), kid, None)
@@ -184,15 +183,16 @@ use crate::{
184183
)]
185184
#[test_case(
186185
|p| {
187-
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
188186
189-
let brand = build_doc_and_publish(p, brand_parameters_form_template_doc)?;
190-
let brand = build_doc_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
191-
let template = build_doc_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
192-
let parameters = build_doc_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
193-
let template = build_doc_and_publish(p, |p| proposal_form_template_doc(&parameters, p))?;
194-
let proposal = build_doc_and_publish(p, |p| proposal_doc(&template, &parameters, p))?;
187+
let brand = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
188+
let brand = build_verify_and_publish(p, |p| brand_parameters_doc(&brand, p))?;
189+
let template = build_verify_and_publish(p, |p| contest_parameters_form_template_doc(&brand, p))?;
190+
let parameters = build_verify_and_publish(p, |p| contest_parameters_doc(&template, &brand, p))?;
191+
let template = build_verify_and_publish(p, |p| proposal_form_template_doc(&brand, p))?;
192+
let proposal = build_verify_and_publish(p, |p| proposal_doc(&template, &brand, p))?;
195193
194+
195+
let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
196196
let parameters = ContestParameters::new(&parameters, p)?;
197197
let payload = invalid_proof_payload(&parameters);
198198
builder::contest_ballot_doc(&[proposal.doc_ref()?], parameters.doc_ref(), &payload, &sk.into(), kid, None)

0 commit comments

Comments
 (0)