async def post_gebruiker(model: GebruikerResponseModel, token: str): if auth.can_user_access(token) and auth.check_of_user_is_beheerder(token): model.wachtwoord = auth.hash_wachtwoord(model.wachtwoord) return controller.create_gebruiker(model) raise HTTPException( status_code=405, detail="Om deze actie uit te voeren heeft u beheerdersrechten nodig")
async def update_password(gebruiker: GebruikerResponseModel, token: str): if auth.check_if_token_in_cache(token): gebruiker.gebruikersnaam = auth.get_user_by_token(token) gebruiker.wachtwoord = auth.hash_wachtwoord(gebruiker.wachtwoord) controller.update_wachtwoord(gebruiker) else: raise HTTPException(status_code=401, detail="Uw token is ongeldig of verlopen")
def test_add_user_calls_mapper(self, mock_get_gebruikers, mock_handler): gebruiker = GebruikerResponseModel() gebruiker.gebruikersnaam = "Gebruiker" gebruiker.tijdelijk_wachtwoord = 1 gebruiker.rol = 1 gebruiker.wachtwoord = "changeme" self.mapper.add_user(gebruiker) mock_handler.assert_called_with( "INSERT INTO gebruiker (gebruikersnaam, wachtwoord, rol, tijdelijk_wachtwoord) VALUES " \ "(%s, %s, %s, %s)", (gebruiker.gebruikersnaam, gebruiker.wachtwoord, gebruiker.rol, gebruiker.tijdelijk_wachtwoord), False)
def get_gebruikers(self, id: int = None): query = None value = None if id is None: # als er geen id is meegegeven query = "SELECT * FROM gebruiker" # selecteren we alles uit de database else: query = "SELECT * FROM gebruiker WHERE id = %s" # anders geven we dat id mee value = (id, ) result = self._data_handler(query, value, True) gebruiker_lijst = [] for row in result: # voor iedere gebruiker die meegegeven wordt gebruiker = GebruikerResponseModel( ) # maken we een nieuw model aan if type(row) == GebruikerResponseModel: gebruiker.id = row.id gebruiker.gebruikersnaam = row.gebruikersnaam gebruiker.wachtwoord = row.wachtwoord gebruiker.rol = row.rol gebruiker.tijdelijk_wachtwoord = row.tijdelijk_wachtwoord if type(row) == tuple: gebruiker.id = row[0] gebruiker.gebruikersnaam = row[1] gebruiker.wachtwoord = row[2] gebruiker.rol = row[3] gebruiker.tijdelijk_wachtwoord = row[4] gebruiker_lijst.append( gebruiker) # Voeg deze gebruiker toe aan de lijst if id is not None: return gebruiker_lijst[ 0] # als er geen id is meegegeven, geven we het eerste (en enige) resultaat terug else: return gebruiker_lijst # anders geven we de hele lijst terug
def test_update_user_calls_handler(self, mock_get_gebruikers, mock_handler): gebruiker = GebruikerResponseModel() gebruiker.id = 1 gebruiker.gebruikersnaam = "Gebruiker" gebruiker.tijdelijk_wachtwoord = 1 gebruiker.rol = 1 gebruiker.wachtwoord = "changeme" self.mapper.update_user(gebruiker) mock_handler.assert_called_with( "UPDATE gebruiker SET gebruikersnaam = %s, wachtwoord = %s, rol = %s, tijdelijk_wachtwoord = %s WHERE id = %s", (gebruiker.gebruikersnaam, gebruiker.wachtwoord, gebruiker.rol, gebruiker.tijdelijk_wachtwoord, gebruiker.id), False)