The Sensus-mWater Adapter is a program that is able to translate Sensus EMR meter reading CSVs to mWater meter reading accounting transactions.
It receives CSVs through HTTP POST requests, translates each line in the CSV to an mWater transaction, and assembles a final POST request to mWater's API.
Sending clients must use Basic authentication.
The adapter authenticates with the mWater API using a username and password that are POSTed in exchange for a Client ID.
Process a Sensus CSV:
$ sensus-mwater-adapter input.csv
Process a Sensus CSV, but do not send the mWater HTTP requests.
$ sensus-mwater-adapter \
--to-account abcd0123efgh4567ijkl8910 \
--from-account abcd0123efgh4567ijkl8910 \
--username mwateruser \
--password hunter2 \
--dry-run \
input.csv
- username: mWater API username
- password: mWater API password
- to-account: Accounts receivable ID
- from-account: Water sales ID
- dry-run: Run the program but do not POST to mWater
For each CSV the adapter receives, the adapter attempts to parse as much of the CSV as possible, and constructs a request with all rows it was able to successfully parse. It logs all rows that it was unable to parse.
From the root of the sensus-mwater-adapter checkout:
go test -v ./...
Go tests currently run in a GitHub Action on all pushes to main. Pass/fail status and coverage percentage are shown in badges on this README.
Pull requests are always welcome. Please make sure to update tests as appropriate.
If you have any questions or comments, please feel free to open a GitHub issue to discuss.
See LICENSE