Police-Data-Accessibility-Project / data-sources-app

An API and UI for using and maintaining the Data Sources database
MIT License
2 stars 4 forks source link

Add logic when environment variables do not exist #307

Open maxachis opened 1 month ago

maxachis commented 1 month ago

There are several cases where an environmental variable is pulled but where no clear error is thrown when the environmental variable is not provided.

For example, login_queries.py:

def create_session_token(cursor: PgCursor, user_id: int, email: str) -> str:
    """
    Generates a session token for a user and inserts it into the session_tokens table.
    ....
    """
    # ...
    session_token = jwt.encode(payload, os.getenv("SECRET_KEY"), algorithm="HS256")
    # ...

This can cause confusion, especially for developers, who will have to dig into the code to find out that the cause of an error is a missing environmental variable.

Tests should additionally be added to ensure the app functions appropriately when environmental variables are not provided.

josh-chamberlain commented 3 weeks ago

@maxachis I'd say the app doesn't need to function appropriately without environment variables; we could just throw an error and tell people they're required.

maxachis commented 2 weeks ago

@maxachis I'd say the app doesn't need to function appropriately without environment variables; we could just throw an error and tell people they're required.

@josh-chamberlain Oh, of course: What I meant was it we should test that it functions appropriately by throwing and error and telling people they're required.