diff --git a/test_docker.sh b/test_docker.sh
index e46280f..9e6a0e1 100755
--- a/test_docker.sh
+++ b/test_docker.sh
@@ -115,14 +115,14 @@ else
   exit 1
 fi
 
-# Verify Vault is unsealed
+# Verify Vault is unsealed after initial setup
 vault_status=$(docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault status -format=json 2>/dev/null || echo '{"sealed": true}')
 
-# Check if Vault is unsealed by looking for "sealed":false - needs jq for reliable parsing
+# Check if Vault is unsealed by looking for "sealed":false
 if echo "$vault_status" | grep -q '"sealed":false'; then
-  log "INFO" "Vault is properly unsealed"
+  log "INFO" "Vault is properly unsealed after initial setup"
 else
-  log "ERROR" "Vault is still sealed"
+  log "ERROR" "Vault is still sealed after initial setup"
   echo $vault_status
   exit 1
 fi
@@ -151,12 +151,22 @@ else
   echo $vault_status
 fi
 
-# Extract keys from credentials file
-log "INFO" "Extracting unseal keys from credentials file..."
+# Extract keys from credentials file and root token
+log "INFO" "Extracting unseal keys and root token from credentials file..."
 unseal_keys=$(grep "Base64 Unseal Keys:" -A 3 vault-credentials.txt | grep "Key" | awk '{print $3}')
 root_token=$(grep "Root Token:" vault-credentials.txt | awk '{print $3}')
 
-# Set the environment variables for vault-init
+# First, try running 'vault operator unseal' directly for a more robust test
+log "INFO" "Attempting to unseal Vault directly with unseal keys..."
+key1=$(echo "$unseal_keys" | head -n 1)
+key2=$(echo "$unseal_keys" | head -n 2 | tail -n 1)
+key3=$(echo "$unseal_keys" | head -n 3 | tail -n 1)
+
+docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault operator unseal "$key1"
+docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault operator unseal "$key2"
+docker-compose exec -T vault env VAULT_ADDR=http://127.0.0.1:8200 vault operator unseal "$key3"
+
+# As a fallback, also try running vault-init with environment variables
 log "INFO" "Starting vault-init with environment variables..."
 docker-compose run -e VAULT_ADDR=http://vault:8200 \
   -e VAULT_UNSEAL_KEY_1=$(echo "$unseal_keys" | head -n 1) \