Skip to content

Commit

Permalink
feat: add sn_auditor to release type
Browse files Browse the repository at this point in the history
  • Loading branch information
RolandSherwin authored and jacderida committed May 16, 2024
1 parent 47d4267 commit a908448
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ const SAFENODE_S3_BASE_URL: &str = "https://sn-node.s3.eu-west-2.amazonaws.com";
const SAFENODE_MANAGER_S3_BASE_URL: &str = "https://sn-node-manager.s3.eu-west-2.amazonaws.com";
const SAFENODE_RPC_CLIENT_S3_BASE_URL: &str =
"https://sn-node-rpc-client.s3.eu-west-2.amazonaws.com";
const SN_AUDITOR_S3_BASE_URL: &str = "https://sn-auditor.s3.eu-west-2.amazonaws.com";

#[derive(Clone, Debug, Eq, Hash, PartialEq)]
pub enum ReleaseType {
Expand All @@ -42,6 +43,7 @@ pub enum ReleaseType {
SafenodeManager,
SafenodeManagerDaemon,
SafenodeRpcClient,
SnAuditor,
}

impl fmt::Display for ReleaseType {
Expand All @@ -57,6 +59,7 @@ impl fmt::Display for ReleaseType {
ReleaseType::SafenodeManager => "safenode-manager",
ReleaseType::SafenodeManagerDaemon => "safenodemand",
ReleaseType::SafenodeRpcClient => "safenode_rpc_client",
ReleaseType::SnAuditor => "sn_auditor",
}
)
}
Expand All @@ -72,6 +75,8 @@ lazy_static! {
m.insert(ReleaseType::SafenodeManager, "sn-node-manager");
m.insert(ReleaseType::SafenodeManagerDaemon, "sn-node-manager");
m.insert(ReleaseType::SafenodeRpcClient, "sn_node_rpc_client");
m.insert(ReleaseType::SnAuditor, "sn_auditor");

m
};
}
Expand Down Expand Up @@ -148,6 +153,7 @@ impl dyn SafeReleaseRepoActions {
safenode_base_url: SAFENODE_S3_BASE_URL.to_string(),
safenode_manager_base_url: SAFENODE_MANAGER_S3_BASE_URL.to_string(),
safenode_rpc_client_base_url: SAFENODE_RPC_CLIENT_S3_BASE_URL.to_string(),
sn_auditor_base_url: SN_AUDITOR_S3_BASE_URL.to_string(),
})
}
}
Expand All @@ -160,6 +166,7 @@ pub struct SafeReleaseRepository {
pub safenode_base_url: String,
pub safenode_manager_base_url: String,
pub safenode_rpc_client_base_url: String,
pub sn_auditor_base_url: String,
}

impl SafeReleaseRepository {
Expand All @@ -172,6 +179,7 @@ impl SafeReleaseRepository {
ReleaseType::SafenodeManager => self.safenode_manager_base_url.clone(),
ReleaseType::SafenodeManagerDaemon => self.safenode_manager_base_url.clone(),
ReleaseType::SafenodeRpcClient => self.safenode_rpc_client_base_url.clone(),
ReleaseType::SnAuditor => self.sn_auditor_base_url.clone(),
}
}

Expand Down
71 changes: 71 additions & 0 deletions tests/test_download_from_s3.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ const SAFENODE_VERSION: &str = "0.93.7";
const SAFENODE_MANAGER_VERSION: &str = "0.1.8";
const SAFENODE_MANAGERD_VERSION: &str = "0.4.1";
const SAFENODE_RPC_CLIENT_VERSION: &str = "0.1.40";
const SN_AUDITOR_VERSION: &str = "0.1.16";

async fn download_and_extract(
release_type: &ReleaseType,
Expand Down Expand Up @@ -58,6 +59,7 @@ async fn download_and_extract(
ReleaseType::SafenodeManager => "safenode-manager",
ReleaseType::SafenodeManagerDaemon => "safenodemand",
ReleaseType::SafenodeRpcClient => "safenode_rpc_client",
ReleaseType::SnAuditor => "sn_auditor",
};
let expected_binary_name = if *platform == Platform::Windows {
format!("{}.exe", binary_name)
Expand Down Expand Up @@ -552,3 +554,72 @@ async fn should_download_and_extract_node_launchpad_for_windows() {
)
.await;
}

///
/// Sn Auditor Test
///
#[tokio::test]
async fn should_download_and_extract_sn_auditor_for_linux_musl() {
download_and_extract(
&ReleaseType::SnAuditor,
SN_AUDITOR_VERSION,
&Platform::LinuxMusl,
&ArchiveType::TarGz,
)
.await;
}

#[tokio::test]
async fn should_download_and_extract_sn_auditor_for_linux_musl_aarch64() {
download_and_extract(
&ReleaseType::SnAuditor,
SN_AUDITOR_VERSION,
&Platform::LinuxMuslAarch64,
&ArchiveType::TarGz,
)
.await;
}

#[tokio::test]
async fn should_download_and_extract_sn_auditor_for_linux_musl_arm() {
download_and_extract(
&ReleaseType::SnAuditor,
SN_AUDITOR_VERSION,
&Platform::LinuxMuslArm,
&ArchiveType::TarGz,
)
.await;
}

#[tokio::test]
async fn should_download_and_extract_sn_auditor_for_linux_musl_arm_v7() {
download_and_extract(
&ReleaseType::SnAuditor,
SN_AUDITOR_VERSION,
&Platform::LinuxMuslArmV7,
&ArchiveType::TarGz,
)
.await;
}

#[tokio::test]
async fn should_download_and_extract_sn_auditor_for_macos() {
download_and_extract(
&ReleaseType::SnAuditor,
SN_AUDITOR_VERSION,
&Platform::MacOs,
&ArchiveType::TarGz,
)
.await;
}

#[tokio::test]
async fn should_download_and_extract_sn_auditor_for_windows() {
download_and_extract(
&ReleaseType::SnAuditor,
SN_AUDITOR_VERSION,
&Platform::Windows,
&ArchiveType::Zip,
)
.await;
}

0 comments on commit a908448

Please sign in to comment.