Contributing to Pow
All contributions to Pow are welcome!
Postgres is required to test locally. The test helper will automatically set up the database for you when you run the tests. Run mix credo
for static code analysing.
Postgres setup
The test environment has minimal database configuration which means it'll by default use the current username in the OS. If no such role exists (common with older postgres setup where only postgres
role exists), you can easily create the superuser user by running:
createuser -U postgres -s $(whoami)
Mocks
As the default ETS cache store backend works asynchronously, a synchronous ETS cache store backend (Pow.Test.EtsCacheMock
) is used instead.
Only Ecto modules are tested against the database. Plug and Phoenix modules uses Pow.Test.ContextMock
.
Extension test support
Due to compile-time configuration of Phoenix modules and User schema modules, several modules are dynamically generated with Pow.Test.ExtensionMocks
.
Releases
Releases to hex are automatically handled in Travis CI, when a tag is pushed on Github (and a new version has been set in mix.exs
).