AI-assisterad kodning för utvecklare
Francesca Donadoni
AI Curriculum Manager, DataCamp
Skriv en Python-funktion som parsar e-postadresser.
Skriv en Python-funktion som parsar e-postadresser. Den ska klara följande tester:
- Accepterar en giltig adress som "[email protected]".
- Avvisar ogiltig inmatning som "user@@domain".
- Kastar ett ValueError för tom inmatning.
Användarprompt: Generera enhetstester i Python för en funktion som bearbetar formulärdata från användare och infogar dem i en SQL-databas.
Modellsvar:
Här är ett körklart pytest-paket som täcker validering, normalisering, SQL-injektionssäkerhet och transaktionsbeteende för en funktion som bearbetar formulärdata och infogar en post i en SQL-databas.
[...]
# ---------- Test DB fixtures ----------
@pytest.fixture()
def conn():
"""In-memory SQLite DB with a users table."""
c = sqlite3.connect(":memory:") [...]
Användarprompt: Generera Python-enhetstester med pytest för följande funktion. Inkludera fall för tom inmatning, SQL-nyckelord i inmatningen och specialtecken. Anta en mockad databasanslutning. <INSERT FUNCTION>
Modellsvar:
Här är en fristående pytest-testmodul som använder mockar (ingen riktig databas) och täcker tom inmatning, SQL-nyckelord och specialtecken. Den verifierar också commit/close-beteende och att undantag hanteras tyst.
[...]
@pytest.fixture
def mock_sqlite_connect(monkeypatch):
"""
Patch sqlite3.connect to return a MagicMock connection + cursor.
[...]
$$
Skanna följande Python-funktion efter potentiella sårbarheter och föreslå säkrare alternativ om sådana finns.
$$
Granska den här koden för vanliga webbsäkerhetsproblem, inklusive SQL-injektion, XSS och brister i indatavalidering.

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
Här är en fokuserad OWASP Top 10-granskning av din inloggningsfunktion samt en säkrare omskrivning.
username = "admin' --" → kringgår lösenordskontroll. [...]AI-assisterad kodning för utvecklare