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

[Request] Automated tests? #136

Open
hurrymaplelad opened this issue Oct 23, 2022 · 2 comments
Open

[Request] Automated tests? #136

hurrymaplelad opened this issue Oct 23, 2022 · 2 comments

Comments

@hurrymaplelad
Copy link
Contributor

Building on #135, automating the example_encrypted.html flow would help me contribute faster.

Starting with an issue rather than I PR 'cause I noticed and appreciate that this package currently has very few dependencies. We'd need to add a dev dependency on something like puppeteer to set this up.

Concerns? Safe to assume we'd prefer Node's baked-in test harness vs something like Jest?

@robinmoisson
Copy link
Owner

Yes! Agreed having automated tests would be great for smoothing out contributing.

I like that the package has very little dependencies as well - less things to break and maintain, and the code being easily fully auditable is sort of a feature for a security-related library. I was thinking we could even parse the cli arguments manually and implement the encryption with webcrypto in node so there would be zero external dependency.

But adding a dependency for tests really makes sense, especially since it's a dev dependency.

Regarding puppeteer I'm a bit concerned that it downloads a full chromium version, that feels pretty heavy to me. I'd think testing the encryption/decryption logic with the refactoring you did in your later PRs would be a step in the right direction, we could check the generated example_encrypted.html files are as expected, and only changes to password_template.html and index.html would need to be manually tested. Hopefully with the refactoring these files can become quite light and rarely change. Do you feel that would help your workflow?

Node's test harness looks quite nice but is marked as "Experimental" still and I'd value using something really stable so that the package can be untouched for a while and picking up development can still be very easy. So I personally wouldn't have any issue with using Jest or another well known lib.

@robinmoisson
Copy link
Owner

For the record - rereading this, my objections to pupeeter don't make that much sense to me now (the low number of dependencies mostly matter for dependencies but it would be in devDependencies, could run in CI) and I think it could be a fine choice. 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Backlog
Development

No branches or pull requests

2 participants