Nothing
test_that("cleanup_session function exists and has correct signature", {
# Verify the function exists
expect_true(exists("cleanup_session", mode = "function"))
# Check that it can be called with the expected parameters
# (without actually running cleanup on a real session)
})
test_that("session object has cleanup method", {
skip_on_cran()
skip_if_offline()
# Create a mock session object to check structure
backend <- new.env()
backend$session_id <- "test-session-id"
backend$region <- "us-east-1"
backend$bucket <- "test-bucket"
backend$cluster_name <- "test-cluster"
# Create session object
session <- create_session_object(backend)
# Verify cleanup method exists
expect_true("cleanup" %in% names(session))
expect_true(is.function(session$cleanup))
# Check that cleanup has the right parameters
cleanup_formals <- formals(session$cleanup)
expect_true("stop_workers" %in% names(cleanup_formals))
expect_true("force" %in% names(cleanup_formals))
# Check defaults
expect_equal(cleanup_formals$stop_workers, TRUE)
expect_equal(cleanup_formals$force, FALSE)
})
test_that("cleanup respects stop_workers parameter", {
skip_on_cran()
skip_if_offline()
skip("Integration test requires live AWS resources")
# This would test that:
# 1. session$cleanup(stop_workers = FALSE) doesn't stop tasks
# 2. session$cleanup(stop_workers = TRUE) does stop tasks
# Requires actual session creation
})
test_that("cleanup respects force parameter for S3 deletion", {
skip_on_cran()
skip_if_offline()
skip("Integration test requires live AWS resources")
# This would test that:
# 1. session$cleanup(force = FALSE) preserves S3 files
# 2. session$cleanup(force = TRUE) deletes S3 files
# Requires actual session creation
})
test_that("launch_detached_workers tracks task ARNs in manifest", {
skip_on_cran()
skip_if_offline()
skip("Integration test requires live AWS resources")
# This would test that:
# 1. After launching workers, manifest contains ecs_task_arns
# 2. Number of ARNs matches number of workers
# 3. ARNs are valid ECS task ARN format
# Requires actual session creation and AWS access
})
test_that("cleanup can identify and stop session-specific tasks", {
skip_on_cran()
skip_if_offline()
skip("Integration test requires live AWS resources")
# This would test that:
# 1. cleanup only stops tasks belonging to the session
# 2. cleanup doesn't stop tasks from other sessions
# 3. cleanup reports accurate count of stopped tasks
# Requires multiple active sessions
})
test_that("cleanup verifies S3 deletion when force=TRUE", {
skip_on_cran()
skip_if_offline()
skip("Integration test requires live AWS resources")
# This would test that:
# 1. After cleanup(force=TRUE), S3 prefix has 0 objects
# 2. Cleanup reports number of deleted objects
# 3. Task files are also deleted
# Requires actual session with S3 files
})
test_that("cleanup handles errors gracefully", {
skip_on_cran()
skip_if_offline()
# Create a session with invalid backend to test error handling
backend <- new.env()
backend$session_id <- "test-session-id"
backend$region <- "us-east-1"
backend$bucket <- "nonexistent-bucket-12345"
backend$cluster_name <- "nonexistent-cluster"
session <- create_session_object(backend)
# Cleanup should not crash, just warn
expect_output(
session$cleanup(stop_workers = FALSE, force = FALSE),
"Cleanup complete" # Should still report completion
)
})
test_that("cleanup marks session as terminated in manifest", {
skip_on_cran()
skip_if_offline()
skip("Integration test requires live AWS resources")
# This would test that:
# 1. After cleanup(force=FALSE), manifest has state="terminated"
# 2. Manifest has terminated_at timestamp
# 3. After cleanup(force=TRUE), manifest is deleted
# Requires actual session
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.