mirror of
https://github.com/msmhq/msm.git
synced 2024-08-30 18:12:35 +00:00
Added helper functions which set variables for script tests.
This commit is contained in:
parent
c79efe0abd
commit
67e73f2b4e
6
init/msm
6
init/msm
@ -677,7 +677,11 @@ jargroup_rename() {
|
|||||||
|
|
||||||
# Echos a list of servers in the SERVER_STORAGE_PATH
|
# Echos a list of servers in the SERVER_STORAGE_PATH
|
||||||
server_list() {
|
server_list() {
|
||||||
ls -1 "$SERVER_STORAGE_PATH"
|
if [ -d "$SERVER_STORAGE_PATH" ]; then
|
||||||
|
ls -1 "$SERVER_STORAGE_PATH"
|
||||||
|
else
|
||||||
|
echo "[There are no servers]"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Creates a new server
|
# Creates a new server
|
||||||
|
83
test.sh
83
test.sh
@ -44,9 +44,18 @@ setUp() {
|
|||||||
echo "DEBUG=\"true\"" >> "$MSM_CONF"
|
echo "DEBUG=\"true\"" >> "$MSM_CONF"
|
||||||
|
|
||||||
source "$MSM_CONF"
|
source "$MSM_CONF"
|
||||||
|
|
||||||
|
# Variables accessible by all tests, which are set by the stdall, stderr,
|
||||||
|
# stdout and quiet utility functions.
|
||||||
|
declare OUTPUT
|
||||||
|
declare EXIT_CODE
|
||||||
}
|
}
|
||||||
|
|
||||||
tearDown() {
|
tearDown() {
|
||||||
|
# Clear the variables used in test functions
|
||||||
|
unset EXIT_CODE
|
||||||
|
unset OUTPUT
|
||||||
|
|
||||||
# Remove the temporary testing directory
|
# Remove the temporary testing directory
|
||||||
if [ -d "${TMP_DIR}" ]; then
|
if [ -d "${TMP_DIR}" ]; then
|
||||||
rm -rf "${TMP_DIR}"
|
rm -rf "${TMP_DIR}"
|
||||||
@ -57,9 +66,48 @@ tearDown() {
|
|||||||
# Utils
|
# Utils
|
||||||
# -----
|
# -----
|
||||||
|
|
||||||
|
reset_vars() {
|
||||||
|
unset OUTPUT
|
||||||
|
unset EXIT_CODE
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure there is output in stderr
|
||||||
|
expect_stderr() {
|
||||||
|
reset_vars
|
||||||
|
OUTPUT=$("$@" 2>&1 1>/dev/null)
|
||||||
|
EXIT_CODE=$?
|
||||||
|
assertNotNull "No stderr given when expected." "$OUTPUT"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure there is NO output in stderr
|
||||||
|
expect_stderr_empty() {
|
||||||
|
reset_vars
|
||||||
|
OUTPUT=$("$@" 2>&1 1>/dev/null)
|
||||||
|
EXIT_CODE=$?
|
||||||
|
assertNull "$OUTPUT" "$OUTPUT"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure there is output in stdout
|
||||||
|
expect_stdout() {
|
||||||
|
reset_vars
|
||||||
|
OUTPUT=$("$@")
|
||||||
|
EXIT_CODE=$?
|
||||||
|
assertNotNull "No stdout given when expected." "$OUTPUT"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure there is NO output in stdout
|
||||||
|
expect_stdout_empty() {
|
||||||
|
reset_vars
|
||||||
|
OUTPUT=$("$@")
|
||||||
|
EXIT_CODE=$?
|
||||||
|
assertNull "$OUTPUT" "$OUTPUT"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute a command silently (ignore stdout and stderr)
|
||||||
quiet() {
|
quiet() {
|
||||||
|
reset_vars
|
||||||
"$@" >& /dev/null
|
"$@" >& /dev/null
|
||||||
return $?
|
EXIT_CODE=$?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -81,33 +129,38 @@ quiet() {
|
|||||||
|
|
||||||
### "msm server list" tests
|
### "msm server list" tests
|
||||||
|
|
||||||
|
test_listing_no_servers() {
|
||||||
|
expect_stderr_empty $SCRIPT server list
|
||||||
|
assertEquals "Incorrect exit code." $EX_OK $EXIT_CODE
|
||||||
|
}
|
||||||
|
|
||||||
### "msm server create" tests
|
### "msm server create" tests
|
||||||
|
|
||||||
test_reserved_server_names() {
|
test_reserved_server_names() {
|
||||||
for name in "start" "stop" "restart" "server" "version" "jargroup" "all"; do
|
for name in "start" "stop" "restart" "server" "version" "jargroup" "all"; do
|
||||||
quiet $SCRIPT server create $name
|
expect_stderr $SCRIPT server create $name
|
||||||
assertEquals "Incorrect exit code when creating server name \"$name\"." $EX_INVALID_ARGUMENT $?
|
assertEquals "Incorrect exit code when creating server name \"$name\"." $EX_INVALID_ARGUMENT $EXIT_CODE
|
||||||
assertFalse "Server \"$name\" directory was created when it should not have been." "[ -d \"$SERVER_STORAGE_PATH/$name\" ]"
|
assertFalse "Server \"$name\" directory was created when it should not have been." "[ -d \"$SERVER_STORAGE_PATH/$name\" ]"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
test_common_invalid_server_names() {
|
test_common_invalid_server_names() {
|
||||||
quiet $SCRIPT server create "name with spaces"
|
expect_stderr $SCRIPT server create "name with spaces"
|
||||||
assertEquals "Incorrect exit code when creating server name \"name with spaces\"." $EX_INVALID_ARGUMENT $?
|
assertEquals "Incorrect exit code when creating server name \"name with spaces\"." $EX_INVALID_ARGUMENT $EXIT_CODE
|
||||||
assertFalse "Server \"name with spaces\" directory was created when it should not have been." "[ -d \"$SERVER_STORAGE_PATH/$name\" ]"
|
assertFalse "Server \"name with spaces\" directory was created when it should not have been." "[ -d \"$SERVER_STORAGE_PATH/$name\" ]"
|
||||||
}
|
}
|
||||||
|
|
||||||
test_valid_edge_case_server_names() {
|
test_valid_edge_case_server_names() {
|
||||||
for name in "serverstart" "CapitalLetters" "0987654321" "name-with-dashes" "name_with_underscores" "Combination-of_different1Things2"; do
|
for name in "serverstart" "CapitalLetters" "0987654321" "name-with-dashes" "name_with_underscores" "Combination-of_different1Things2"; do
|
||||||
quiet $SCRIPT server create $name
|
expect_stderr_empty $SCRIPT server create $name
|
||||||
assertEquals "Incorrect exit code when creating server name \"$name\"." $EX_OK $?
|
assertEquals "Incorrect exit code when creating server name \"$name\"." $EX_OK $EXIT_CODE
|
||||||
assertTrue "Server \"$name\" directory was NOT created when it should not have been." "[ -d \"$SERVER_STORAGE_PATH/$name\" ]"
|
assertTrue "Server \"$name\" directory was NOT created when it should not have been." "[ -d \"$SERVER_STORAGE_PATH/$name\" ]"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
test_create_server_without_any_jargroups() {
|
test_create_server_without_any_jargroups() {
|
||||||
quiet $SCRIPT server create example
|
expect_stderr_empty $SCRIPT server create example
|
||||||
assertEquals "Incorrect exit code." $EX_OK $?
|
assertEquals "Incorrect exit code." $EX_OK $EXIT_CODE
|
||||||
assertTrue "Server was not created." "[ -d \"$SERVER_STORAGE_PATH/example\" ]"
|
assertTrue "Server was not created." "[ -d \"$SERVER_STORAGE_PATH/example\" ]"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -116,9 +169,9 @@ test_creating_server_when_that_name_already_exists() {
|
|||||||
# Create server "example"
|
# Create server "example"
|
||||||
quiet $SCRIPT server create example
|
quiet $SCRIPT server create example
|
||||||
# Create another server called "example", should be prevented
|
# Create another server called "example", should be prevented
|
||||||
quiet $SCRIPT server create example
|
expect_stderr $SCRIPT server create example
|
||||||
|
|
||||||
assertEquals "Incorrect exit code." $EX_DUPLICATE_NAME $?
|
assertEquals "Incorrect exit code." $EX_DUPLICATE_NAME $EXIT_CODE
|
||||||
}
|
}
|
||||||
|
|
||||||
# Assumes: test_creating_jargroup
|
# Assumes: test_creating_jargroup
|
||||||
@ -127,9 +180,9 @@ test_create_server_with_jar_groups() {
|
|||||||
# new servers.
|
# new servers.
|
||||||
quiet $SCRIPT jargroup create minecraft "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar"
|
quiet $SCRIPT jargroup create minecraft "https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar"
|
||||||
# Create a new server that will use the "minecraft" jar group.
|
# Create a new server that will use the "minecraft" jar group.
|
||||||
quiet $SCRIPT server create example
|
expect_stderr_empty $SCRIPT server create example
|
||||||
|
|
||||||
assertEquals "Incorrect exit code." $EX_OK $?
|
assertEquals "Incorrect exit code." $EX_OK $EXIT_CODE
|
||||||
assertTrue "Server direcotry was not created." "[ -d \"$SERVER_STORAGE_PATH/example\" ]"
|
assertTrue "Server direcotry was not created." "[ -d \"$SERVER_STORAGE_PATH/example\" ]"
|
||||||
assertTrue "Server jar was not linked." "[ -f \"$SERVER_STORAGE_PATH/example/$DEFAULT_JAR\" ]"
|
assertTrue "Server jar was not linked." "[ -f \"$SERVER_STORAGE_PATH/example/$DEFAULT_JAR\" ]"
|
||||||
}
|
}
|
||||||
@ -137,9 +190,9 @@ test_create_server_with_jar_groups() {
|
|||||||
### "msm server delete" tests
|
### "msm server delete" tests
|
||||||
|
|
||||||
test_deleting_server_that_does_not_exist() {
|
test_deleting_server_that_does_not_exist() {
|
||||||
quiet $SCRIPT server delete example
|
expect_stderr $SCRIPT server delete example
|
||||||
|
|
||||||
assertEquals "Incorrect exit code." $EX_NAME_NOT_FOUND $?
|
assertEquals "Incorrect exit code." $EX_NAME_NOT_FOUND $EXIT_CODE
|
||||||
}
|
}
|
||||||
|
|
||||||
### "msm server rename" tests
|
### "msm server rename" tests
|
||||||
|
Loading…
Reference in New Issue
Block a user