Install Go (Go 1.22 or later)
go install github.com/hexdigest/gowrap/cmd/gowrap@latest
Clone this repo via git clone https://github.com/brave-intl/bat-go
Build via make
Consider adding a pre-commit hook
Use your favorite editor to open .git/hooks/pre-commit
Add the following contents
make test lint
Make the executable runnable by executing chmod +x .git/hooks/pre-commit
Commit away!
Ensure docker and docker-compose are installed.
Ensure that your .env
file is populated with values for each of the
env vars that does not have a default in docker-compose.yml
.
To bring up a prod-like environment, run docker-compose up -d
.
To bring up a dev environment, run make docker-dev
.
This brings up an additional vault service, used for integration testing of some auxiliary binaries.
You can run all the unit and integration tests by setting the env TEST_TAGS=integration
(see .env.example
file for example) and running make docker-test
make docker-dev
Services are split up for testing:
cd /src/services/payments ; go test --tags=integration -v
For example in promotion
you can run specific tests by running a command similar to go test --tags=integration -run TestControllersTestSuite/TestCreateOrder
.
You can build a docker image without installing the go toolchain. Ensure docker
is installed then run make docker
.
make mock