diff --git a/Cargo.lock b/Cargo.lock index 166d27d..6a7da48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1587,9 +1587,9 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.59" +version = "1.0.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aeca18b86b413c660b781aa319e4e2648a3e6f9eadc9b47e9038e6fe9f3451b" +checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" dependencies = [ "unicode-ident", ] diff --git a/src/credentials.rs b/src/credentials.rs index 2d54353..592346b 100644 --- a/src/credentials.rs +++ b/src/credentials.rs @@ -102,11 +102,7 @@ pub fn render_credentials( context.insert("custom_css", &custom_css); } - let content = if render_type == RenderType::HtmlPage { - TEMPLATES.render("base.html", &context)? - } else { - TEMPLATES.render("credentials.html", &context)? - }; + let content = TEMPLATES.render("credentials.html", &context)?; Ok(RenderedContent { content, @@ -238,12 +234,15 @@ mod tests { internal_url: "https://example.com".to_string(), external_host_url: None, external_guest_url: None, + #[cfg(feature = "sentry")] + sentry_dsn: None, default_locale: String::from("nl"), translations: HashMap::new(), decrypter, auth_provider: None, verifier, auth_during_comm_config, + custom_css: None, }; let translations = Translations { @@ -252,43 +251,32 @@ mod tests { ("title".to_string(), "Gegevens".to_string()), ("age".to_string(), "Leeftijd".to_string()), ("email".to_string(), "E-mailadres".to_string()), + ("secured_by".to_string(), "Beveiligd door".to_string()), ]), language: "nl".to_string(), }; let credentials = collect_credentials(&guest_auth_results, &config).unwrap(); - let out_result = + let actual = render_credentials(&config, credentials, RenderType::Html, translations.clone()) .unwrap(); - let result: &str = "

HenkDieter
Leeftijd
42
E-mailadres
hd@example.com
"; - - assert_eq!( - remove_whitespace(result), - remove_whitespace(out_result.content()) - ); - - let credentials = collect_credentials(&guest_auth_results, &config).unwrap(); - let out_result = render_credentials( - &config, - credentials, - RenderType::HtmlPage, - translations.clone(), - ) - .unwrap(); - let result: &str = "Gegevens

Gegevens

HenkDieter
Leeftijd
42
E-mailadres
hd@example.com

"; + let expected: &str = + "Verder \ + Helpen

Henk \ + Dieter

Leeftijd
42
E-mailadres
hd@example.com
Beveiligd door
"; assert_eq!( - remove_whitespace(result), - remove_whitespace(out_result.content()) + remove_whitespace(expected), + remove_whitespace(actual.content()) ); let credentials = collect_credentials(&guest_auth_results, &config).unwrap(); @@ -298,10 +286,10 @@ mod tests { let result: serde_json::Value = serde_json::from_str(rendered.content()).unwrap(); let expected = serde_json::json! { [{ - "purpose":"test_purpose", - "name":"Henk Dieter", - "attributes":{"age":"42","email":"hd@example.com"}} - ] + "purpose": "test_purpose", + "name": "Henk Dieter", + "attributes": { "age":"42", "email": "hd@example.com" } + }] }; assert_eq!(result, expected); diff --git a/src/jwt.rs b/src/jwt.rs index 38de263..cb268d7 100644 --- a/src/jwt.rs +++ b/src/jwt.rs @@ -83,37 +83,37 @@ mod tests { use verder_helpen_proto::StartRequestAuthOnly; use super::{sign_auth_select_params, sign_start_auth_request}; - use crate::prelude::AuthSelectParams; - - const RSA_PRIVKEY: &'static str = - "{\"type\":\"RSA\",\"key\":\"-----BEGIN PRIVATE \ - KEY-----\\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDn/BGtPZPgYa+5\\\ - nBhxaMuv+UV7nWxNXYUt3cYBoyIc3xD9VP9cSE/+RnrTjaXUGPZWlnbIzG/b3gkrA\\\ - nEIg1zfjxUth34N+QycnjJf0tkcrZaR7q0JYEH2ZiAaMzAI11dzNuX3rHX8d69pOi\\nu+T3WvMK/\ - PDq9XTyO2msDI3lpgxTgjT9xUnCLTduH+yStoAHXXSZBKqLVBT/bPoe\\nS5/v7/H9sALG+JYLI8J3/\ - CRc2kWFNxGV8V7IpzLSnAXHU4sIMnWpjuhT7PXBzKl4\\\ - n4d6JRLGuJIeVZpPbiR74nvwYZWacJl278xG66fmG+BqJbGeEgGYTEljq9G4yXCRt\\\ - nGo5+3lBNAgMBAAECggEARY9EsaCMLbS83wrhB37LWneFsHOTqhjHaypCaajvOp6C\\nqwo4b/\ - hFIqHm9WWSrGtc6ssNOtwAwphz14Fdhlybb6j6tX9dKeoHui+S6c4Ud/pY\\nReqDgPr1VR/\ - OkqVwxS8X4dmJVCz5AHrdK+eRMUY5KCtOBfXRuixsdCVTiu+uNH99\\\ - nQC3kID1mmOF3B0chOK4WPN4cCsQpfOvoJfPBcJOtyxUSLlQdJH+04s3gVA24nCJj\\\ - n66+AnVkjgkyQ3q0Jugh1vo0ikrUW8uSLmg40sT5eYDN9jP6r5Gc8yDqsmYNVbLhU\\\ - npY8XR4gtzbtAXK8R2ISKNhOSuTv4SWFXVZiDIBkuIQKBgQD3qnZYyhGzAiSM7T/R\\\ - nWS9KrQlzpRV5qSnEp2sPG/YF+SGAdgOaWOEUa3vbkCuLCTkoJhdTp67BZvv/657Q\\\ - n2eK2khsYRs02Oq+4rYvdcAv/wS2vkMbg6CUp1w2/pwBvwFTXegr00k6IabXNcXBy\\\ - nkAjMsZqVDSdQByrf80AlFyEsOQKBgQDvyoUDhLReeDNkbkPHL/EHD69Hgsc77Hm6\\\ - nMEiLdNljTJLRUl+DuD3yKX1xVBaCLp9fMJ/mCrxtkldhW+i6JBHRQ7vdf11zNsRf\\\ - n2Cud3Q97RMHTacCHhEQDGnYkOQNTRhk8L31N0XBKfUu0phSmVyTnu2lLWmYJ8hyO\\\ - nyOEB19JstQKBgQC3oVw+WRTmdSBEnWREBKxb4hCv/ib+Hb8qYDew7DpuE1oTtWzW\\ndC/\ - uxAMBuNOQMzZ93kBNdnbMT19pUXpfwC2o0IvmZBijrL+9Xm/lr7410zXchqvu\\n9jEX5Kv8/\ - gYE1cYSPhsBiy1PV5HE0edeCg18N/M1sJsFa0sO4X0eAxhFgQKBgQC7\\\ - niQDkUooaBBn1ZsM9agIwSpUD8YTOGdDNy+tAnf9SSNXePXUT+CkCVm6UDnaYE8xy\\nzv2PFUBu1W/\ - fZdkqkwEYT8gCoBS/AcstRkw+Z2AvQQPxyxhXJBto7e4NwEUYgI9F\\n4cI29SDEMR/\ - fRbCKs0basVjVJPr+tkqdZP+MyHT6rQKBgQCT1YjY4F45Qn0Vl+sZ\\nHqwVHvPMwVsexcRTdC0evaX/\ - 09s0xscSACvFJh5Dm9gnuMHElBcpZFATIvFcbV5Y\\nMbJ/\ - NNQiD63NEcL9VXwT96sMx2tnduOq4sYzu84kwPQ4ohxmPt/7xHU3L8SGqoec\\nBs6neR/sZuHzNm8y/\ - xtxj2ZAEw==\\n-----END PRIVATE KEY-----\"}"; - const RSA_PUBKEY: &'static str = + use crate::types::AuthSelectParams; + + const RSA_PRIVKEY: &str = "{\"type\":\"RSA\",\"key\":\"-----BEGIN PRIVATE \ + KEY-----\\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDn/\ + BGtPZPgYa+5\\nBhxaMuv+UV7nWxNXYUt3cYBoyIc3xD9VP9cSE/\ + +RnrTjaXUGPZWlnbIzG/b3gkrA\\\ + nEIg1zfjxUth34N+QycnjJf0tkcrZaR7q0JYEH2ZiAaMzAI11dzNuX3rHX8d69pOi\\\ + nu+T3WvMK/PDq9XTyO2msDI3lpgxTgjT9xUnCLTduH+yStoAHXXSZBKqLVBT/bPoe\\\ + nS5/v7/H9sALG+JYLI8J3/CRc2kWFNxGV8V7IpzLSnAXHU4sIMnWpjuhT7PXBzKl4\\\ + n4d6JRLGuJIeVZpPbiR74nvwYZWacJl278xG66fmG+BqJbGeEgGYTEljq9G4yXCRt\\\ + nGo5+3lBNAgMBAAECggEARY9EsaCMLbS83wrhB37LWneFsHOTqhjHaypCaajvOp6C\\\ + nqwo4b/hFIqHm9WWSrGtc6ssNOtwAwphz14Fdhlybb6j6tX9dKeoHui+S6c4Ud/pY\\\ + nReqDgPr1VR/OkqVwxS8X4dmJVCz5AHrdK+eRMUY5KCtOBfXRuixsdCVTiu+uNH99\\\ + nQC3kID1mmOF3B0chOK4WPN4cCsQpfOvoJfPBcJOtyxUSLlQdJH+04s3gVA24nCJj\\\ + n66+AnVkjgkyQ3q0Jugh1vo0ikrUW8uSLmg40sT5eYDN9jP6r5Gc8yDqsmYNVbLhU\\\ + npY8XR4gtzbtAXK8R2ISKNhOSuTv4SWFXVZiDIBkuIQKBgQD3qnZYyhGzAiSM7T/R\\\ + nWS9KrQlzpRV5qSnEp2sPG/YF+SGAdgOaWOEUa3vbkCuLCTkoJhdTp67BZvv/657Q\\\ + n2eK2khsYRs02Oq+4rYvdcAv/wS2vkMbg6CUp1w2/pwBvwFTXegr00k6IabXNcXBy\\\ + nkAjMsZqVDSdQByrf80AlFyEsOQKBgQDvyoUDhLReeDNkbkPHL/EHD69Hgsc77Hm6\\\ + nMEiLdNljTJLRUl+DuD3yKX1xVBaCLp9fMJ/mCrxtkldhW+i6JBHRQ7vdf11zNsRf\\\ + n2Cud3Q97RMHTacCHhEQDGnYkOQNTRhk8L31N0XBKfUu0phSmVyTnu2lLWmYJ8hyO\\\ + nyOEB19JstQKBgQC3oVw+WRTmdSBEnWREBKxb4hCv/ib+Hb8qYDew7DpuE1oTtWzW\\\ + ndC/uxAMBuNOQMzZ93kBNdnbMT19pUXpfwC2o0IvmZBijrL+9Xm/lr7410zXchqvu\\\ + n9jEX5Kv8/gYE1cYSPhsBiy1PV5HE0edeCg18N/M1sJsFa0sO4X0eAxhFgQKBgQC7\\\ + niQDkUooaBBn1ZsM9agIwSpUD8YTOGdDNy+tAnf9SSNXePXUT+CkCVm6UDnaYE8xy\\\ + nzv2PFUBu1W/fZdkqkwEYT8gCoBS/AcstRkw+Z2AvQQPxyxhXJBto7e4NwEUYgI9F\\\ + n4cI29SDEMR/fRbCKs0basVjVJPr+tkqdZP+MyHT6rQKBgQCT1YjY4F45Qn0Vl+sZ\\\ + nHqwVHvPMwVsexcRTdC0evaX/09s0xscSACvFJh5Dm9gnuMHElBcpZFATIvFcbV5Y\\\ + nMbJ/NNQiD63NEcL9VXwT96sMx2tnduOq4sYzu84kwPQ4ohxmPt/7xHU3L8SGqoec\\\ + nBs6neR/sZuHzNm8y/xtxj2ZAEw==\\n-----END PRIVATE KEY-----\"}"; + const RSA_PUBKEY: &str = "{\"type\":\"RSA\",\"key\":\"-----BEGIN PUBLIC \ KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5/wRrT2T4GGvuQYcWjLr\\n/\ lFe51sTV2FLd3GAaMiHN8Q/VT/XEhP/kZ6042l1Bj2VpZ2yMxv294JKwBCINc34\\\ diff --git a/src/session.rs b/src/session.rs index 8cd70a5..e5c40ad 100644 --- a/src/session.rs +++ b/src/session.rs @@ -223,8 +223,9 @@ mod tests { use super::Session; use crate::{ - prelude::{random_string, GuestToken, SessionDBConn}, - session::clean_db, + session::{clean_db, SessionDBConn}, + types::GuestToken, + util::random_string, }; async fn init_db() -> Option { diff --git a/src/templates.rs b/src/templates.rs index a54c14e..27eee5e 100644 --- a/src/templates.rs +++ b/src/templates.rs @@ -36,7 +36,6 @@ impl<'r> Responder<'r, 'static> for RenderedContent { pub enum RenderType { Json, Html, - HtmlPage, // TODO remove this type as a whole } // Includes template at runtime, if available, otherwise uses compile-time