Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 23 additions & 29 deletions rust/signed_doc/tests/campaign_parameters_form_template.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ use catalyst_signed_doc::{
builder::Builder,
providers::tests::TestCatalystProvider,
tests_utils::{
brand_parameters_doc, brand_parameters_form_template_doc,
brand_parameters_doc, brand_parameters_form_template_doc, build_verify_and_publish,
campaign_parameters_form_template_doc, create_dummy_admin_key_pair, create_dummy_key_pair,
create_key_pair_and_publish,
},
validator::Validator,
*,
Expand All @@ -16,25 +17,23 @@ use ed25519_dalek::ed25519::signature::Signer;
use test_case::test_case;

#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
campaign_parameters_form_template_doc(&parameters, provider)
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;
campaign_parameters_form_template_doc(&parameters, p)
}
=> true
;
"valid document"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_key_pair(RoleId::Role0);
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;

let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
let id = uuid::UuidV7::new();
let parameters_ref = parameters.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::SchemaJson,
Expand All @@ -53,15 +52,13 @@ use test_case::test_case;
"wrong role"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_admin_key_pair();
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;

let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
let id = uuid::UuidV7::new();
let parameters_ref = parameters.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::SchemaJson,
Expand All @@ -80,15 +77,13 @@ use test_case::test_case;
"empty content"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_admin_key_pair();
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;

