Connect VBMS is a Ruby gem for communicating with version 1 of the eFolder Service API provided by Veteran Benefits Management System (VBMS) at the Department of Veteran Affairs. Although the source code is open source, access to VBMS is restricted only to authorized users.
- Ruby 2.2 or above
- Bundler 1.10 or above (
gem install bundle
)
- Bundler 1.10 or above (
- Java JDK 1.7 or above
- Python 2.6 or above
- Sphinx 1.3.1 or above (
pip install sphinx
)
- Sphinx 1.3.1 or above (
The library currently uses Java for some encryption functionality. When this is replaced, the integration tests will continue to use the Java encryption/decryption utilities as a reference to check against. Python is currently used to generate documentation.
For the first run of the tests, install the Ruby dependencies and prepare the Java files & test creds:
> bundle install
> bundle exec rake tests:prepare
Every other time, just run the below from the root directory:
bundle exec rake
This will run all the tests, rubocop to identify any stylistic problems in the code and bundle-audit to find vulnerable versions of gems in Gemfile.lock
. You must ensure your code passes all tests and has no Rubocop violations before submitting a pull request.
Tests normally mock all web requests so tests can be run without needing any credentials for VBMS systems. To run the integration tests against a VBMS server, you must specify all the necessary VBMS_CONNECT
environment variables. You can then execute tests with CONNECT_VBMS_RUN_EXTERNAL_TESTS=1 bundle exec rake default
and it will not use local webmocks.
Our development group also includes HTTPLog for viewing raw HTTP messages. To enable HTTPLog, use the CONNECT_VBMS_HTTPLOG=1
environment variable.
From the root directory, run:
rake docs
Please read our Contributing guide to get started.
The project is in the public domain, and all contributions will also be released in the public domain. By submitting a pull request, you are agreeing to waive all rights to your contribution under the terms of the CC0 Public Domain Dedication.
This project constitutes an original work of the United States Government.