mirror of
https://github.com/DeBrosOfficial/network.git
synced 2025-12-13 00:58:50 +00:00
108 lines
3.1 KiB
Bash
Executable File
108 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Test 4: Execute SQL
|
|
# This test executes various SQL operations
|
|
|
|
API_KEY="ak_L1zF6g7Np1dSRyy-zp_cXFfA:default"
|
|
GATEWAY_URL="http://localhost:6001"
|
|
|
|
echo "========================================="
|
|
echo "Test 4: Execute SQL"
|
|
echo "========================================="
|
|
echo ""
|
|
echo "Creating products table..."
|
|
echo ""
|
|
|
|
RESPONSE=$(curl -X POST "${GATEWAY_URL}/v1/database/exec" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"database": "testdb",
|
|
"sql": "CREATE TABLE IF NOT EXISTS products (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, price REAL, stock INTEGER DEFAULT 0)"
|
|
}' \
|
|
-w "\nHTTP_STATUS:%{http_code}" \
|
|
-s)
|
|
HTTP_STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2)
|
|
JSON_RESPONSE=$(echo "$RESPONSE" | sed '/HTTP_STATUS:/d')
|
|
echo "$JSON_RESPONSE" | jq '.'
|
|
echo "HTTP Status: $HTTP_STATUS"
|
|
|
|
echo ""
|
|
echo "Inserting products..."
|
|
echo ""
|
|
|
|
RESPONSE=$(curl -X POST "${GATEWAY_URL}/v1/database/exec" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"database": "testdb",
|
|
"sql": "INSERT INTO products (name, price, stock) VALUES (?, ?, ?)",
|
|
"args": ["Laptop", 999.99, 10]
|
|
}' \
|
|
-w "\nHTTP_STATUS:%{http_code}" \
|
|
-s)
|
|
HTTP_STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2)
|
|
JSON_RESPONSE=$(echo "$RESPONSE" | sed '/HTTP_STATUS:/d')
|
|
echo "$JSON_RESPONSE" | jq '.'
|
|
echo "HTTP Status: $HTTP_STATUS"
|
|
|
|
echo ""
|
|
|
|
RESPONSE=$(curl -X POST "${GATEWAY_URL}/v1/database/exec" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"database": "testdb",
|
|
"sql": "INSERT INTO products (name, price, stock) VALUES (?, ?, ?)",
|
|
"args": ["Mouse", 29.99, 50]
|
|
}' \
|
|
-w "\nHTTP_STATUS:%{http_code}" \
|
|
-s)
|
|
HTTP_STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2)
|
|
JSON_RESPONSE=$(echo "$RESPONSE" | sed '/HTTP_STATUS:/d')
|
|
echo "$JSON_RESPONSE" | jq '.'
|
|
echo "HTTP Status: $HTTP_STATUS"
|
|
|
|
echo ""
|
|
echo "Updating product stock..."
|
|
echo ""
|
|
|
|
RESPONSE=$(curl -X POST "${GATEWAY_URL}/v1/database/exec" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"database": "testdb",
|
|
"sql": "UPDATE products SET stock = stock - 1 WHERE name = ?",
|
|
"args": ["Laptop"]
|
|
}' \
|
|
-w "\nHTTP_STATUS:%{http_code}" \
|
|
-s)
|
|
HTTP_STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2)
|
|
JSON_RESPONSE=$(echo "$RESPONSE" | sed '/HTTP_STATUS:/d')
|
|
echo "$JSON_RESPONSE" | jq '.'
|
|
echo "HTTP Status: $HTTP_STATUS"
|
|
|
|
echo ""
|
|
echo "Querying products..."
|
|
echo ""
|
|
|
|
RESPONSE=$(curl -X POST "${GATEWAY_URL}/v1/database/query" \
|
|
-H "Authorization: Bearer ${API_KEY}" \
|
|
-H "Content-Type: application/json" \
|
|
-d '{
|
|
"database": "testdb",
|
|
"sql": "SELECT * FROM products"
|
|
}' \
|
|
-w "\nHTTP_STATUS:%{http_code}" \
|
|
-s)
|
|
HTTP_STATUS=$(echo "$RESPONSE" | grep "HTTP_STATUS:" | cut -d: -f2)
|
|
JSON_RESPONSE=$(echo "$RESPONSE" | sed '/HTTP_STATUS:/d')
|
|
echo "$JSON_RESPONSE" | jq '.'
|
|
echo "HTTP Status: $HTTP_STATUS"
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo "Test 4 Complete"
|
|
echo "========================================="
|
|
|