Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add integration tests for email #430

Open
benbucksch opened this issue Feb 3, 2025 · 0 comments
Open

Add integration tests for email #430

benbucksch opened this issue Feb 3, 2025 · 0 comments
Assignees

Comments

@benbucksch
Copy link
Collaborator

benbucksch commented Feb 3, 2025

Objective

  • Find regressions when we break one of the email protocols
  • Test whether the email protocol implementations still work, with basic email reading functionality
  • Test with various real world providers, like Office365, outlook.com, Yahoo, GMX, T-Online etc.
  • Test with various on-premise servers, like Dovecot, Cyrus, Courier, Stalwart, mox

Implementation

  1. Start with app/test/logic/Mail/basic.test.ts
  2. Open the JPC connection from the test to the backend process
    • connectToBackend(), stopBackend()
    • Only for tests that need it.
    • But avoid starting and closing it all the time.
  3. Start the backend
    • Start the backend before connectToBackend(), and shut down the backend after stopBackend() (i.e. under the same conditions as formulated in the last point)
    • Avoid starting the Mustang frontend window.
    • See startupBackend() in backend/backend.ts.
    • Ideally, the backend would run in a separate process, but maybe that's not necessary and we can start the backend in the test process.
  4. Find a way to store the third-party passwords, without checking them into git. GitHub Action Secrets? Any better solutions?
  5. Starting on-premise servers is out of scope for this issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants