Skip to content

Instantly share code, notes, and snippets.

@jonilsonds9
Created March 10, 2022 23:34
Show Gist options
  • Save jonilsonds9/860c1be29cab2a283b1eac2879e59b3e to your computer and use it in GitHub Desktop.
Save jonilsonds9/860c1be29cab2a283b1eac2879e59b3e to your computer and use it in GitHub Desktop.
Função para criar um objeto Mock semelhante ao response da lib requests do Python para faclitar os testes.
# É uma função simples, recebe o status_code, um content, um json_data, e raise_for_status que é alguma exception da própria
# lib requests.
# Ela cria um Mock, e adiciona o status e o content, e verifica se tem alguma exception para lançar e adiciona e também
# se foi passado o json_data e também adiciona como um mock, para quando formos usar algo como:
# `response.json()` também conseguirmos.
def __response_mock(status=200, content="CONTENT", json_data=None, raise_for_status=None) -> Mock:
response = Mock()
response.status_code = status
response.content = content
response.raise_for_status = Mock()
if raise_for_status:
response.raise_for_status.side_effect = raise_for_status
if json_data:
response.json = Mock(return_value=json_data)
return response
# É baseado nesse outro example: https://gist.github.com/evansde77/45467f5a7af84d2a2d34f3fcb357449c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment