डेवलपर्स के लिए AI-असिस्टेड कोडिंग
Francesca Donadoni
AI Curriculum Manager, DataCamp
ईमेल पते पार्स करने के लिए एक Python फंक्शन लिखिए.
ईमेल पते पार्स करने के लिए एक Python फंक्शन लिखिए. इसे नीचे दिए गए टेस्ट पास करने चाहिए:
- "[email protected]" जैसे वैध पते स्वीकार करता है.
- "user@@domain" जैसे अमान्य इनपुट को अस्वीकार करता है.
- खाली इनपुट पर ValueError उठाता है.
User prompt: यूज़र- सबमिटेड फॉर्म डेटा प्रोसेस करने और उसे SQL डेटाबेस में insert करने वाले फंक्शन के लिए Python में यूनिट टेस्ट जनरेट करें.
Model response:
यहाँ एक रेडी-टू-रन pytest सूट है जो वैलिडेशन, नॉर्मलाइज़ेशन, SQL-injection सुरक्षा, और ट्रांज़ैक्शन व्यवहार को कवर करता है, ऐसे फंक्शन के लिए जो फॉर्म डेटा प्रोसेस कर SQL डेटाबेस में रिकॉर्ड insert करता है.
[...]
# ---------- Test DB fixtures ----------
@pytest.fixture()
def conn():
"""In-memory SQLite DB with a users table."""
c = sqlite3.connect(":memory:") [...]
User prompt: नीचे दिए गए फंक्शन के लिए pytest इस्तेमाल कर Python यूनिट टेस्ट जनरेट करें. खाली इनपुट, इनपुट में SQL कीवर्ड, और स्पेशल कैरेक्टर्स के केस शामिल करें. मान लीजिए एक mock डेटाबेस कनेक्शन है. <INSERT FUNCTION>
Model response:
यहाँ एक self-contained pytest टेस्ट मॉड्यूल है जो mocks इस्तेमाल करता है (कोई real DB नहीं) और खाली इनपुट, SQL कीवर्ड, व स्पेशल कैरेक्टर्स को कवर करता है. यह commit/close व्यवहार को भी वेरिफ़ाई करता है और एक्सेप्शंस के swallow होने की जाँच करता है.
[...]
@pytest.fixture
def mock_sqlite_connect(monkeypatch):
"""
Patch sqlite3.connect to return a MagicMock connection + cursor.
[...]
$$
नीचे दिए गए Python फंक्शन में संभावित कमजोरियाँ स्कैन कीजिए और जहाँ ज़रूरत हो सुरक्षित विकल्प सुझाइए.
$$
इस कोड की सामान्य वेब सिक्योरिटी समस्याओं के लिए समीक्षा कीजिए, जिनमें SQL injection, XSS, और इनपुट वैलिडेशन की खामियाँ शामिल हैं.

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
यहाँ आपके login फंक्शन का केंद्रित OWASP Top 10 ऑडिट है, साथ में एक सुरक्षित री-राइट भी.
username = "admin' --" → पासवर्ड चेक बायपास. [...]डेवलपर्स के लिए AI-असिस्टेड कोडिंग