Files
ObsidianSetup/Test-ObsidianInstallation.sh
T
2024-06-09 14:04:33 +02:00

61 lines
1.7 KiB
Bash

#!/bin/bash
function test_os_selection {
echo "Testing OS selection..."
echo "L" | ./install_obsidian.sh
echo "M" | ./install_obsidian.sh
echo "W" | ./install_obsidian.sh
}
function test_dependencies_installation {
echo "Simulating environment without wget and jq..."
sudo apt remove -y wget jq
echo "Installing dependencies..."
sudo apt update
sudo apt install -y wget jq
if ! command -v wget &> /dev/null || ! command -v jq &> /dev/null; then
echo "Failed to install dependencies."
else
echo "Dependencies installed successfully."
fi
}
function test_obsidian_download_failure {
echo "Simulating download failure..."
sudo iptables -A OUTPUT -p tcp --dport 443 -j REJECT
echo "Downloading Obsidian..."
wget https://github.com/obsidianmd/obsidian-releases/releases/download/v1.6.3/Obsidian-1.6.3.AppImage -O obsidian.AppImage
if [ ! -f obsidian.AppImage ]; then
echo "Download failed as expected."
else
echo "Download succeeded unexpectedly."
fi
# Clean up iptables rule
sudo iptables -D OUTPUT -p tcp --dport 443 -j REJECT
}
# Create an invalid plugins.json file
echo '{
"core_plugins": ["plugin1", "plugin2"]
"community_plugins": ["plugin3", "plugin4"]
' > invalid_plugins.json
function test_invalid_plugins_config {
echo "Testing with invalid plugins.json..."
if jq . invalid_plugins.json; then
echo "Invalid plugins.json parsed unexpectedly."
else
echo "Caught error parsing invalid plugins.json as expected."
fi
}
# Run tests
test_os_selection
test_dependencies_installation
test_obsidian_download_failure
test_invalid_plugins_config