Skip to content

Commit

Permalink
Make sure cli/ephem tests work on all platforms
Browse files Browse the repository at this point in the history
  • Loading branch information
Sushisource committed Feb 11, 2025
1 parent 499bd63 commit 6519eb1
Showing 1 changed file with 43 additions and 38 deletions.
81 changes: 43 additions & 38 deletions tests/integ_tests/ephemeral_server_tests.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use futures_util::stream;
use futures_util::TryStreamExt;
use futures_util::{stream, TryStreamExt};
use std::time::{SystemTime, UNIX_EPOCH};
use temporal_client::{ClientOptionsBuilder, TestService, WorkflowService};
use temporal_sdk_core::ephemeral_server::{
Expand Down Expand Up @@ -29,7 +28,7 @@ async fn temporal_cli_default() {
#[tokio::test]
async fn temporal_cli_fixed() {
let config = TemporalDevServerConfigBuilder::default()
.exe(fixed_cached_download("v0.4.0"))
.exe(fixed_cached_download("v1.2.0"))
.build()
.unwrap();
let mut server = config.start_server().await.unwrap();
Expand Down Expand Up @@ -81,43 +80,49 @@ async fn temporal_cli_concurrent_starts() -> Result<(), Box<dyn std::error::Erro
Ok(())
}

#[tokio::test]
async fn test_server_default() {
let config = TestServerConfigBuilder::default()
.exe(default_cached_download())
.build()
.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
}
// Test server downloads aren't available for arm linux
#[cfg(not(all(target_os = "linux", any(target_arch = "arm", target_arch = "aarch64"))))]
mod test_server {
use super::*;

#[tokio::test]
async fn test_server_fixed() {
let config = TestServerConfigBuilder::default()
.exe(fixed_cached_download("v1.16.0"))
.build()
.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
}
#[tokio::test]
async fn test_server_default() {
let config = TestServerConfigBuilder::default()
.exe(default_cached_download())
.build()
.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
}

#[tokio::test]
async fn test_server_shutdown_port_reuse() {
// Start, test shutdown, do again immediately on same port to ensure we can
// reuse after shutdown
let config = TestServerConfigBuilder::default()
.exe(default_cached_download())
.port(Some(10124))
.build()
.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
#[tokio::test]
async fn test_server_fixed() {
let config = TestServerConfigBuilder::default()
.exe(fixed_cached_download("v1.16.0"))
.build()
.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
}

#[tokio::test]
async fn test_server_shutdown_port_reuse() {
// Start, test shutdown, do again immediately on same port to ensure we can
// reuse after shutdown
let config = TestServerConfigBuilder::default()
.exe(default_cached_download())
.port(Some(10124))
.build()
.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
let mut server = config.start_server().await.unwrap();
assert_ephemeral_server(&server).await;
server.shutdown().await.unwrap();
}
}

fn fixed_cached_download(version: &str) -> EphemeralExe {
Expand Down

0 comments on commit 6519eb1

Please sign in to comment.