Skip to content
Open

735 #736

Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Terminado o Módulo Pytest Fixtures do Pytools
  • Loading branch information
Carloshbfreire committed Sep 26, 2022
commit a23a6e16ccc4533e9bfd81fcedcf294d24a78e23
22 changes: 0 additions & 22 deletions Libpythonpro/spam/db.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,3 @@
class Sessao:
contador = 0
usuarios = []

def salvar(self, usuario):
Sessao.contador += 1
usuario.id = Sessao.contador
self.usuarios.append(usuario)

def listar(self):
return self.usuarios

def roll_back(self):
pass

def fechar(self):
pass


class Conexao:
def gerar_sessao(self):
return Sessao()

def fechar(self):
pass
8 changes: 8 additions & 0 deletions Libpythonpro/spam/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
class EnviadorDeSpam:
def __init__(self, sessao, enviador):
self.enviador = enviador
self.sessao = sessao

def enviar_emails(self, remetente, assunto, corpo):
pass

18 changes: 5 additions & 13 deletions Libpythonpro/spam/test_spam/testes_usuarios.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,17 @@
from Libpythonpro.spam.db import Conexao
from Libpythonpro.spam.modelos import Usuario


def test_salvar_usuario():
conexao = Conexao()
sessao = conexao.gerar_sessao()
def test_salvar_usuario(sessao):
usuario= Usuario(nome='Carlos')
sessao.salvar(usuario)
assert isinstance(usuario.id, int)
sessao.roll_back()
sessao.fechar()
conexao.fechar()


def test_listar_usuario():
conexao = Conexao()
sessao = conexao.gerar_sessao()
def test_listar_usuario(sessao):
usuarios = [Usuario(nome='Carlos'), Usuario(nome='Givani')]
for usuario in usuarios:
sessao.salvar(usuario)
assert usuarios == sessao.listar()
sessao.roll_back()
sessao.fechar()
conexao.fechar()



51 changes: 51 additions & 0 deletions Libpythonpro/tests/test_spam/conftest.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
from time import sleep

import pytest


class Sessao:
contador = 0
usuarios = []

def salvar(self, usuario):
Sessao.contador += 1
usuario.id = Sessao.contador
self.usuarios.append(usuario)

def listar(self):
return self.usuarios

def roll_back(self):
self.usuarios.clear()

def fechar(self):
pass


class Conexao:

def __init__(self):
sleep(1)

def gerar_sessao(self):
return Sessao()

def fechar(self):
pass


@pytest.fixture(scope= 'session')
def conexao():
#Setup
conexao_obj = Conexao()
yield conexao_obj
#Tear Down
conexao_obj.fechar()


@pytest.fixture
def sessao(conexao):
sessao_obj = conexao.gerar_sessao()
yield sessao_obj
sessao_obj.roll_back()
sessao_obj.fechar()
11 changes: 11 additions & 0 deletions Libpythonpro/tests/test_spam/test_envio_para_base_de_usuarios.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from Libpythonpro.spam.main import EnviadorDeSpam
from Libpythonpro.spam.test_spam.enviador_de_email import Enviador


def test_envio_de_spam(sessao):
enviador_de_spam= EnviadorDeSpam(sessao, Enviador())
enviador_de_spam.enviar_emails(
'carhb@outlook.com',
'Curso Pythonpro',
'Confira os módulos fantásticos'
)