Improve grammar in test description
Simplify edge gateway integration tests

Simplify the edge gateway integration tests such that we only test the
functionality implemented in vCloud Core.

After discussion with @annashipman and @dcarley, we decided that the
existing tests were doing too much by duplicating some of the tests in
vCloud Edge Gateway. Instead, we should only test the functionality
contained in this gem.

Replace the existing test with one test that asserts whether the
EdgeGateway#update_configuration method successfully updates the edge
gateway.

Note that we perform three separate assertions on the configuration
returned by the edge gateway on each of the `:FirewallService`,
`:NatService` and `:LoadBalancerService` hash members. This is necessary
because the edge gateway returns additional information such as
`:GatewayIpsecVpnService` and `:GatewayDhcpService` which we're not
concerned with.
Merge edge gateway integration tests into one file

Merge the edge gateway integration tests into one file,
`edge_gateway_spec.rb` so as to promote the visibility of the tests and
avoid duplication.
Reset edge gateway configuration before tests

Reset the vShield Edge Gateway's configuration before each test when
necessary to ensure that we are testing against a known configuration.

This adds the `IntegrationHelper::reset_edge_gateway` helper method
which is based on a method of the same name in the vCloud Edge Gateway
gem[1]. I think we can refactor the Edge Gateway gem in future to use
the method I'm adding here to reduce duplication and keep this logic in
vCloud Core.

I've also added a context to the Rspec test concerned to help separate
it from the other tests.

Note that I intentionally don't reset the edge gateway configuration
after the integration tests have run, unlike the vCloud Edge Gateway
gem[2]. There should be no need for this as the configuration is reset
before each test and resetting it after tests will slow down the
integration tests.

[1]:
https://github.com/alphagov/vcloud-edge_gateway/blob/master/spec/integration/edge_gateway/configure_services_spec.rb#L92-L103
[2]:
https://github.com/alphagov/vcloud-edge_gateway/commit/52b1b7eba7e2ddf3b74afd254ee59c0e8f4cb157#diff-29621b5d73d46c66fbeb9a817a3fa252R43
DRY up edge gateway integration tests using `let`

Use Rspec's `let` to define `edge_gateway` and share it between the edge
gateway integration tests.
Move env var checking inside `before` block

Move the logic that checks for the environment variables used to
configure the test environment inside a `before(:all)` block for
neatness.

Note that this code will soon be changed to use the [vCloud Tools
Tester](https://github.com/alphagov/vcloud-tools-tester) helper gem.
Remove extraneous whitespace
Improve edge gateway integration test descriptions

Avoid use of 'should'[1], fix capitalisation and make descriptions more
readable.

[1]: http://betterspecs.org/#should
Convert gateway integration tests to use expect

To follow [best practice](http://betterspecs.org/#expect).

This conversion was done by Transpec 2.1.0 with the following command:

```
transpec spec/integration/edge_gateway/edge_gateway_spec.rb
```

* 3 conversions
    from: == expected
      to: eq(expected)

* 3 conversions
    from: obj.should
      to: expect(obj).to

See also: https://github.com/yujinakayama/transpec#supported-conversions
Use vCloud Tools Tester for edge gateway tests

Convert the edge gateway integration tests to use the [vCloud Tools
Tester](https://github.com/alphagov/vcloud-tools-tester) gem now that
it's available for use as of 9b02ef0e66e294f1f60ab4828da009bbd66664fb.

* * *

Also, bump the required version of vcloud-tools-tester to 0.0.6 so that
we can use the new test parameters set as of that version.
Rename gateway_interface to network_interface

The integration tests for EdgeGateway#vcloud_gateway_interface_by_id
referred to each network interface they defined as `gateway_interface`.

To remove any confusion between an organisation vDC network interface
and the uplink ('external-facing') interface, rename this variable to
the more generic `network_interface` in those tests.
Add integration tests for Core::EdgeGateway

Add integration tests for the Vcloud::Core::EdgeGateway class:

  - EdgeGateway#get_by_name
  - EdgeGateway#get_ids_by_name
  - EdgeGateway.vcloud_attributes
  - EdgeGateway.name
  - EdgeGateway.href
  - EdgeGateway.interfaces

The 'edge_gateway_id' parameter depends on version 0.6.0 of the vCloud
Tools Tester gem.
Fix indentation
Use a hard-coded bogus string as a spurious UUID

Instead of randomly generated a UUID which changes for each test, use a
hard-coded value as a spurious UUID.

This will be more predictable and less likely to clash with a valid
real-life UUID.
Prefer `@test_data` hash to multiple `let`s

Instead of using `let` to define the variables needed in the
`EdgeGateway` integration tests, use the `@test_data` instance variable.

This should simplify the code somewhat and also avoids having `let`
declarations be specific to the scope of a single `context` block
unnecessarily (which reduces their visibility and thus the readability
of the code).
Move edge gateway integration tests to `core` dir

Move the edge integration tests to `spec/integration/core/` to make it
consistent with the other integration tests.
Merge pull request #70 from mattbostock/70499746-edge_gateway_integ_tests

[#70499746] Add integration tests for Core::EdgeGateway