From c7d443d6e880dc979139f54c3d128b3f9e92503f Mon Sep 17 00:00:00 2001 From: joshua-spacetime Date: Mon, 10 Aug 2026 21:48:08 -0700 Subject: [PATCH] Remove overly broad require_local_server! label from tests --- crates/smoketests/tests/smoketests/cli/auth.rs | 12 ++++++------ crates/smoketests/tests/smoketests/cli/list.rs | 5 ++--- crates/smoketests/tests/smoketests/cli/publish.rs | 13 +++++++------ crates/smoketests/tests/smoketests/servers.rs | 6 +----- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/crates/smoketests/tests/smoketests/cli/auth.rs b/crates/smoketests/tests/smoketests/cli/auth.rs index 73e9477d51f..f26c7ef60db 100644 --- a/crates/smoketests/tests/smoketests/cli/auth.rs +++ b/crates/smoketests/tests/smoketests/cli/auth.rs @@ -1,6 +1,6 @@ //! CLI auth command tests (`login` / `logout`) -use spacetimedb_smoketests::{require_local_server, Smoketest}; +use spacetimedb_smoketests::{require_server_issued_login, Smoketest}; use std::fs; use std::process::Output; use std::time::{Duration, Instant}; @@ -34,7 +34,7 @@ fn write_config(test: &Smoketest, config: &toml::Table) { #[test] fn cli_logout_removes_cached_tokens() { - require_local_server!(); + require_server_issued_login!(); let test = Smoketest::builder().autopublish(false).build(); let login = test.spacetime_cmd(&["login", "--server-issued-login", &test.server_url]); @@ -72,7 +72,7 @@ fn cli_logout_removes_cached_tokens() { #[test] // Even if there's no web session, logout still removes the SpacetimeDB token fn cli_logout_removes_cached_tokens_without_web_token() { - require_local_server!(); + require_server_issued_login!(); let test = Smoketest::builder().autopublish(false).build(); let login = test.spacetime_cmd(&["login", "--server-issued-login", &test.server_url]); @@ -101,7 +101,7 @@ fn cli_logout_removes_cached_tokens_without_web_token() { #[test] fn cli_logout_is_idempotent() { - require_local_server!(); + require_server_issued_login!(); let test = Smoketest::builder().autopublish(false).build(); let login = test.spacetime_cmd(&["login", "--server-issued-login", &test.server_url]); @@ -126,7 +126,7 @@ fn cli_logout_is_idempotent() { #[test] fn cli_direct_login_works_and_shows_core_messages() { - require_local_server!(); + require_server_issued_login!(); let test = Smoketest::builder().autopublish(false).build(); let login = test.spacetime_cmd(&["login", "--server-issued-login", &test.server_url]); @@ -150,7 +150,7 @@ fn cli_direct_login_works_and_shows_core_messages() { #[test] fn cli_logging_in_twice_works() { - require_local_server!(); + require_server_issued_login!(); let test = Smoketest::builder().autopublish(false).build(); let first = test.spacetime_cmd(&["login", "--server-issued-login", &test.server_url]); diff --git a/crates/smoketests/tests/smoketests/cli/list.rs b/crates/smoketests/tests/smoketests/cli/list.rs index 79ccb2996a1..4623ca841ee 100644 --- a/crates/smoketests/tests/smoketests/cli/list.rs +++ b/crates/smoketests/tests/smoketests/cli/list.rs @@ -1,6 +1,6 @@ //! CLI list command tests -use spacetimedb_smoketests::{require_local_server, Smoketest}; +use spacetimedb_smoketests::{random_string, Smoketest}; use std::process::Output; fn output_stdout(output: &Output) -> String { @@ -22,13 +22,12 @@ fn assert_success(output: &Output, context: &str) { #[test] fn cli_list_shows_database_names_and_identities() { - require_local_server!(); let mut test = Smoketest::builder() .precompiled_module("noop") .autopublish(false) .build(); - let primary_name = format!("list-db-{}", std::process::id()); + let primary_name = format!("list-db-{}", random_string()); let alias_name = format!("{primary_name}-alias"); let second_alias_name = format!("{primary_name}-alt"); let identity = test.publish().name(&primary_name).run().unwrap(); diff --git a/crates/smoketests/tests/smoketests/cli/publish.rs b/crates/smoketests/tests/smoketests/cli/publish.rs index 7fe5fab5fc0..599a4669d8a 100644 --- a/crates/smoketests/tests/smoketests/cli/publish.rs +++ b/crates/smoketests/tests/smoketests/cli/publish.rs @@ -1,6 +1,6 @@ //! CLI publish command tests -use spacetimedb_smoketests::{patch_module_cargo_to_local_bindings, require_local_server, Smoketest}; +use spacetimedb_smoketests::{patch_module_cargo_to_local_bindings, random_string, Smoketest}; #[test] fn cli_can_publish_spacetimedb_on_disk() { @@ -47,11 +47,10 @@ fn cli_can_publish_spacetimedb_on_disk() { // e.g. when providing --delete-data, or when there's a conflict and --delete-data=on-conflict is provided. fn migration_test(module_name: &str, republish_args: &[&str], expect_success: bool) { - // This only requires a local server because the module names are static - require_local_server!(); - let test = Smoketest::builder().autopublish(false).build(); + let module_name = format!("{module_name}-{}", random_string()); + let workspace_dir = cargo_metadata::MetadataCommand::new().exec().unwrap().workspace_root; let dir = workspace_dir.join("modules").join("module-test"); @@ -63,7 +62,8 @@ fn migration_test(module_name: &str, republish_args: &[&str], expect_success: bo &dir, "--server", &test.server_url, - module_name, + "--yes=remote", + &module_name, ]) .unwrap(); @@ -74,7 +74,8 @@ fn migration_test(module_name: &str, republish_args: &[&str], expect_success: bo &dir, "--server", &test.server_url, - module_name, + "--yes=remote", + &module_name, ]; args.extend(republish_args); let output = test.spacetime_cmd(&args); diff --git a/crates/smoketests/tests/smoketests/servers.rs b/crates/smoketests/tests/smoketests/servers.rs index c275721103f..6fa3946da2f 100644 --- a/crates/smoketests/tests/smoketests/servers.rs +++ b/crates/smoketests/tests/smoketests/servers.rs @@ -1,13 +1,9 @@ use regex::Regex; -use spacetimedb_smoketests::{require_local_server, Smoketest}; +use spacetimedb_smoketests::Smoketest; /// Verify that we can add and list server configurations #[test] fn test_servers() { - // This only covers local CLI config behavior, so it is not valuable to run - // against remote servers. - require_local_server!(); - let test = Smoketest::builder().autopublish(false).build(); // Add a test server (local-only command, no --server flag needed)