@@ -258,7 +258,7 @@ jobs:
258258 - script : |
259259 docker version
260260 docker pull mcr.microsoft.com/mssql/server:2022-latest
261- docker run -e 'ACCEPT_EULA=Y' -e ' SA_PASSWORD=$(TestAppPassword)' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2022-latest
261+ docker run -e 'ACCEPT_EULA=Y' -e " SA_PASSWORD=$(TestAppPassword)" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2022-latest
262262 curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
263263 curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
264264
@@ -342,7 +342,8 @@ jobs:
342342 displayName: Install Python requirements
343343
344344 - script : |
345- sed -i 's/MyPassword42/$(TestAppPassword)/g' testapp/settings.py
345+ # Use a different delimiter (|) to avoid issues with special characters in password
346+ sed -i "s|MyPassword42|$(TestAppPassword)|g" testapp/settings.py
346347 displayName: Change PASSWORD in settings.py
347348
348349 - script : |
@@ -357,41 +358,6 @@ jobs:
357358 grep -A 10 -B 2 "PASSWORD" testapp/settings.py
358359 displayName: Verify PASSWORD replacement
359360
360- - script : |
361- echo "=== Debugging SQL Server Connection ==="
362- echo "Container status:"
363- docker ps
364- echo ""
365- echo "Container logs (last 20 lines):"
366- docker logs $(docker ps -q --filter ancestor=mcr.microsoft.com/mssql/server:2022-latest) | tail -20
367- echo ""
368- echo "Testing network connectivity to SQL Server:"
369- timeout 10 bash -c 'echo > /dev/tcp/localhost/1433' && echo "Port 1433 is accessible" || echo "Port 1433 is not accessible"
370- echo ""
371- echo "ODBC drivers available:"
372- odbcinst -q -d
373- echo ""
374- echo "Testing basic pyodbc connection (before Django):"
375- python -c '
376- import pyodbc
377- import os
378- password = os.environ.get("TestAppPassword", "Unknown")
379- print("Using password length:", len(password))
380- try :
381- conn_str = "DRIVER={ODBC Driver 17 for SQL Server};SERVER=localhost;UID=sa;PWD=" + password
382- conn = pyodbc.connect(conn_str, timeout=10)
383- cursor = conn.cursor()
384- cursor.execute("SELECT 1")
385- result = cursor.fetchone()
386- print("Direct pyodbc connection successful:", result)
387- conn.close()
388- except Exception as e :
389- print("Direct pyodbc connection failed:", e)
390- '
391- env:
392- TestAppPassword: $(TestAppPassword)
393- displayName: Debug SQL Server connectivity
394-
395361 - script : tox -e $(tox.env)
396362 displayName : Run tox
397363
0 commit comments