Delete testing user afer unit test session
This commit is contained in:
		
							parent
							
								
									6c7a561fef
								
							
						
					
					
						commit
						71517bb8b2
					
				@ -2,6 +2,7 @@ from datetime import datetime
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
from fastapi import HTTPException
 | 
					from fastapi import HTTPException
 | 
				
			||||||
from passlib.context import CryptContext
 | 
					from passlib.context import CryptContext
 | 
				
			||||||
 | 
					from sqlalchemy.inspection import inspect
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from app.schemas import *
 | 
					from app.schemas import *
 | 
				
			||||||
from constants import SHA1_SALT
 | 
					from constants import SHA1_SALT
 | 
				
			||||||
@ -31,11 +32,12 @@ def insert_data(model, data, db):
 | 
				
			|||||||
    return item
 | 
					    return item
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# FIXME db.id has to be replaced with the table's UID
 | 
					 | 
				
			||||||
def delete_data(model, data, db):
 | 
					def delete_data(model, data, db):
 | 
				
			||||||
    item = instantiate_model(model=model, data=data)
 | 
					    table = eval(model)
 | 
				
			||||||
    result = db.query(item).filter(item.email == data.email).delete()
 | 
					    primary_key_tuple = inspect(table).primary_key
 | 
				
			||||||
    return result
 | 
					    primary_key = primary_key_tuple[0]
 | 
				
			||||||
 | 
					    db.query(table).filter(primary_key == data).delete()
 | 
				
			||||||
 | 
					    db.commit()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def fetch_user_by_key(data, db):
 | 
					def fetch_user_by_key(data, db):
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										14
									
								
								tests/conftest.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								tests/conftest.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					from pytest import fixture
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from database.crud import delete_data
 | 
				
			||||||
 | 
					from tests import TestingSessionLocal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@fixture(scope="session")
 | 
				
			||||||
 | 
					def get_test_db():
 | 
				
			||||||
 | 
					    try:
 | 
				
			||||||
 | 
					        db = TestingSessionLocal()
 | 
				
			||||||
 | 
					        yield db
 | 
				
			||||||
 | 
					    finally:
 | 
				
			||||||
 | 
					        delete_data(model="Users", data=2222, db=db)
 | 
				
			||||||
 | 
					        db.close()
 | 
				
			||||||
@ -1,18 +1,6 @@
 | 
				
			|||||||
from datetime import datetime
 | 
					from datetime import datetime
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from pytest import fixture
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
from database.models import *
 | 
					from database.models import *
 | 
				
			||||||
from tests import TestingSessionLocal
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@fixture
 | 
					 | 
				
			||||||
def get_test_db():
 | 
					 | 
				
			||||||
    try:
 | 
					 | 
				
			||||||
        db = TestingSessionLocal()
 | 
					 | 
				
			||||||
        yield db
 | 
					 | 
				
			||||||
    finally:
 | 
					 | 
				
			||||||
        db.close()
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def test_users(get_test_db):
 | 
					def test_users(get_test_db):
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,10 @@
 | 
				
			|||||||
from secrets import token_hex
 | 
					from secrets import token_hex
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from pytest import main
 | 
					from pytest import main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from app.schemas import *
 | 
					from app.schemas import *
 | 
				
			||||||
from database.models import *
 | 
					from database.models import *
 | 
				
			||||||
from tests import client
 | 
					from tests import client
 | 
				
			||||||
from tests.queries_test import get_test_db
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def test_registration():
 | 
					def test_registration():
 | 
				
			||||||
@ -55,8 +55,8 @@ def test_forgot_password():
 | 
				
			|||||||
    assert response.status_code == 200
 | 
					    assert response.status_code == 200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def test_reset_password():
 | 
					def test_reset_password(get_test_db):
 | 
				
			||||||
    main(["-k" "test_otp_verification"])
 | 
					    test_otp_verification(get_test_db)
 | 
				
			||||||
    data = {"email": "oyvey@hotmail.com", "password": "vivashviva"}
 | 
					    data = {"email": "oyvey@hotmail.com", "password": "vivashviva"}
 | 
				
			||||||
    response = client.post("/reset_password", json=data)
 | 
					    response = client.post("/reset_password", json=data)
 | 
				
			||||||
    assert response.status_code == 200
 | 
					    assert response.status_code == 200
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user