Codificação com IA para Desenvolvedores
Francesca Donadoni
AI Curriculum Manager, DataCamp
Escreva uma função Python para analisar endereços de e-mail.
Escreva uma função Python para analisar endereços de e-mail. Ela deve passar nos seguintes testes:
- Aceita um endereço válido como "[email protected]".
- Rejeita entrada inválida como "user@@domain".
- Lança um ValueError para entrada vazia.
Prompt do usuário: Gere testes unitários em Python para uma função que processa dados de formulário enviados pelo usuário e os insere em um banco de dados SQL.
Resposta do modelo:
Aqui está uma suíte pytest pronta para rodar que cobre validação, normalização, segurança contra injeção SQL e comportamento de transação para uma função que processa dados de formulário e insere um registro em um banco de dados SQL.
@pytest.fixture() def conn(): """Banco de dados SQLite em memória com uma tabela de usuários.""" c = sqlite3.connect(":memory:") [...]
Prompt do usuário: Gere testes unitários em Python usando pytest para a função a seguir. Inclua casos para entrada vazia, palavras-chave SQL na entrada e caracteres especiais. Assuma uma conexão de banco de dados simulada. <INSERT FUNCTION>
Resposta do modelo:
Aqui está um módulo de teste pytest autônomo que usa mocks (sem DB real) e cobre entrada vazia, palavras-chave SQL e caracteres especiais. Também verifica o comportamento de commit/close e que exceções são tratadas.
$$
Analise a função Python a seguir para possíveis vulnerabilidades e sugira alternativas mais seguras, se houver.
$$
Revise este código para problemas comuns de segurança na web, incluindo injeção SQL, XSS e falhas de validação de entrada.

def login(username, password):
query = f"SELECT * FROM users WHERE username = '{username}' \
AND password = '{password}'"
result = db.execute(query)
return result.fetchone()
Aqui está uma auditoria focada no OWASP Top 10 da sua função de login, além de uma reescrita mais segura.
username = "admin' --" → ignora a verificação de senha. [...]Codificação com IA para Desenvolvedores