alinta-cucumber-rest-bdd 0.5.9 → 0.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/cucumber-rest-bdd/steps/auth.rb +63 -0
- data/lib/cucumber-rest-bdd/steps.rb +1 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe70e96cbff350a2232d09a3cf6909c601da3a41
|
4
|
+
data.tar.gz: 363099350bbafcc21fa300a6db7c6ecb536a0065
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd6253343ffeb9230ef1865100ce202d9125ed091c7683e738ed4a08d8a41aea3b7ae8ee1f162e986372c46eb6f389cc2cce14c3733a76cd6c8260eb743fbf05
|
7
|
+
data.tar.gz: f7117667cd94204f75b1fe7650a365d95a9c76607af34e0546b3d0454c2b4a1f70243281593b5ab575dc5765a8bf293dae2916855b5e9a54633de5946f39e308
|
@@ -0,0 +1,63 @@
|
|
1
|
+
Given(/^I retrieve the API Management subscription key$/) do
|
2
|
+
if @apim_subscription_key.to_s.empty?
|
3
|
+
@apim_subscription_key = ENV['apim_subscription_key']
|
4
|
+
|
5
|
+
if @apim_subscription_key.to_s.empty?
|
6
|
+
steps %Q{
|
7
|
+
Given I retrieve the secret "APIMgmnt--End2End--Starter--Primary" from Azure Storage Vault
|
8
|
+
}
|
9
|
+
@apim_subscription_key = @response.get_as_type "$..value", "string"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
Given(/^I add the API Management key header$/) do
|
15
|
+
steps %Q{
|
16
|
+
And I add Headers:
|
17
|
+
| Ocp-Apim-Subscription-Key | #{@apim_subscription_key} |
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
Given(/^I retrieve the secret "(.*?)" from Azure Storage Vault$/) do |secret_name|
|
22
|
+
tenant_id = ENV['ALINTA_TENANTID']
|
23
|
+
client_id = ENV['ALINTA_CLIENTID']
|
24
|
+
client_secret = ENV['ALINTA_CLIENTSECRET']
|
25
|
+
vault_name = ENV['ALINTA_VAULT']
|
26
|
+
if tenant_id.nil? or client_id.nil? or client_secret.nil? or vault_name.nil?
|
27
|
+
fail('One or more required environment variables have not been defined.')
|
28
|
+
end
|
29
|
+
steps %Q{
|
30
|
+
Given I authenticate with Azure Storage Vault tenant "#{tenant_id}" using client credentials "#{client_id}" and "#{client_secret}"
|
31
|
+
}
|
32
|
+
access_token = @response.get_as_type "$..access_token", "string"
|
33
|
+
steps %Q{
|
34
|
+
And I request the secret "#{secret_name}" from Azure Storage Vault "#{vault_name}" using token "#{access_token}"
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
Given(/^I authenticate with Azure Storage Vault tenant "(.*?)" using client credentials "(.*?)" and "(.*?)"$/) do |tenant_id, client_id, client_secret|
|
39
|
+
steps %Q{
|
40
|
+
Given I authenticate with "https://login.windows.net/#{tenant_id}/oauth2/token" using client credentials "#{client_id}" and "#{client_secret}"
|
41
|
+
}
|
42
|
+
end
|
43
|
+
|
44
|
+
Given(/^I authenticate with "(.*?)" using client credentials "(.*?)" and "(.*?)"$/) do |url, client_id, client_secret|
|
45
|
+
steps %Q{
|
46
|
+
Given I send "www-x-form-urlencoded" and accept JSON
|
47
|
+
When I set JSON request body to '{"grant_type": "client_credentials", "client_id": "#{client_id}", "client_secret": "#{client_secret}", "resource": "https://vault.azure.net"}'
|
48
|
+
And I send a POST request to "#{url}"
|
49
|
+
Then the request was successful
|
50
|
+
}
|
51
|
+
end
|
52
|
+
|
53
|
+
Given(/^I request the secret "(.*?)" from Azure Storage Vault "(.*?)" using token "(.*?)"$/) do |secret_name, vault_name, access_token|
|
54
|
+
api_version = '2015-06-01'
|
55
|
+
url = "https://#{vault_name}.vault.azure.net/secrets/#{secret_name}?api-version=#{api_version}"
|
56
|
+
steps %Q{
|
57
|
+
Given I send and accept JSON
|
58
|
+
And I add Headers:
|
59
|
+
| Authorization | Bearer #{access_token} |
|
60
|
+
When I send a GET request to "#{url}"
|
61
|
+
Then the request was successful
|
62
|
+
}
|
63
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alinta-cucumber-rest-bdd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Harry Bragg
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2018-
|
12
|
+
date: 2018-02-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: alinta-cucumber-api
|
@@ -65,6 +65,7 @@ files:
|
|
65
65
|
- lib/cucumber-rest-bdd/hash.rb
|
66
66
|
- lib/cucumber-rest-bdd/level.rb
|
67
67
|
- lib/cucumber-rest-bdd/steps.rb
|
68
|
+
- lib/cucumber-rest-bdd/steps/auth.rb
|
68
69
|
- lib/cucumber-rest-bdd/steps/functional.rb
|
69
70
|
- lib/cucumber-rest-bdd/steps/resource.rb
|
70
71
|
- lib/cucumber-rest-bdd/steps/response.rb
|
@@ -91,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
92
|
version: '0'
|
92
93
|
requirements: []
|
93
94
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.6.
|
95
|
+
rubygems_version: 2.6.14
|
95
96
|
signing_key:
|
96
97
|
specification_version: 4
|
97
98
|
summary: BDD Rest API specifics for cucumber
|