Example #1
0
def test_baixar_livros_instancia_Consulta_uma_vez(
    stub_executar_requisicao, resultado_em_duas_paginas
):
    mock_consulta = MockSearch()
    stub_executar_requisicao.side_effect = resultado_em_duas_paginas
    Response.qtd_docs_por_pagina = 3
    arquivo = ["/tmp/arquivo1", "/tmp/arquivo2", "/tmp/arquivo3"]
    with patch("library.books.Search", mock_consulta.Search):
        download_book(arquivo, None, None, "Python")
        mock_consulta.verifier()
Example #2
0
def test_download_book_chama_executar_requisicao_n_vezes(
    mock_executar_requisicao, resultado_em_duas_paginas
):
    mock_executar_requisicao.side_effect = resultado_em_duas_paginas
    Response.qtd_docs_por_pagina = 3
    arquivo = ["/tmp/arquivo1", "/tmp/arquivo2", "/tmp/arquivo3"]
    download_book(arquivo, None, None, "python")
    assert mock_executar_requisicao.call_args_list == [
        call("https://buscarlivros?q=python&page=1", 10),
        call("https://buscarlivros?q=python&page=2", 10),
    ]
Example #3
0
def test_download_book_chama_escrever_em_arquivo_para_pagina_1_e_3(
    stub_executar_requisicao, resultado_em_tres_paginas_erro_na_pagina_2
):
    stub_executar_requisicao.side_effect = resultado_em_tres_paginas_erro_na_pagina_2
    Response.qtd_docs_por_pagina = 3
    arquivo = ["/tmp/arquivo1", "/tmp/arquivo2", "/tmp/arquivo3"]
    with patch("library.books.write_file") as mock_escrever:
        mock_escrever.side_effect = [None, None]
        download_book(arquivo, None, None, "python")
        assert mock_escrever.call_args_list == [
            call(arquivo[0], resultado_em_tres_paginas_erro_na_pagina_2[0]),
        ]
Example #4
0
def test_download_book_chama_escrever_em_arquivo_tres_vezes(
    stub_executar_requisicao, resultado_em_tres_paginas
):
    stub_executar_requisicao.side_effect = resultado_em_tres_paginas
    Response.qtd_docs_por_pagina = 3
    arquivo = ["/tmp/arquivo1", "/tmp/arquivo2", "/tmp/arquivo3"]
    with patch("library.books.write_file") as mock_escrever:
        mock_escrever.return_value = None
        download_book(arquivo, None, None, "python")
        assert mock_escrever.call_args_list == [
            call(arquivo[0], resultado_em_tres_paginas[0]),
            call(arquivo[1], resultado_em_tres_paginas[1]),
            call(arquivo[2], resultado_em_tres_paginas[2]),
        ]
Example #5
0
def test_download_book_instancia_Resposta_tres_vezes(
    stub_executar_requisicao, resultado_em_tres_paginas
):
    stub_executar_requisicao.side_effect = resultado_em_tres_paginas
    Response.qtd_docs_por_pagina = 3
    arquivo = ["/tmp/arquivo1", "/tmp/arquivo2", "/tmp/arquivo3"]
    with patch("library.books.Response") as MockResposta:
        MockResposta.side_effect = [
            Response(resultado_em_tres_paginas[0]),
            Response(resultado_em_tres_paginas[1]),
            Response(resultado_em_tres_paginas[2]),
        ]
        download_book(arquivo, None, None, "python")
        assert MockResposta.call_args_list == [
            call(resultado_em_tres_paginas[0]),
            call(resultado_em_tres_paginas[1]),
            call(resultado_em_tres_paginas[2]),
        ]