let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
let id = uuid::UuidV7::new();
let parameters_ref = parameters.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::SchemaJson,
Expand All @@ -106,10 +101,9 @@ use test_case::test_case;
"missing 'content-encoding' (optional)"
)]
#[test_case(
|provider| {
|p| {
let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_admin_key_pair();
provider.add_sk(kid.clone(), sk.clone());
Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::SchemaJson,
Expand Down
113 changes: 52 additions & 61 deletions rust/signed_doc/tests/category_parameters.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ use catalyst_signed_doc::{
builder::Builder,
providers::tests::TestCatalystProvider,
tests_utils::{
brand_parameters_doc, brand_parameters_form_template_doc, campaign_parameters_doc,
campaign_parameters_form_template_doc, category_parameters_doc,
brand_parameters_doc, brand_parameters_form_template_doc, build_verify_and_publish,
campaign_parameters_doc, campaign_parameters_form_template_doc, category_parameters_doc,
category_parameters_form_template_doc, create_dummy_admin_key_pair, create_dummy_key_pair,
create_key_pair_and_publish,
},
validator::Validator,
*,
Expand All @@ -17,32 +18,30 @@ use ed25519_dalek::ed25519::signature::Signer;
use test_case::test_case;

#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = campaign_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = campaign_parameters_doc(&template, &parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = category_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
category_parameters_doc(&template, &parameters, provider)
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;
let template = build_verify_and_publish(p, |p| campaign_parameters_form_template_doc(&parameters, p))?;
let parameters = build_verify_and_publish(p, |p| campaign_parameters_doc(&template, &parameters, p))?;
let template = build_verify_and_publish(p, |p| category_parameters_form_template_doc(&parameters, p))?;
category_parameters_doc(&template, &parameters, p)
}
=> true
;
"valid document"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = campaign_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = campaign_parameters_doc(&template, &parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = category_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_key_pair(RoleId::Role0);
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;
let template = build_verify_and_publish(p, |p| campaign_parameters_form_template_doc(&parameters, p))?;
let parameters = build_verify_and_publish(p, |p| campaign_parameters_doc(&template, &parameters, p))?;
let template = build_verify_and_publish(p, |p| category_parameters_form_template_doc(&parameters, p))?;

let (sk, kid) = create_key_pair_and_publish(p, || create_dummy_key_pair(RoleId::Role0));
let id = uuid::UuidV7::new();
let template_ref = template.doc_ref()?;
let parameters_ref = parameters.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::Json,
Expand All @@ -62,19 +61,17 @@ use test_case::test_case;
"wrong role"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = campaign_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = campaign_parameters_doc(&template, &parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = category_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_admin_key_pair();
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;
let template = build_verify_and_publish(p, |p| campaign_parameters_form_template_doc(&parameters, p))?;
let parameters = build_verify_and_publish(p, |p| campaign_parameters_doc(&template, &parameters, p))?;
let template = build_verify_and_publish(p, |p| category_parameters_form_template_doc(&parameters, p))?;

let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
let id = uuid::UuidV7::new();
let template_ref = template.doc_ref()?;
let parameters_ref = parameters.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::Json,
Expand All @@ -94,19 +91,17 @@ use test_case::test_case;
"empty content"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = campaign_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = campaign_parameters_doc(&template, &parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = category_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_admin_key_pair();
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;
let template = build_verify_and_publish(p, |p| campaign_parameters_form_template_doc(&parameters, p))?;
let parameters = build_verify_and_publish(p, |p| campaign_parameters_doc(&template, &parameters, p))?;
let template = build_verify_and_publish(p, |p| category_parameters_form_template_doc(&parameters, p))?;

let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
let id = uuid::UuidV7::new();
let template_ref = template.doc_ref()?;
let parameters_ref = parameters.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::Json,
Expand All @@ -125,17 +120,15 @@ use test_case::test_case;
"missing 'content-encoding' (optional)"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = campaign_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = campaign_parameters_doc(&template, &parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_admin_key_pair();
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;
let template = build_verify_and_publish(p, |p| campaign_parameters_form_template_doc(&parameters, p))?;
let parameters = build_verify_and_publish(p, |p| campaign_parameters_doc(&template, &parameters, p))?;

let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
let id = uuid::UuidV7::new();
let parameters_ref = parameters.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::Json,
Expand All @@ -154,18 +147,16 @@ use test_case::test_case;
"missing 'template'"
)]
#[test_case(
|provider| {
let template = brand_parameters_form_template_doc(provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = brand_parameters_doc(&template, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = campaign_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let parameters = campaign_parameters_doc(&template, &parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let template = category_parameters_form_template_doc(&parameters, provider).inspect(|v| provider.add_document(v).unwrap())?;
let id = uuid::UuidV7::new();
let (sk, kid) = create_dummy_admin_key_pair();
provider.add_sk(kid.clone(), sk.clone());
|p| {
let template = build_verify_and_publish(p, brand_parameters_form_template_doc)?;
let parameters = build_verify_and_publish(p, |p| brand_parameters_doc(&template, p))?;
let template = build_verify_and_publish(p, |p| campaign_parameters_form_template_doc(&parameters, p))?;
let parameters = build_verify_and_publish(p, |p| campaign_parameters_doc(&template, &parameters, p))?;
let template = build_verify_and_publish(p, |p| category_parameters_form_template_doc(&parameters, p))?;

let (sk, kid) = create_key_pair_and_publish(p, create_dummy_admin_key_pair);
let id = uuid::UuidV7::new();
let template_ref = template.doc_ref()?;

Builder::new()
.with_json_metadata(serde_json::json!({
"content-type": ContentType::Json,
Expand All @@ -187,15 +178,15 @@ use test_case::test_case;
fn test_category_parameters_doc(
doc_gen: impl FnOnce(&mut TestCatalystProvider) -> anyhow::Result<CatalystSignedDocument>
) -> bool {
let mut provider = TestCatalystProvider::default();
let mut p = TestCatalystProvider::default();

let doc = doc_gen(&mut provider).unwrap();
let doc = doc_gen(&mut p).unwrap();
assert_eq!(
*doc.doc_type().unwrap(),
doc_types::CATEGORY_PARAMETERS.clone()
);

Validator::new().validate(&doc, &provider).unwrap();
Validator::new().validate(&doc, &p).unwrap();
println!("{:?}", doc.report());
!doc.report().is_problematic()
}
Loading