|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +set -euo pipefail |
| 4 | + |
| 5 | +# Test the mina misc mina-key-pair command |
| 6 | + |
| 7 | +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| 8 | +REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" |
| 9 | +cd "$REPO_ROOT" |
| 10 | + |
| 11 | +MINA_BIN="${MINA_BIN:-./target/release/mina}" |
| 12 | + |
| 13 | +echo "Testing: mina misc mina-key-pair" |
| 14 | +echo "" |
| 15 | + |
| 16 | +# Test 1: Basic mina-key-pair command |
| 17 | +echo "Test 1: mina misc mina-key-pair (basic)" |
| 18 | +if "$MINA_BIN" misc mina-key-pair > /dev/null 2>&1; then |
| 19 | + echo "✓ Command executed successfully" |
| 20 | +else |
| 21 | + echo "✗ Test failed: Command failed to execute" |
| 22 | + exit 1 |
| 23 | +fi |
| 24 | +echo "" |
| 25 | + |
| 26 | +# Test 2: mina-key-pair with --web-node-secrets flag |
| 27 | +echo "Test 2: mina misc mina-key-pair --web-node-secrets" |
| 28 | +OUTPUT=$("$MINA_BIN" misc mina-key-pair --web-node-secrets) |
| 29 | +EXIT_STATUS=$? |
| 30 | + |
| 31 | +# Verify command executed successfully |
| 32 | +if [ $EXIT_STATUS -ne 0 ]; then |
| 33 | + echo "✗ Test failed: Command failed to execute" |
| 34 | + exit 1 |
| 35 | +fi |
| 36 | +echo "✓ Command executed successfully" |
| 37 | + |
| 38 | +# Verify output is valid JSON |
| 39 | +if ! echo "$OUTPUT" | jq empty 2>/dev/null; then |
| 40 | + echo "✗ Test failed: Output is not valid JSON" |
| 41 | + echo "Output was: $OUTPUT" |
| 42 | + exit 1 |
| 43 | +fi |
| 44 | +echo "✓ Output is valid JSON" |
| 45 | + |
| 46 | +# Verify JSON contains "publicKey" field with a string value |
| 47 | +PUBLIC_KEY=$(echo "$OUTPUT" | jq -r '.publicKey' 2>/dev/null) |
| 48 | +if [ -z "$PUBLIC_KEY" ] || [ "$PUBLIC_KEY" = "null" ]; then |
| 49 | + echo "✗ Test failed: JSON does not contain 'publicKey' field with a string value" |
| 50 | + echo "Output was: $OUTPUT" |
| 51 | + exit 1 |
| 52 | +fi |
| 53 | +echo "✓ JSON contains 'publicKey' field with value: $PUBLIC_KEY" |
| 54 | + |
| 55 | +# Verify JSON contains "privateKey" field with a string value |
| 56 | +PRIVATE_KEY=$(echo "$OUTPUT" | jq -r '.privateKey' 2>/dev/null) |
| 57 | +if [ -z "$PRIVATE_KEY" ] || [ "$PRIVATE_KEY" = "null" ]; then |
| 58 | + echo "✗ Test failed: JSON does not contain 'privateKey' field with a string value" |
| 59 | + echo "Output was: $OUTPUT" |
| 60 | + exit 1 |
| 61 | +fi |
| 62 | +echo "✓ JSON contains 'privateKey' field with value: [REDACTED]" |
| 63 | + |
| 64 | +echo "" |
| 65 | +echo "✓ All tests passed!" |
0 commit comments