diff --git a/radicle-httpd/Cargo.toml b/radicle-httpd/Cargo.toml index c727b661c..fff785815 100644 --- a/radicle-httpd/Cargo.toml +++ b/radicle-httpd/Cargo.toml @@ -42,6 +42,7 @@ version = "0.2.0" [dev-dependencies] hyper = { version = "0.14.17", default-features = false, features = ["client"] } +pretty_assertions = { version = "1.3.0" } radicle-cli = { path = "../radicle-cli" } radicle-crypto = { path = "../radicle-crypto" } tempfile = { version = "3.3.0" } diff --git a/radicle-httpd/src/api/json.rs b/radicle-httpd/src/api/json.rs index e6aeff71b..dd4bed70b 100644 --- a/radicle-httpd/src/api/json.rs +++ b/radicle-httpd/src/api/json.rs @@ -9,8 +9,7 @@ use serde_json::{json, Value}; use radicle::cob::issue::{Issue, IssueId}; use radicle::cob::patch::{Patch, PatchId}; use radicle::cob::thread::{self, CommentId}; -use radicle::cob::{OpId, Timestamp}; -use radicle::identity::PublicKey; +use radicle::cob::{Author, OpId, Timestamp}; use radicle_surf::blob::Blob; use radicle_surf::tree::Tree; use radicle_surf::{Commit, Stats}; @@ -130,11 +129,6 @@ fn name_in_path(path: &str) -> &str { } } -#[derive(Serialize)] -struct Author { - id: PublicKey, -} - #[derive(Serialize)] #[serde(rename_all = "camelCase")] struct Comment { @@ -156,9 +150,7 @@ impl<'a> FromIterator<(&'a CommentId, &'a thread::Comment)> for Comments { for (id, comment) in iter { comments.push(Comment { id: id.to_owned(), - author: Author { - id: comment.author(), - }, + author: comment.author().into(), body: comment.body().to_owned(), reactions: [], timestamp: comment.timestamp(), diff --git a/radicle-httpd/src/api/v1/projects.rs b/radicle-httpd/src/api/v1/projects.rs index 0655006ab..68fcaffb6 100644 --- a/radicle-httpd/src/api/v1/projects.rs +++ b/radicle-httpd/src/api/v1/projects.rs @@ -559,6 +559,7 @@ async fn patch_handler( mod routes { use axum::body::Body; use axum::http::StatusCode; + use pretty_assertions::assert_eq; use serde_json::json; use crate::api::test::{self, get, patch, post, HEAD, HEAD_1, ISSUE_ID, PATCH_ID}; @@ -1020,7 +1021,7 @@ mod routes { { "id": ISSUE_ID, "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" }, "title": "Issue #1", "state": { @@ -1031,7 +1032,7 @@ mod routes { { "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/1", "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" }, "body": "Change 'hello world' to 'hello everyone'", "reactions": [], @@ -1083,7 +1084,7 @@ mod routes { json!({ "id": CREATED_ISSUE_ID, "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "assignees": [], "title": "Issue #2", @@ -1093,7 +1094,7 @@ mod routes { "discussion": [{ "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/1", "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "body": "Change 'hello world' to 'hello everyone'", "reactions": [], @@ -1143,7 +1144,7 @@ mod routes { json!({ "id": ISSUE_ID, "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "assignees": [], "title": "Issue #1", @@ -1154,7 +1155,7 @@ mod routes { { "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/1", "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "body": "Change 'hello world' to 'hello everyone'", "reactions": [], @@ -1164,7 +1165,7 @@ mod routes { { "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/5", "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "body": "This is first-level comment", "reactions": [], @@ -1213,7 +1214,7 @@ mod routes { json!({ "id": ISSUE_ID, "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "assignees": [], "title": "Issue #1", @@ -1224,7 +1225,7 @@ mod routes { { "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/1", "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "body": "Change 'hello world' to 'hello everyone'", "reactions": [], @@ -1234,7 +1235,7 @@ mod routes { { "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/5", "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi", }, "body": "This is a reply to the first comment", "reactions": [], @@ -1260,7 +1261,7 @@ mod routes { { "id": PATCH_ID, "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" }, "title": "A new `hello word`", "description": "change `hello world` in README to something else", @@ -1291,7 +1292,7 @@ mod routes { { "id": PATCH_ID, "author": { - "id": "z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" + "id": "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi" }, "title": "A new `hello word`", "description": "change `hello world` in README to something else",