feat: reorganize examples and add signature support to JobBuilder
- Reorganized examples into osiris/, sal/, and utils/ folders - Moved hardcoded scripts to separate .rhai files - Added signature() method to JobBuilder for job signing - Updated OSIRIS context to use block_in_place instead of runtime - Removed runtime field from OsirisContext - Added typed save() methods for Note and Event objects - Updated all examples to use new structure and APIs
This commit is contained in:
		
							
								
								
									
										80
									
								
								examples/sal/scripts/_archive/process_silent_test.rhai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								examples/sal/scripts/_archive/process_silent_test.rhai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
// Test script for run_silent functionality
 | 
			
		||||
 | 
			
		||||
print("===== Testing run_silent functionality =====");
 | 
			
		||||
 | 
			
		||||
// Helper function for assertions
 | 
			
		||||
fn assert(condition, message) {
 | 
			
		||||
    if (condition == false) {
 | 
			
		||||
        print(`FAILED: ${message}`);
 | 
			
		||||
        throw `Assertion failed: ${message}`;
 | 
			
		||||
    } else {
 | 
			
		||||
        print(`PASSED: ${message}`);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Test 1: Basic run_silent with a successful command
 | 
			
		||||
print("\n=== Test 1: Basic run_silent with successful command ===");
 | 
			
		||||
let silent_result = run_silent("echo This output should not be visible");
 | 
			
		||||
print("Result from silent echo command:");
 | 
			
		||||
print(`  success: ${silent_result.success}`);
 | 
			
		||||
print(`  code: ${silent_result.code}`);
 | 
			
		||||
print(`  stdout length: ${silent_result.stdout.len()}`);
 | 
			
		||||
print(`  stderr length: ${silent_result.stderr.len()}`);
 | 
			
		||||
 | 
			
		||||
// Assert that the command succeeded
 | 
			
		||||
assert(silent_result.success, "Silent command should succeed");
 | 
			
		||||
assert(silent_result.code.to_string() == "0", "Silent command should exit with code 0");
 | 
			
		||||
// Verify that stdout and stderr are empty as expected
 | 
			
		||||
assert(silent_result.stdout == "", "Silent command stdout should be empty");
 | 
			
		||||
assert(silent_result.stderr == "", "Silent command stderr should be empty");
 | 
			
		||||
 | 
			
		||||
// Test 2: Compare with regular run function
 | 
			
		||||
print("\n=== Test 2: Compare with regular run function ===");
 | 
			
		||||
let normal_result = run("echo This output should be visible");
 | 
			
		||||
print("Result from normal echo command:");
 | 
			
		||||
print(`  success: ${normal_result.success}`);
 | 
			
		||||
print(`  code: ${normal_result.code}`);
 | 
			
		||||
print(`  stdout: "${normal_result.stdout.trim()}"`);
 | 
			
		||||
print(`  stderr length: ${normal_result.stderr.len()}`);
 | 
			
		||||
 | 
			
		||||
// Assert that the command succeeded
 | 
			
		||||
assert(normal_result.success, "Normal command should succeed");
 | 
			
		||||
assert(normal_result.code.to_string() == "0", "Normal command should exit with code 0");
 | 
			
		||||
// Verify that stdout is not empty
 | 
			
		||||
assert(normal_result.stdout != "", "Normal command stdout should not be empty");
 | 
			
		||||
assert(normal_result.stdout.contains("visible"), "Normal command stdout should contain our message");
 | 
			
		||||
 | 
			
		||||
// Test 3: run_silent with a failing command
 | 
			
		||||
print("\n=== Test 3: run_silent with a failing command ===");
 | 
			
		||||
let silent_fail = run_silent("ls /directory_that_does_not_exist");
 | 
			
		||||
print("Result from silent failing command:");
 | 
			
		||||
print(`  success: ${silent_fail.success}`);
 | 
			
		||||
print(`  code: ${silent_fail.code}`);
 | 
			
		||||
print(`  stdout length: ${silent_fail.stdout.len()}`);
 | 
			
		||||
print(`  stderr length: ${silent_fail.stderr.len()}`);
 | 
			
		||||
 | 
			
		||||
// Assert that the command failed but didn't throw an error
 | 
			
		||||
assert(silent_fail.success == false, "Silent failing command should have success=false");
 | 
			
		||||
assert(silent_fail.code.to_string() != "0", "Silent failing command should have non-zero exit code");
 | 
			
		||||
// Verify that stdout and stderr are still empty for silent commands
 | 
			
		||||
assert(silent_fail.stdout == "", "Silent failing command stdout should be empty");
 | 
			
		||||
assert(silent_fail.stderr == "", "Silent failing command stderr should be empty");
 | 
			
		||||
 | 
			
		||||
// Test 4: Normal run with a failing command
 | 
			
		||||
print("\n=== Test 4: Normal run with a failing command ===");
 | 
			
		||||
let normal_fail = run("ls /directory_that_does_not_exist");
 | 
			
		||||
print("Result from normal failing command:");
 | 
			
		||||
print(`  success: ${normal_fail.success}`);
 | 
			
		||||
print(`  code: ${normal_fail.code}`);
 | 
			
		||||
print(`  stdout length: ${normal_fail.stdout.len()}`);
 | 
			
		||||
print(`  stderr length: ${normal_fail.stderr.len()}`);
 | 
			
		||||
 | 
			
		||||
// Assert that the command failed
 | 
			
		||||
assert(normal_fail.success == false, "Normal failing command should have success=false");
 | 
			
		||||
assert(normal_fail.code.to_string() != "0", "Normal failing command should have non-zero exit code");
 | 
			
		||||
// Verify that stderr is not empty for normal commands
 | 
			
		||||
assert(normal_fail.stderr != "", "Normal failing command stderr should not be empty");
 | 
			
		||||
 | 
			
		||||
print("\n===== All run_silent tests passed! =====");
 | 
			
		||||
 | 
			
		||||
"run_silent function works correctly"
 | 
			
		||||
		Reference in New Issue
	
	Block a user