README.md in acquia_toolbelt-2.0.0 vs README.md in acquia_toolbelt-2.0.1
- old
+ new
@@ -1,6 +1,6 @@
-# Acquia Toolbelt [![Gem Version](https://badge.fury.io/rb/acquia_toolbelt.png)](http://badge.fury.io/rb/acquia_toolbelt)
+# Acquia Toolbelt [![Gem Version](https://badge.fury.io/rb/acquia_toolbelt.png)](http://badge.fury.io/rb/acquia_toolbelt) [![Build Status](https://travis-ci.org/jacobbednarz/acquia-toolbelt.png)](https://travis-ci.org/jacobbednarz/acquia-toolbelt)
The Acquia Toolbelt is a CLI tool for using the Acquia Cloud API. Some of the
features include getting information around your servers, subscription,
databases, tasks and domains.
@@ -10,14 +10,16 @@
```
$ gem install acquia_toolbelt
```
-Once installed, the toolbelt is accessible via invoking `acquia` within the command line.
+Once installed, the toolbelt is accessible via invoking `acquia` within the
+command line.
## Usage
-You can see all available commands by running `acquia help`. Additonally, more information on each command is available via `acquia [COMMAND] help`.
+You can see all available commands by running `acquia help`. Additonally, more
+information on each command is available via `acquia [COMMAND] help`.
```
$ acquia help
Type 'acquia [COMMAND] help' for more details on subcommands or to show example usage.
@@ -41,20 +43,20 @@
-v, [--verbose] # Increase the verbose output from the commands.
```
#### Example commands
-Without parameters
+Without parameters:
```
$ acquia database:list
> mydb
> mydb2
```
-With parameters
+With parameters:
```
$ acquia database:list -e dev -d mydb
> Username: exampledb
@@ -64,17 +66,23 @@
> Instance name: mydb8717
```
## Getting started
-Before you can start using any commands, you need to first run `acquia auth:login`. This will write your login details to a local netrc file so that you won't be prompted for login details every time a request is made. After that, the sky is the limit!
+Before you can start using any commands, you need to first run
+`acquia auth:login`. This will write your login details to a local netrc file so
+that you won't be prompted for login details every time a request is made. After
+that, the sky is the limit!
## FAQ
-**Q: Is there support for proxies and corporate firewalls? **
+**Q: Is there support for proxies and corporate firewalls?**
-**A:** By god yes. Proxies and corporate firewalls are the bane of my existence so there was no way this toolbelt _wasn't_ going to support it. To use a proxy, all you need to do is set your HTTPS_PROXY environment variable to the required value. Example:
+**A:** By god yes. Proxies and corporate firewalls are the bane of my existence
+so there was no way this toolbelt _wasn't_ going to support it. To use a proxy,
+all you need to do is set your HTTPS_PROXY environment variable to the required
+value. Example:
```bash
$ export HTTPS_PROXY="http://myproxy.url.internal:1234"
```
@@ -83,22 +91,57 @@
```bash
$ echo $HTTPS_PROXY
$ http://myproxy.url.internal:1234
```
-**Q: Is there somewhere I can see all the commands with required parameters? **
+**Q: Is there somewhere I can see all the commands with required parameters?**
-**A:** Yep. Check out the [commands listing](https://github.com/jacobbednarz/acquia-toolbelt/wiki/Commands) in the [wiki](https://github.com/jacobbednarz/acquia-toolbelt/wiki).
+**A:** Yep. Check out the
+[commands listing](https://github.com/jacobbednarz/acquia-toolbelt/wiki/Commands)
+in the [wiki](https://github.com/jacobbednarz/acquia-toolbelt/wiki).
-## Running tests
+## Hacking on the Acquia Toolbelt
+The Acquia Toolbelt uses [VCR](https://github.com/vcr/vcr) for recording and
+replaying API fixtures during test runs - doing this allows the tests to stay
+fast and easy for anyone to run.
+
+Authenticated requests are currently using the user credentials from the netrc
+file on your local system. It is a good idea to have this setup first (simply
+by running `acquia auth:login`) as if you are recording new cassettes you will
+need to be able to make actual requests. Don't worry about your user credentials
+being stored in the fixtures as they are removed during the request and they
+will appear as ACQUIA_USERNAME and ACQUIA_PASSWORD in the requests
+respectively.
+
+Since the cassettes are periodically refreshed to match changes to the API,
+remember the keep the following in mind when making cassettes.
+
+* **Specs should be idempotent.** The HTTP calls made during a spec should be
+ able to be run over and over. This means deleting a known resource prior to
+ creating it if the name has to be unique.
+* **Specs should be able to be run in random order.** If a spec depends on
+ another resource as a fixture, make sure that's created in the scope of the
+ spec and not depend on a previous spec to create the data needed.
+* **Do not depend on authenticated user info.** Instead of asserting actual
+ values in resources, try to assert the existence of a key or that a response
+ is an Array. We're testing the client, not the API.
+
+### Running and writing new tests
+
+The testing is mainly [MiniTest](https://github.com/seattlerb/minitest). To run
+the test suite, execute the following in the root of the repository:
+
```
bundle exec ruby spec_helper.rb
```
-## Contributing
+### Supported versions
-1. Fork it
-2. Create your feature branch (`git checkout -b my-new-feature`)
-3. Commit your changes (`git commit -am 'Add some feature'`)
-4. Push to the branch (`git push origin my-new-feature`)
-5. Create new Pull Request
+This library aims to support and is [tested against](https://travis-ci.org/jacobbednarz/acquia-toolbelt) the following Ruby implementations:
+
+* Ruby 1.9.2
+* Ruby 1.9.3
+* Ruby 2.0.0
+
+If you would like support for other implementations or versions, please open an
+issue and it can be looked into.