|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Test script to simulate CI environment locally |
| 4 | +# This script sets up the same environment variables as CI and runs tests |
| 5 | + |
| 6 | +echo "Setting up CI-like environment for testing..." |
| 7 | + |
| 8 | +# Set test environment variables (same as CI) |
| 9 | +export NODE_ENV=test |
| 10 | +export GITHUB_CLIENT_ID=test_client_id |
| 11 | +export GITHUB_CLIENT_SECRET=test_client_secret |
| 12 | +export GOOGLE_CLIENT_ID=test_client_id |
| 13 | +export GOOGLE_CLIENT_SECRET=test_client_secret |
| 14 | +export DISCORD_CLIENT_ID=test_client_id |
| 15 | +export DISCORD_CLIENT_SECRET=test_client_secret |
| 16 | +export MAGIC_LINK_SECRET=test_magic_link_secret |
| 17 | +export COOKIE_EXPIRES_IN=604800 |
| 18 | +export JWT_SECRET=test_jwt_secret |
| 19 | +export JWT_EXPIRES_IN=1h |
| 20 | +export JWT_REFRESH_SECRET=test_jwt_refresh_secret |
| 21 | +export JWT_REFRESH_EXPIRES_IN=7d |
| 22 | +export MONGO_URL=mongodb://localhost:27017/test |
| 23 | +export SERVER_URL=http://localhost:4000 |
| 24 | +export FRONTEND_URL=http://localhost:3000 |
| 25 | +export APP_DOMAIN=localhost |
| 26 | +export RECAPTCHA_KEY=disabled |
| 27 | +export S3_ENDPOINT=http://localhost:9000 |
| 28 | +export S3_BUCKET_SONGS=test-songs |
| 29 | +export S3_BUCKET_THUMBS=test-thumbs |
| 30 | +export S3_KEY=test_key |
| 31 | +export S3_SECRET=test_secret |
| 32 | +export S3_REGION=us-east-1 |
| 33 | +export WHITELISTED_USERS="" |
| 34 | +export DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/test |
| 35 | +export MAIL_TRANSPORT=smtp://test:test@localhost:1025 |
| 36 | +export MAIL_FROM= "Test <[email protected]>" |
| 37 | +export THUMBNAIL_URL=localhost:9000 |
| 38 | + |
| 39 | +# Create test environment file |
| 40 | +cat > apps/backend/.env.test << EOF |
| 41 | +NODE_ENV=test |
| 42 | +GITHUB_CLIENT_ID=test_client_id |
| 43 | +GITHUB_CLIENT_SECRET=test_client_secret |
| 44 | +GOOGLE_CLIENT_ID=test_client_id |
| 45 | +GOOGLE_CLIENT_SECRET=test_client_secret |
| 46 | +DISCORD_CLIENT_ID=test_client_id |
| 47 | +DISCORD_CLIENT_SECRET=test_client_secret |
| 48 | +MAGIC_LINK_SECRET=test_magic_link_secret |
| 49 | +COOKIE_EXPIRES_IN=604800 |
| 50 | +JWT_SECRET=test_jwt_secret |
| 51 | +JWT_EXPIRES_IN=1h |
| 52 | +JWT_REFRESH_SECRET=test_jwt_refresh_secret |
| 53 | +JWT_REFRESH_EXPIRES_IN=7d |
| 54 | +MONGO_URL=mongodb://localhost:27017/test |
| 55 | +SERVER_URL=http://localhost:4000 |
| 56 | +FRONTEND_URL=http://localhost:3000 |
| 57 | +APP_DOMAIN=localhost |
| 58 | +RECAPTCHA_KEY=disabled |
| 59 | +S3_ENDPOINT=http://localhost:9000 |
| 60 | +S3_BUCKET_SONGS=test-songs |
| 61 | +S3_BUCKET_THUMBS=test-thumbs |
| 62 | +S3_KEY=test_key |
| 63 | +S3_SECRET=test_secret |
| 64 | +S3_REGION=us-east-1 |
| 65 | +WHITELISTED_USERS= |
| 66 | +DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/test |
| 67 | +MAIL_TRANSPORT=smtp://test:test@localhost:1025 |
| 68 | +MAIL_FROM=Test <[email protected]> |
| 69 | +EOF |
| 70 | + |
| 71 | +echo "Environment variables set. Running tests..." |
| 72 | + |
| 73 | +# Run tests |
| 74 | +bun test |
| 75 | + |
| 76 | +echo "Test completed. Cleaning up..." |
| 77 | +rm -f apps/backend/.env.test |
0 commit comments