2024-10-21 04:57:23 +02:00
|
|
|
use kanidm_client::{ClientError, KanidmClient};
|
2024-03-07 00:54:20 +01:00
|
|
|
use kanidm_proto::constants::ATTR_MAIL;
|
2024-10-21 04:57:23 +02:00
|
|
|
use kanidmd_testkit::{create_user, ADMIN_TEST_PASSWORD, ADMIN_TEST_USER};
|
2024-03-07 00:54:20 +01:00
|
|
|
use serde_json::Value;
|
2023-07-05 14:26:39 +02:00
|
|
|
|
|
|
|
#[kanidmd_testkit::test]
|
2024-03-07 00:54:20 +01:00
|
|
|
async fn test_v1_person_id_patch(rsclient: KanidmClient) {
|
|
|
|
let res = rsclient
|
2024-10-21 04:57:23 +02:00
|
|
|
.auth_simple_password(ADMIN_TEST_USER, ADMIN_TEST_PASSWORD)
|
2024-03-07 00:54:20 +01:00
|
|
|
.await;
|
|
|
|
assert!(res.is_ok());
|
2023-07-05 14:26:39 +02:00
|
|
|
|
2024-03-07 00:54:20 +01:00
|
|
|
create_user(&rsclient, "foo", "foogroup").await;
|
2023-07-05 14:26:39 +02:00
|
|
|
|
2024-03-07 00:54:20 +01:00
|
|
|
let post_body = serde_json::json!({"attrs": { ATTR_MAIL : ["crab@example.com"]}});
|
|
|
|
|
|
|
|
let response: Value = match rsclient
|
|
|
|
.perform_patch_request("/v1/person/foo", post_body)
|
2023-07-05 14:26:39 +02:00
|
|
|
.await
|
|
|
|
{
|
2024-03-07 00:54:20 +01:00
|
|
|
Ok(val) => val,
|
|
|
|
Err(err) => panic!("Failed to patch person: {:?}", err),
|
2023-07-05 14:26:39 +02:00
|
|
|
};
|
|
|
|
eprintln!("response: {:#?}", response);
|
|
|
|
}
|
2024-10-21 04:57:23 +02:00
|
|
|
|
|
|
|
#[kanidmd_testkit::test]
|
|
|
|
async fn test_v1_person_id_ssh_pubkeys_post(rsclient: KanidmClient) {
|
|
|
|
let res = rsclient
|
|
|
|
.auth_simple_password(ADMIN_TEST_USER, ADMIN_TEST_PASSWORD)
|
|
|
|
.await;
|
|
|
|
assert!(res.is_ok());
|
|
|
|
|
|
|
|
create_user(&rsclient, "foo", "foogroup").await;
|
|
|
|
|
|
|
|
let post_body = serde_json::json!([
|
|
|
|
"ssh-key-tag-goes-here",
|
|
|
|
"ed25519 im_a_real_ssh_public_key_just_trust_me comment"
|
|
|
|
]);
|
|
|
|
|
|
|
|
let response: ClientError = match rsclient
|
|
|
|
.perform_post_request::<serde_json::Value, String>("/v1/person/foo/_ssh_pubkeys", post_body)
|
|
|
|
.await
|
|
|
|
{
|
|
|
|
Ok(val) => panic!("Expected failure to post person ssh pubkeys: {:?}", val),
|
|
|
|
Err(err) => err,
|
|
|
|
};
|
|
|
|
eprintln!("response: {:#?}", response);
|
|
|
|
assert!(matches!(
|
|
|
|
response,
|
|
|
|
ClientError::Http(reqwest::StatusCode::BAD_REQUEST, _, _)
|
|
|
|
));
|
|
|
|
}
|