From 2ead4f9f3baebe1ea133159c25e631b001856ed3 Mon Sep 17 00:00:00 2001 From: Peter Salomonsen Date: Tue, 20 Feb 2024 05:50:11 +0000 Subject: [PATCH 1/5] test proposal-comment devcontainer --- .devcontainer/devcontainer.json | 8 ++++++++ .devcontainer/post-create.sh | 6 ++++++ tests/proposals.rs | 28 +++++++++++++++++++++++++++- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/post-create.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..2a8cb897 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,8 @@ +{ + "postCreateCommand": "./.devcontainer/post-create.sh", + "customizations": { + "vscode": { + "extensions": ["dtsvet.vscode-wasm", "rust-lang.rust-analyzer"] + } + } +} diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh new file mode 100755 index 00000000..d7c6275d --- /dev/null +++ b/.devcontainer/post-create.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +echo 'source $HOME/.cargo/env' >> $HOME/.bashrc +source $HOME/.cargo/env +rustup target add wasm32-unknown-unknown diff --git a/tests/proposals.rs b/tests/proposals.rs index 041a4e62..b7d6fce9 100644 --- a/tests/proposals.rs +++ b/tests/proposals.rs @@ -8,7 +8,7 @@ use {crate::test_env::*, serde_json::json}; async fn test_proposal() -> anyhow::Result<()> { // Initialize the devhub and near social contract on chain, // contract is devhub contract instance. - let (contract, worker, ..) = init_contracts_from_res().await?; + let (contract, worker, near_social) = init_contracts_from_res().await?; let deposit_amount = NearToken::from_near(2); @@ -593,5 +593,31 @@ async fn test_proposal() -> anyhow::Result<()> { assert!(_edit_proposal_timeline_funded.is_success()); + let text = "My comment to the proposal"; + let account_id = contract.as_account().id().as_str(); + + let comment_string = format!(r#"{{"item":{{"type":"social","path":"{}/post/main","blockHeight":{}}},"type":"md","text":"{}"}}"#, account_id, social_db_post_block_height, text); + let index_comment_string = format!(r#"{{"key":{{"type":"social","path":"{}/post/main","blockHeight":{}}},"value":{{"type":"md"}}}}"#, account_id, social_db_post_block_height); + let index_notify_string = format!(r#"{{"key":"{}/post/main","value":{{"type":"comment","item":{{"type":"social","path":"{}/post/main","blockHeight":{}}}}}}}"#, account_id, account_id, social_db_post_block_height); + + let _comment_result = near_social.call("set") + .args_json(json!({ + "data": { + account_id: { + "post": { + "comment": comment_string + }, + "index": { + "comment": index_comment_string, + "notify": index_notify_string + } + } + } + })).max_gas() + .transact() + .await?; + + println!("set_greeting outcome: {:#?}", _comment_result); + assert!(_comment_result.is_success()); Ok(()) } From 0adb07786ee6b82c6b86d5f28c100811a4b67a66 Mon Sep 17 00:00:00 2001 From: Peter Salomonsen Date: Tue, 20 Feb 2024 18:17:49 +0000 Subject: [PATCH 2/5] check that posts are in socialdb devcontainer setup --- .devcontainer/devcontainer.json | 1 + .devcontainer/post-create.sh | 4 --- tests/proposals.rs | 50 ++++++++++++++++----------------- 3 files changed, 25 insertions(+), 30 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 2a8cb897..8881a843 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,5 +1,6 @@ { "postCreateCommand": "./.devcontainer/post-create.sh", + "image": "mcr.microsoft.com/devcontainers/rust", "customizations": { "vscode": { "extensions": ["dtsvet.vscode-wasm", "rust-lang.rust-analyzer"] diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index d7c6275d..05a7907c 100755 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -1,6 +1,2 @@ #!/bin/bash -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -echo 'source $HOME/.cargo/env' >> $HOME/.bashrc -source $HOME/.cargo/env -rustup target add wasm32-unknown-unknown diff --git a/tests/proposals.rs b/tests/proposals.rs index b7d6fce9..18f600ad 100644 --- a/tests/proposals.rs +++ b/tests/proposals.rs @@ -52,6 +52,18 @@ async fn test_proposal() -> anyhow::Result<()> { get_proposal["social_db_post_block_height"].as_str().unwrap().parse::()?; assert!(social_db_post_block_height > 0); + let first_proposal_social_post = String::from_utf8( + near_social + .call("get") + .args_json(json!({"keys": [format!("{}/post/main", contract.id())]})) + .view() + .await? + .result, + ) + .unwrap(); + + assert_eq!(first_proposal_social_post, "{\"devhub.near\":{\"post\":{\"main\":\"{\\\"type\\\":\\\"md\\\",\\\"text\\\":\\\"There is a new proposal on DevHub from @devhub.near: “another post“\\\\n> sum\\\\n__Read the full proposal [here](/devhub.near/widget/app?page=proposal&id=0)__\\\"}\"}}}"); + let _edit_proposal_category = contract .call("edit_proposal") .args_json(json!({ @@ -169,6 +181,18 @@ async fn test_proposal() -> anyhow::Result<()> { .transact() .await?; + let second_proposal_social_post = String::from_utf8( + near_social + .call("get") + .args_json(json!({"keys": [format!("{}/post/main", contract.id())]})) + .view() + .await? + .result, + ) + .unwrap(); + + assert_eq!(second_proposal_social_post, "{\"devhub.near\":{\"post\":{\"main\":\"{\\\"type\\\":\\\"md\\\",\\\"text\\\":\\\"There is a new proposal on DevHub from @second.test.near: “another author“\\\\n> sum\\\\n__Read the full proposal [here](/devhub.near/widget/app?page=proposal&id=2)__\\\"}\"}}}"); + let get_second_author_proposal: serde_json::Value = contract .call("get_proposal") .args_json(json!({ @@ -593,31 +617,5 @@ async fn test_proposal() -> anyhow::Result<()> { assert!(_edit_proposal_timeline_funded.is_success()); - let text = "My comment to the proposal"; - let account_id = contract.as_account().id().as_str(); - - let comment_string = format!(r#"{{"item":{{"type":"social","path":"{}/post/main","blockHeight":{}}},"type":"md","text":"{}"}}"#, account_id, social_db_post_block_height, text); - let index_comment_string = format!(r#"{{"key":{{"type":"social","path":"{}/post/main","blockHeight":{}}},"value":{{"type":"md"}}}}"#, account_id, social_db_post_block_height); - let index_notify_string = format!(r#"{{"key":"{}/post/main","value":{{"type":"comment","item":{{"type":"social","path":"{}/post/main","blockHeight":{}}}}}}}"#, account_id, account_id, social_db_post_block_height); - - let _comment_result = near_social.call("set") - .args_json(json!({ - "data": { - account_id: { - "post": { - "comment": comment_string - }, - "index": { - "comment": index_comment_string, - "notify": index_notify_string - } - } - } - })).max_gas() - .transact() - .await?; - - println!("set_greeting outcome: {:#?}", _comment_result); - assert!(_comment_result.is_success()); Ok(()) } From 1e25b971c97200481923951e9e5190ea1ed02df6 Mon Sep 17 00:00:00 2001 From: Peter Salomonsen Date: Tue, 20 Feb 2024 18:32:50 +0000 Subject: [PATCH 3/5] build all contracts in devcontainer --- .devcontainer/post-create.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index 05a7907c..b8ce2c8c 100755 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -1,2 +1,6 @@ #!/bin/bash +(cd discussions && ./build.sh) +(cd community && ./build.sh) +(cd community-factory && ./build.sh) +./build.sh \ No newline at end of file From ddb05d1212214ec2f4a12fb1145c4a62eece5383 Mon Sep 17 00:00:00 2001 From: Peter Salomonsen Date: Thu, 22 Feb 2024 17:49:40 +0000 Subject: [PATCH 4/5] newline at end of file --- .devcontainer/post-create.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index b8ce2c8c..6e07d335 100755 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -3,4 +3,4 @@ (cd discussions && ./build.sh) (cd community && ./build.sh) (cd community-factory && ./build.sh) -./build.sh \ No newline at end of file +./build.sh From 227bfde17d9110d435fdb8f8ed7763eeff952d5f Mon Sep 17 00:00:00 2001 From: Peter Salomonsen Date: Tue, 27 Feb 2024 21:40:29 +0000 Subject: [PATCH 5/5] switch to near devcontainer image cargo near build instead of build.sh --- .devcontainer/devcontainer.json | 12 ++++++++---- .devcontainer/post-create.sh | 8 ++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 8881a843..3c71b3b2 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,9 +1,13 @@ { - "postCreateCommand": "./.devcontainer/post-create.sh", - "image": "mcr.microsoft.com/devcontainers/rust", + "image": "ghcr.io/near/near-devcontainer:latest", "customizations": { "vscode": { - "extensions": ["dtsvet.vscode-wasm", "rust-lang.rust-analyzer"] + "extensions": [ + "dtsvet.vscode-wasm", + "rust-lang.rust-analyzer", + "github.vscode-github-actions" + ] } - } + }, + "postCreateCommand": "./.devcontainer/post-create.sh" } diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index 6e07d335..e9d1ebb7 100755 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -1,6 +1,6 @@ #!/bin/bash -(cd discussions && ./build.sh) -(cd community && ./build.sh) -(cd community-factory && ./build.sh) -./build.sh +(cd discussions && cargo near build) +(cd community && cargo near build) +(cd community-factory && cargo near build) +cargo near build