octopus-serverspec-extensions 0.15.5 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/docs/authentication.md +45 -0
- data/docs/octopus_deploy_account.md +37 -0
- data/docs/octopus_deploy_doc_template.md +17 -0
- data/docs/octopus_deploy_environment.md +33 -0
- data/docs/octopus_deploy_project_group.md +31 -0
- data/docs/octopus_deploy_smtp_config.md +39 -0
- data/docs/octopus_deploy_space.md +32 -0
- data/docs/octopus_deploy_team.md +26 -0
- data/docs/octopus_deploy_tentacle.md +41 -0
- data/docs/octopus_deploy_upgrade_config.md +34 -0
- data/docs/octopus_deploy_user.md +34 -0
- data/docs/octopus_deploy_worker.md +39 -0
- data/docs/octopus_deploy_worker_pool.md +26 -0
- data/lib/octopus_serverspec_extensions.rb +70 -0
- data/lib/octopus_serverspec_extensions/matcher/allow_dynamic_infrastructure.rb +13 -0
- data/lib/octopus_serverspec_extensions/matcher/use_guided_failure.rb +13 -0
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_account.rb +72 -61
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_environment.rb +70 -11
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_project_group.rb +77 -52
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_smtp_config.rb +109 -0
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_space.rb +92 -0
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_team.rb +82 -0
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_tentacle.rb +7 -8
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_upgrade_config.rb +112 -0
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_user.rb +111 -0
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_worker.rb +173 -0
- data/lib/octopus_serverspec_extensions/type/octopus_deploy_worker_pool.rb +33 -3
- data/lib/octopus_serverspec_extensions/version.rb +1 -1
- metadata +25 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 282b996f710e8c9a9feef460d983835143603931ad3a8864955082f967487086
|
4
|
+
data.tar.gz: 992f37a34e67a35376d65800ba12887e90923ce3cc71f8723daed742b711c67d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea1e0139abeabbc3bb370316647cd92a057679842027f00630e678e7ca9fd4d1417b0596249ddfab79be8ec58b84272a08591d9e5283a1338772a65c1f5e2f22
|
7
|
+
data.tar.gz: 7bb2a95785aa6c6a8f1498dabe731794196b1a334fe30dd6ca92dec1203017ae6242719ca72eb5f4ca5cde509135de982750ac37a99fc0e926e1c638cf373d88
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# Authenticating to your Octopus Server
|
2
|
+
|
3
|
+
There are two main ways of authenticating to your Octopus Server from your ServerSpec tests.
|
4
|
+
|
5
|
+
#### 1. Using Automatic Environment Variables
|
6
|
+
|
7
|
+
If you do not provide a URL and API key in your type call, the type will try to fall back to environment variables.
|
8
|
+
|
9
|
+
This option is much cleaner to read, and helps to protect you from leaked credentials, but can be less explicit if you're testing against multiple Octopus Instances.
|
10
|
+
|
11
|
+
| Variable | Description |
|
12
|
+
|:----------------------|:----------------------------------------------------------------------------------------|
|
13
|
+
| OCTOPUS_CLI_SERVER | The http or https URL of your Octopus Deploy server: e.g. https://octopus.example.com/ |
|
14
|
+
| OCTOPUS_CLI_API_KEY | A valid API key, with rights to view the resources you're testing |
|
15
|
+
|
16
|
+
The following example will attempt to use the Environment variables. If they are not present, it will raise an exception:
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
describe octopus_deploy_account('myawsaccount').in_space('Octopus') do
|
20
|
+
it { should exist }
|
21
|
+
end
|
22
|
+
```
|
23
|
+
|
24
|
+
#### 2. Provide creds with each type
|
25
|
+
|
26
|
+
This method makes sense if you're testing multiple Octopus Servers in the same ruby script, and need a visual cue to which servers you're testing in a specific block.
|
27
|
+
|
28
|
+
Simply provide the URL and API key of your Octopus server as the first two parameters in your type
|
29
|
+
|
30
|
+
The following example will connect to a specific server using a specific API key:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
describe octopus_deploy_account('https://octopus.example.com/', 'API-1234ABCDE5678FGHI', 'myawsaccount').in_space('Octopus') do
|
34
|
+
it { should exist }
|
35
|
+
end
|
36
|
+
```
|
37
|
+
|
38
|
+
#### 3. Using your own Environment Variables
|
39
|
+
You can provide the types with a different environment variable by using Ruby's `ENV[]` hash.
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
describe octopus_deploy_smtp_config(ENV['MY_OCTOPUS_URL'], ENV['MY_OCTOPUS_API_KEY']) do
|
43
|
+
it { should be_configured }
|
44
|
+
end
|
45
|
+
```
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# octopus_deploy_account
|
2
|
+
|
3
|
+
Describes an [Octopus Infrastructure Account](https://octopus.com/docs/infrastructure/accounts).
|
4
|
+
|
5
|
+
A number of properties of Accounts (such as passwords & secret keys) are [sensitive]() values, therefore we can't directly test them.
|
6
|
+
|
7
|
+
## Example
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
|
11
|
+
describe octopus_deploy_account("myawsaccount").in_space("Octopus") do
|
12
|
+
it { should exist }
|
13
|
+
it { should be_aws_account }
|
14
|
+
it { should_not be_azure_account }
|
15
|
+
it { should have_description('My main AWS account') }
|
16
|
+
end
|
17
|
+
|
18
|
+
```
|
19
|
+
|
20
|
+
#### Type
|
21
|
+
|
22
|
+
```ruby
|
23
|
+
octopus_deploy_account([server_url, api_key], account_name)
|
24
|
+
octopus_account([server_url, api_key], account_name)
|
25
|
+
```
|
26
|
+
|
27
|
+
#### Matchers
|
28
|
+
|
29
|
+
| Matcher | Description |
|
30
|
+
|:--------|:------------|
|
31
|
+
| should exist | Tests if an account of the name exists |
|
32
|
+
| should be_aws_account | Amazon Web Services account |
|
33
|
+
| should be_azure_account | Microsoft Azure account |
|
34
|
+
| should be_ssh_key_pair | SSH keypair |
|
35
|
+
| should be_token | A token for use with services such as Kubernetes|
|
36
|
+
| should be_username_password | A username and password for use with services supporting user/pass |
|
37
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# octopus_deploy_environment
|
2
|
+
|
3
|
+
Tests an Octopus Deploy [Environment](https://octopus.com/docs/infrastructure/environments) resource.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_deploy_environment('Production').in_space('Team Octopus') do
|
9
|
+
it { should exist }
|
10
|
+
end
|
11
|
+
```
|
12
|
+
|
13
|
+
#### Type
|
14
|
+
|
15
|
+
This type can be instantiated in several ways, depending on [how you authenticate](authentication.md), and whether your target environment is in a [Space](https://octopus.com/blog/spaces-introduction).
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
octopus_deploy_environment(url, api_key, environment_name) # url and apikey provided
|
19
|
+
octopus_deploy_environment(environment_name) # using environment vars
|
20
|
+
octopus_environment(environment_name).in_space(space_name) # using environment vars, in a [space](https://octopus.com/blog/spaces-introduction)
|
21
|
+
octopus_environment(url, api_key, environment_name)
|
22
|
+
octopus_environment(environment_name)
|
23
|
+
octopus_environment(url, api_key, environment_name).in_space(space_name)
|
24
|
+
```
|
25
|
+
|
26
|
+
#### Matchers
|
27
|
+
|
28
|
+
| Matcher | Description |
|
29
|
+
|:--------|:------------|
|
30
|
+
| should exist | Tests for the existence of a given Environment |
|
31
|
+
| should use_guided_failure | Tests if the Environment has the Use Guided Failure default applied |
|
32
|
+
| should allow_dynamic_infrastructure | Tests if the checkbox for [Allow Dynamic Infrastructure](https://octopus.com/docs/infrastructure/environments#enabling-dynamic-infrastructure) is checked |
|
33
|
+
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# octopus_deploy_project_group
|
2
|
+
|
3
|
+
Describes an Octopus [Project Group](https://octopus.com/docs/deployment-process/projects#project-group) resource.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_project_group('Important Projects') do
|
9
|
+
it { should have_description('These are my Very Important projects') }
|
10
|
+
end
|
11
|
+
```
|
12
|
+
|
13
|
+
#### Type
|
14
|
+
|
15
|
+
This type can be instantiated in several ways, depending on [how you authenticate](authentication.md).
|
16
|
+
|
17
|
+
Note: `*_projectgroup` (v.1.5.x) is deprecated in favour of `*_project_group`, but included for backwards compatibility
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
octopus_deploy project_group(server_url, api_key, 'Example Group') # url and apikey provided
|
21
|
+
octopus_deploy_project_group('Example Group') # using env vars
|
22
|
+
octopus_project_group(server_url, api_key, 'Example Group') # shorthand
|
23
|
+
octopus_project_group('Example Group')
|
24
|
+
```
|
25
|
+
|
26
|
+
#### Matchers
|
27
|
+
|
28
|
+
| Matcher | Description |
|
29
|
+
|:--------|:------------|
|
30
|
+
| should exist | Tests for existence of a project group with the given name |
|
31
|
+
| should have_description(description) | Tests if the Project group has a given description |
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# octopus_deploy_smtp_config
|
2
|
+
|
3
|
+
Tests the server-wide SMTP configuration. This can be found in the Octopus Portal under Configuration -> SMTP
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_deploy_smtp_config do
|
9
|
+
it { should be_configured }
|
10
|
+
it { should have_from_address('hello@example.com') }
|
11
|
+
it { should be_using_credentials('myusername') }
|
12
|
+
it { should_not be_using_credentials('myspecialusername') }
|
13
|
+
it { should be_on_port(25) }
|
14
|
+
it { should be_on_host('smtp.example.com')}
|
15
|
+
it { should be_using_ssl }
|
16
|
+
end
|
17
|
+
```
|
18
|
+
|
19
|
+
#### Type
|
20
|
+
|
21
|
+
This type can be instantiated in several ways, depending on [how you authenticate](authentication.md).
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
octopus_deploy_smtp_config(server_url, api_key) # url and apikey provided
|
25
|
+
octopus_deploy_smtp_config # using environment vars
|
26
|
+
octopus_smtp_config(server_url, api_key) # shorthand
|
27
|
+
octopus_smtp_config
|
28
|
+
```
|
29
|
+
|
30
|
+
#### Matchers
|
31
|
+
|
32
|
+
| Matcher | Description |
|
33
|
+
|:--------|:------------|
|
34
|
+
| should be_configured | Tests if the SMTP configuration has been set
|
35
|
+
| should be_on_host(host) | Tests the "SMTP Host" field |
|
36
|
+
| should be_on_port(port) | Tests the "SMTP Port" field |
|
37
|
+
| should be_using_ssl | Tests the "Use SSL/TLS" field |
|
38
|
+
| should have_from_address(address) | Tests the "From Address" field |
|
39
|
+
| should be_using_credentials(username) | Tests the "Credentials" field (username only) |
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# octopus_deploy_space
|
2
|
+
|
3
|
+
Describes an Octopus Deploy [Space](https://octopus.com/docs/administration/spaces) resource.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_deploy_space('Team Phoenix') do
|
9
|
+
it { should exist }
|
10
|
+
it { should have_running_task_queue }
|
11
|
+
end
|
12
|
+
```
|
13
|
+
|
14
|
+
#### Type
|
15
|
+
|
16
|
+
This type can be instantiated in several ways, depending on [how you authenticate](authentication.md).
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
octopus_deploy_space(server_url, api_key, space_name) # url and apikey provided
|
20
|
+
octopus_deploy_space(space_name) # using environment variables
|
21
|
+
octopus_space(server_url, api_key, space_name)
|
22
|
+
octopus_space(space_name) # shorthand
|
23
|
+
```
|
24
|
+
|
25
|
+
#### Matchers
|
26
|
+
|
27
|
+
| Matcher | Description |
|
28
|
+
|:--------|:------------|
|
29
|
+
| exist | test for existence of a given space |
|
30
|
+
| be_default | Tests if this space is the default space |
|
31
|
+
| have_running_task_queue | tests if the queue for this space is disabled |
|
32
|
+
| have_description(description) | tests if the space has the specified description |
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# octopus_deploy_team
|
2
|
+
|
3
|
+
Describes an Octopus Deploy [Team](https://octopus.com/docs/administration/managing-users-and-teams) resource.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_team('Super Ninja Developer Squad') do
|
9
|
+
it { should exist }
|
10
|
+
end
|
11
|
+
|
12
|
+
```
|
13
|
+
#### Type
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
octopus_deploy_team([url, api_key], team_name)
|
17
|
+
octopus_team([url, api_key], team_name)
|
18
|
+
octopus_team([url, api_key], team_name).in_space(space_name)
|
19
|
+
|
20
|
+
```
|
21
|
+
|
22
|
+
#### Matchers
|
23
|
+
|
24
|
+
| Matcher | Description |
|
25
|
+
|:--------|:------------|
|
26
|
+
| should exist | Checks for existence of a team with the given name |
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# octopus_deploy_tentacle
|
2
|
+
|
3
|
+
Describes an Octopus Deploy [Tentacle agent](https://octopus.com/docs/infrastructure/deployment-targets/windows-targets) resource.
|
4
|
+
|
5
|
+
Must be run on the same machine as `tentacle.exe` at present. Cannot remotely test tentacles at the present time.
|
6
|
+
|
7
|
+
## Example
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
describe octopus_tentacle('MyTentacle') do
|
11
|
+
it { should be_polling_tentacle }
|
12
|
+
it { should have_policy('My tentacle policy')}
|
13
|
+
end
|
14
|
+
```
|
15
|
+
|
16
|
+
#### Type
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
octopus_deploy_tentacle([url, api_key], instance_name)
|
20
|
+
octopus_tentacle([url, api_key], instance_name)
|
21
|
+
octopus_tentacle([url, api_key], instance_name).in_space('Octopus')
|
22
|
+
|
23
|
+
```
|
24
|
+
|
25
|
+
#### Matchers
|
26
|
+
|
27
|
+
| Matcher | Description |
|
28
|
+
|:--------|:------------|
|
29
|
+
| should exist | Tests if tentacle.exe is present locally |
|
30
|
+
| should be_registered_with_the_server | Checks if this tentacle instance is present in the target server |
|
31
|
+
| should be_online | Tests if the tentacle has a status of online. If the machine is in a healthcheck, waits until healthcheck completes |
|
32
|
+
| should be_in_environment(env_name) | Tests if the tentacle is registered to a given [Environment](octopus_deploy_environment.md) |
|
33
|
+
| should be_in_space(space_name) | Tests if a tentacle appears in a given space. _deprecated_. |
|
34
|
+
| should have_tenant(tenant_name) | Tests if a tentacle is registered to a given tenant |
|
35
|
+
| should have_tenant_tag(tag_name) | Tests if a tentacle is registered to a given tenant tag |
|
36
|
+
| should have_policy(policy_name) | Tests if a tentacle has a give policy applied |
|
37
|
+
| should have_role(role_name) | Tests if a tentacle has a given role applied |
|
38
|
+
| should have_display_name | Tests if a tentacle has a given display name |
|
39
|
+
| should have_tenanted_deployment_participation(mode) | Tests if a tentacle can take part in tenanted deployments |
|
40
|
+
| should be_polling_tentacle | Tests if a tentacle is in the 'polling' or 'Active' mode |
|
41
|
+
| should be_listening_tentacle | Tests if a tentacle is in the 'listening' or 'Passive' mode |
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# octopus_deploy_upgrade_config
|
2
|
+
|
3
|
+
Tests the server-wide upgrade configuration. This can be found in the UI at Configuration->Settings->Updates & Usage Telemetry.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_deploy_upgrade_config do
|
9
|
+
it { should include_statistics }
|
10
|
+
it { should never_show_notifications }
|
11
|
+
end
|
12
|
+
```
|
13
|
+
|
14
|
+
#### Type
|
15
|
+
|
16
|
+
This type can be instantiated in several ways, depending on [how you authenticate](authentication.md).
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
octopus_deploy_upgrade_config(server_url, api_key) # url and apikey provided
|
20
|
+
octopus_deploy_upgrade_config # using environment vars
|
21
|
+
octopus_upgrade_config(server_url, api_key) # shorthand
|
22
|
+
octopus_upgrade_config # shorthand, using env vars
|
23
|
+
```
|
24
|
+
|
25
|
+
#### Matchers
|
26
|
+
|
27
|
+
| Matcher | Description |
|
28
|
+
|:--------|:------------|
|
29
|
+
| should have_notification_mode(mode) | Tests if the Notification mode is set to the given value. Possible values: ['AlwaysShow', 'ShowOnlyMajorMinor', 'NeverShow'] |
|
30
|
+
| should never_show_notifications | equivalent to `should_have_notification_mode('NeverShow')` |
|
31
|
+
| should always_show_notifications | equivalent to `should_have_notification_mode('AlwaysShow')` |
|
32
|
+
| should show_major_minor_notifications | equivalent to `should_have_notification_mode('ShowOnlyMajorMinor')` |
|
33
|
+
| should include_statistics | Tests if the IncludeStatistics setting is set to `true` |
|
34
|
+
| should allow_checking | Tests if the AllowChecking setting is set to `true` |
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# octopus_deploy_user
|
2
|
+
|
3
|
+
Describes an Octopus Deploy [User](https://octopus.com/docs/administration/managing-users-and-teams#Managingusersandteams-UserandServiceaccounts) resource.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_deploy_user('bobthedeveloper') do
|
9
|
+
it { should exist }
|
10
|
+
it { should be_active }
|
11
|
+
end
|
12
|
+
```
|
13
|
+
|
14
|
+
#### Type
|
15
|
+
|
16
|
+
This type can be instantiated in several ways, depending on [how you authenticate](authentication.md).
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
octopus_deploy_user(url, api_key, user_name) # url and apikey provided
|
20
|
+
octopus_deploy_user(user_name) # using environment vars
|
21
|
+
octopus_user(url, api_key, user_name) # shorthand
|
22
|
+
octopus_user(user_name)
|
23
|
+
```
|
24
|
+
|
25
|
+
#### Matchers
|
26
|
+
|
27
|
+
| Matcher | Description |
|
28
|
+
|:--------|:------------|
|
29
|
+
| should exist | Tests for existence of a User account with the given name |
|
30
|
+
| should be_active | Tests if the User is enabled/has the 'Is Active' checkbox checked |
|
31
|
+
| should have_email(email) | Tests the email address associated with the User account |
|
32
|
+
| should have_api_key(purpose) | Tests if the User has an API Key with the stated purpose field |
|
33
|
+
| should have_display_name(name) | Tests the Display Name set for the User |
|
34
|
+
| should be_service_account | Tests if the User is a service account |
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# octopus_deploy_worker
|
2
|
+
|
3
|
+
Describes the state of an [Octopus Deploy Worker](https://octopus.com/docs/infrastructure/workers) Agent resource
|
4
|
+
|
5
|
+
A worker is essentially a specialised version of the [Tentacle Agent](octopus_deploy_tentacle.md) resource, so this Type has much in common.
|
6
|
+
|
7
|
+
## Example
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
describe octopus_worker('WorkerInstance').in_space('TeamBlue') do
|
11
|
+
it { should exist }
|
12
|
+
it { should be_online }
|
13
|
+
it { should be_listening_worker }
|
14
|
+
it { should have_display_name('Blue Team worker') }
|
15
|
+
end
|
16
|
+
```
|
17
|
+
|
18
|
+
|
19
|
+
#### Type
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
octopus_deploy_worker([url, api_key], instance_name)
|
23
|
+
octopus_worker([url, api_key], instance_name)
|
24
|
+
octopus_deploy_worker([url, api_key], instance_name).in_space(space_name)
|
25
|
+
|
26
|
+
```
|
27
|
+
|
28
|
+
#### Matchers
|
29
|
+
|
30
|
+
| Matcher | Description |
|
31
|
+
|:--------|:------------|
|
32
|
+
| should exist | Tests if tentacle.exe is present locally |
|
33
|
+
| should be_registered_with_the_server | Checks if this worker instance is present in the target server |
|
34
|
+
| should be_online | Tests if the worker has a status of 'online'. If the machine is in a healthcheck, waits until healthcheck completes |
|
35
|
+
| should be_in_space(space_name) | Tests if a worker appears in a given space. _deprecated_. |
|
36
|
+
| should have_policy(policy_name) | Tests if a worker has a give policy applied |
|
37
|
+
| should have_display_name | Tests if a worker has a given display name |
|
38
|
+
| should be_polling_worker | Tests if a worker is in the 'polling' or 'Active' mode |
|
39
|
+
| should be_listening_worker | Tests if a worker is in the 'listening' or 'Passive' mode |
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# octopus_deploy_worker_pool
|
2
|
+
|
3
|
+
Describes an Octopus Deploy [Worker Pool](https://octopus.com/docs/infrastructure/workers/worker-pools) resource.
|
4
|
+
|
5
|
+
## Example
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
describe octopus_deploy_worker_pool('My Worker Pool').in_space("My Space") do
|
9
|
+
it { should exist }
|
10
|
+
end
|
11
|
+
```
|
12
|
+
|
13
|
+
This type can be instantiated in several ways, depending on [how you authenticate](authentication.md).
|
14
|
+
|
15
|
+
#### Type
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
octopus_deploy_worker_pool('My Worker Pool').in_space("My Space")
|
19
|
+
octopus_worker_pool('Pool in Default Space')
|
20
|
+
```
|
21
|
+
|
22
|
+
#### Matchers
|
23
|
+
|
24
|
+
| Matcher | Description |
|
25
|
+
|:--------|:------------|
|
26
|
+
| should exist | Tests for existence of a pool with this name |
|