crowbar-client 2.2.1 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/lib/crowbar/client/app/backup.rb +148 -0
  4. data/lib/crowbar/client/app/entry.rb +4 -4
  5. data/lib/crowbar/client/app/node.rb +26 -13
  6. data/lib/crowbar/client/app/proposal.rb +59 -0
  7. data/lib/crowbar/client/app.rb +3 -3
  8. data/lib/crowbar/client/command/{reset/proposal.rb → backup/create.rb} +9 -3
  9. data/lib/crowbar/client/command/backup/delete.rb +42 -0
  10. data/lib/crowbar/client/command/backup/download.rb +68 -0
  11. data/lib/crowbar/client/command/backup/list.rb +76 -0
  12. data/lib/crowbar/client/command/{reset/nodes.rb → backup/upload.rb} +9 -4
  13. data/lib/crowbar/client/command/{reset.rb → backup.rb} +14 -5
  14. data/lib/crowbar/client/command/node/group.rb +44 -0
  15. data/lib/crowbar/client/command/node/list.rb +37 -16
  16. data/lib/crowbar/client/command/node.rb +3 -0
  17. data/lib/crowbar/client/command/proposal/reset.rb +48 -0
  18. data/lib/crowbar/client/command/proposal.rb +3 -0
  19. data/lib/crowbar/client/command.rb +3 -3
  20. data/lib/crowbar/client/config.rb +5 -5
  21. data/lib/crowbar/client/mixin/barclamp.rb +1 -4
  22. data/lib/crowbar/client/request/backup/create.rb +46 -0
  23. data/lib/crowbar/client/request/{reset/proposal.rb → backup/delete.rb} +8 -4
  24. data/lib/crowbar/client/request/backup/download.rb +47 -0
  25. data/lib/crowbar/client/request/{reset/nodes.rb → backup/list.rb} +6 -3
  26. data/lib/crowbar/client/request/backup/upload.rb +48 -0
  27. data/lib/crowbar/client/request/backup.rb +38 -0
  28. data/lib/crowbar/client/request/base.rb +4 -4
  29. data/lib/crowbar/client/request/node/group.rb +39 -0
  30. data/lib/crowbar/client/request/node.rb +3 -0
  31. data/lib/crowbar/client/request/party.rb +2 -2
  32. data/lib/crowbar/client/request/proposal/reset.rb +40 -0
  33. data/lib/crowbar/client/request/proposal.rb +3 -0
  34. data/lib/crowbar/client/request.rb +3 -3
  35. data/lib/crowbar/client/version.rb +2 -2
  36. data/spec/crowbar/client/command/backup/create_spec.rb +42 -0
  37. data/spec/crowbar/client/command/backup/delete_spec.rb +41 -0
  38. data/spec/crowbar/client/command/backup/download_spec.rb +40 -0
  39. data/spec/crowbar/client/command/{reset/nodes_spec.rb → backup/list_spec.rb} +3 -3
  40. data/spec/crowbar/client/command/backup/upload_spec.rb +40 -0
  41. data/spec/crowbar/client/command/{reset/proposal_spec.rb → node/group_spec.rb} +3 -3
  42. data/spec/crowbar/client/command/proposal/create_spec.rb +3 -7
  43. data/spec/crowbar/client/command/proposal/edit_spec.rb +4 -8
  44. data/spec/crowbar/client/command/proposal/reset_spec.rb +39 -0
  45. data/spec/crowbar/client/request/{reset/proposal_spec.rb → backup/create_spec.rb} +37 -36
  46. data/spec/crowbar/client/request/{reset/nodes_spec.rb → backup/delete_spec.rb} +34 -36
  47. data/spec/crowbar/client/request/backup/download_spec.rb +53 -0
  48. data/spec/crowbar/client/request/backup/list_spec.rb +52 -0
  49. data/spec/crowbar/client/request/backup/upload_spec.rb +55 -0
  50. data/spec/crowbar/client/request/barclamp/list_spec.rb +1 -1
  51. data/spec/crowbar/client/request/batch/build_spec.rb +1 -1
  52. data/spec/crowbar/client/request/batch/export_spec.rb +1 -1
  53. data/spec/crowbar/client/request/host_ip/allocate_spec.rb +1 -1
  54. data/spec/crowbar/client/request/host_ip/deallocate_spec.rb +1 -1
  55. data/spec/crowbar/client/request/installer/start_spec.rb +1 -1
  56. data/spec/crowbar/client/request/installer/status_spec.rb +1 -1
  57. data/spec/crowbar/client/request/interface/disable_spec.rb +1 -1
  58. data/spec/crowbar/client/request/interface/enable_spec.rb +1 -1
  59. data/spec/crowbar/client/request/node/action_spec.rb +1 -1
  60. data/spec/crowbar/client/request/node/delete_spec.rb +1 -1
  61. data/spec/crowbar/client/request/node/group_spec.rb +53 -0
  62. data/spec/crowbar/client/request/node/list_spec.rb +1 -1
  63. data/spec/crowbar/client/request/node/rename_spec.rb +1 -1
  64. data/spec/crowbar/client/request/node/role_spec.rb +1 -1
  65. data/spec/crowbar/client/request/node/show_spec.rb +1 -1
  66. data/spec/crowbar/client/request/node/status_spec.rb +1 -1
  67. data/spec/crowbar/client/request/node/transition_spec.rb +1 -1
  68. data/spec/crowbar/client/request/proposal/commit_spec.rb +1 -1
  69. data/spec/crowbar/client/request/proposal/create_spec.rb +34 -36
  70. data/spec/crowbar/client/request/proposal/delete_spec.rb +1 -1
  71. data/spec/crowbar/client/request/proposal/dequeue_spec.rb +1 -1
  72. data/spec/crowbar/client/request/proposal/edit_spec.rb +34 -36
  73. data/spec/crowbar/client/request/proposal/list_spec.rb +1 -1
  74. data/spec/crowbar/client/request/proposal/reset_spec.rb +53 -0
  75. data/spec/crowbar/client/request/proposal/show_spec.rb +1 -1
  76. data/spec/crowbar/client/request/proposal/template_spec.rb +1 -1
  77. data/spec/crowbar/client/request/repository/activate_all_spec.rb +1 -1
  78. data/spec/crowbar/client/request/repository/activate_spec.rb +1 -1
  79. data/spec/crowbar/client/request/repository/deactivate_all_spec.rb +1 -1
  80. data/spec/crowbar/client/request/repository/deactivate_spec.rb +1 -1
  81. data/spec/crowbar/client/request/repository/list_spec.rb +1 -1
  82. data/spec/crowbar/client/request/role/list_spec.rb +1 -1
  83. data/spec/crowbar/client/request/role/show_spec.rb +1 -1
  84. data/spec/crowbar/client/request/server/api_spec.rb +1 -1
  85. data/spec/crowbar/client/request/virtual_ip/allocate_spec.rb +1 -1
  86. data/spec/crowbar/client/request/virtual_ip/deallocate_spec.rb +1 -1
  87. data/spec/fixtures/upload.tgz +0 -0
  88. data/spec/spec_helper.rb +2 -0
  89. data/{lib/crowbar/client/request/reset.rb → spec/support/helper_methods.rb} +10 -11
  90. data/spec/support/request_examples.rb +31 -12
  91. metadata +130 -96
  92. data/lib/crowbar/client/app/reset.rb +0 -58
@@ -0,0 +1,53 @@
1
+ #
2
+ # Copyright 2015, SUSE Linux GmbH
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require_relative "../../../../spec_helper"
18
+
19
+ describe "Crowbar::Client::Request::Node::Group" do
20
+ it_behaves_like "a request class", true do
21
+ subject do
22
+ ::Crowbar::Client::Request::Node::Group.new(
23
+ attrs
24
+ )
25
+ end
26
+
27
+ let!(:attrs) do
28
+ {
29
+ name: "node1",
30
+ value: "new_group"
31
+ }
32
+ end
33
+
34
+ let!(:params) do
35
+ {}
36
+ end
37
+
38
+ let!(:method) do
39
+ :post
40
+ end
41
+
42
+ let!(:url) do
43
+ "nodes/groups/1.0/node1/new_group"
44
+ end
45
+
46
+ let!(:headers) do
47
+ {
48
+ "Content-Type" => "application/json",
49
+ "Accept" => "application/json"
50
+ }
51
+ end
52
+ end
53
+ end
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Node::List" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Node::List.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Node::Rename" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Node::Rename.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Node::Role" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Node::Role.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Node::Show" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Node::Show.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Node::Status" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Node::Status.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Node::Transition" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Node::Transition.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::Commit" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Proposal::Commit.new(
23
23
  attrs
@@ -17,40 +17,38 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::Create" do
20
- # it_behaves_like "a request class" do
21
- # subject do
22
- # ::Crowbar::Client::Request::Proposal::Create.new(
23
- # attrs
24
- # )
25
- # end
26
-
27
- # let!(:attrs) do
28
- # {
29
- # barclamp: "ntp",
30
- # proposal: "default"
31
- # }
32
- # end
33
-
34
- # let!(:params) do
35
- # {}
36
- # end
37
-
38
- # let!(:method) do
39
- # :post
40
- # end
41
-
42
- # let!(:url) do
43
- # "crowbar/ntp/1.0/proposals/commit/default"
44
- # end
45
-
46
- # let!(:headers) do
47
- # {
48
- # "Content-Type" => "application/json",
49
- # "Accept" => "application/json"
50
- # }
51
- # end
52
- # end
53
-
54
- pending
55
-
20
+ it_behaves_like "a request class", true do
21
+ subject do
22
+ ::Crowbar::Client::Request::Proposal::Create.new(
23
+ attrs
24
+ )
25
+ end
26
+
27
+ let!(:attrs) do
28
+ {
29
+ barclamp: "ntp",
30
+ proposal: "default",
31
+ data: "{}"
32
+ }
33
+ end
34
+
35
+ let!(:params) do
36
+ {}
37
+ end
38
+
39
+ let!(:method) do
40
+ :put
41
+ end
42
+
43
+ let!(:url) do
44
+ "crowbar/ntp/1.0/proposals"
45
+ end
46
+
47
+ let!(:headers) do
48
+ {
49
+ "Content-Type" => "application/json",
50
+ "Accept" => "application/json"
51
+ }
52
+ end
53
+ end
56
54
  end
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::Delete" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Proposal::Delete.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::Dequeue" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Proposal::Dequeue.new(
23
23
  attrs
@@ -17,40 +17,38 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::Edit" do
20
- # it_behaves_like "a request class" do
21
- # subject do
22
- # ::Crowbar::Client::Request::Proposal::Edit.new(
23
- # attrs
24
- # )
25
- # end
26
-
27
- # let!(:attrs) do
28
- # {
29
- # barclamp: "ntp",
30
- # proposal: "default"
31
- # }
32
- # end
33
-
34
- # let!(:params) do
35
- # {}
36
- # end
37
-
38
- # let!(:method) do
39
- # :delete
40
- # end
41
-
42
- # let!(:url) do
43
- # "crowbar/ntp/1.0/proposals/dequeue/default"
44
- # end
45
-
46
- # let!(:headers) do
47
- # {
48
- # "Content-Type" => "application/json",
49
- # "Accept" => "application/json"
50
- # }
51
- # end
52
- # end
53
-
54
- pending
55
-
20
+ it_behaves_like "a request class", true do
21
+ subject do
22
+ ::Crowbar::Client::Request::Proposal::Edit.new(
23
+ attrs
24
+ )
25
+ end
26
+
27
+ let!(:attrs) do
28
+ {
29
+ barclamp: "ntp",
30
+ proposal: "default",
31
+ data: "{}"
32
+ }
33
+ end
34
+
35
+ let!(:params) do
36
+ {}
37
+ end
38
+
39
+ let!(:method) do
40
+ :post
41
+ end
42
+
43
+ let!(:url) do
44
+ "crowbar/ntp/1.0/proposals/default"
45
+ end
46
+
47
+ let!(:headers) do
48
+ {
49
+ "Content-Type" => "application/json",
50
+ "Accept" => "application/json"
51
+ }
52
+ end
53
+ end
56
54
  end
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::List" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Proposal::List.new(
23
23
  attrs
@@ -0,0 +1,53 @@
1
+ #
2
+ # Copyright 2015, SUSE Linux GmbH
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+
17
+ require_relative "../../../../spec_helper"
18
+
19
+ describe "Crowbar::Client::Request::Proposal::Reset" do
20
+ it_behaves_like "a request class", true do
21
+ subject do
22
+ ::Crowbar::Client::Request::Proposal::Reset.new(
23
+ attrs
24
+ )
25
+ end
26
+
27
+ let!(:attrs) do
28
+ {
29
+ barclamp: "ntp",
30
+ proposal: "default"
31
+ }
32
+ end
33
+
34
+ let!(:params) do
35
+ {}
36
+ end
37
+
38
+ let!(:method) do
39
+ :post
40
+ end
41
+
42
+ let!(:url) do
43
+ "crowbar/ntp/1.0/proposals/reset/default"
44
+ end
45
+
46
+ let!(:headers) do
47
+ {
48
+ "Content-Type" => "application/json",
49
+ "Accept" => "application/json"
50
+ }
51
+ end
52
+ end
53
+ end
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::Show" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Proposal::Show.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Proposal::Template" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Proposal::Template.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Repository::ActivateAll" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Repository::ActivateAll.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Repository::Activate" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Repository::Activate.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Repository::DeactivateAll" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Repository::DeactivateAll.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Repository::Deactivate" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Repository::Deactivate.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Repository::List" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Repository::List.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Role::List" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Role::List.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Role::Show" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Role::Show.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::Server::Api" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::Server::Api.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::VirtualIP::Allocate" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::VirtualIP::Allocate.new(
23
23
  attrs
@@ -17,7 +17,7 @@
17
17
  require_relative "../../../../spec_helper"
18
18
 
19
19
  describe "Crowbar::Client::Request::VirtualIP::Deallocate" do
20
- it_behaves_like "a request class" do
20
+ it_behaves_like "a request class", true do
21
21
  subject do
22
22
  ::Crowbar::Client::Request::VirtualIP::Deallocate.new(
23
23
  attrs
Binary file
data/spec/spec_helper.rb CHANGED
@@ -52,4 +52,6 @@ end
52
52
  RSpec.configure do |config|
53
53
  config.mock_with :rspec
54
54
  config.order = "random"
55
+
56
+ config.include HelperMethods
55
57
  end
@@ -14,16 +14,15 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- module Crowbar
18
- module Client
19
- module Request
20
- module Reset
21
- autoload :Nodes,
22
- File.expand_path("../reset/nodes", __FILE__)
23
-
24
- autoload :Proposal,
25
- File.expand_path("../reset/proposal", __FILE__)
26
- end
27
- end
17
+ module HelperMethods
18
+ def fixture_path(file)
19
+ Pathname.new(
20
+ File.expand_path(
21
+ "../../fixtures",
22
+ __FILE__
23
+ )
24
+ ).join(
25
+ file
26
+ )
28
27
  end
29
28
  end
@@ -14,7 +14,7 @@
14
14
  # limitations under the License.
15
15
  #
16
16
 
17
- shared_examples "a request class" do
17
+ shared_examples "a request class" do |with_body|
18
18
  before(:each) do
19
19
  Crowbar::Client::Config.configure(
20
20
  Crowbar::Client::Config.defaults.merge(
@@ -25,35 +25,54 @@ shared_examples "a request class" do
25
25
 
26
26
  it "provides a method value" do
27
27
  expect(subject.method).to(
28
- eql(method)
28
+ eq(method)
29
29
  )
30
30
  end
31
31
 
32
32
  it "provides a specific url" do
33
33
  expect(subject.url).to(
34
- eql(url)
34
+ eq(url)
35
35
  )
36
36
  end
37
37
 
38
38
  it "provides a valid payload" do
39
39
  expect(subject.content).to(
40
- eql(params)
40
+ eq(params)
41
41
  )
42
42
  end
43
43
 
44
44
  it "submits payload to an API" do
45
- expect(::Crowbar::Client::Request::Party).to(
46
- receive(method).with(
47
- "/#{url}",
45
+ content = if with_body
46
+ {
48
47
  body: params.to_json,
49
48
  headers: headers
50
- ).and_return(
51
- double(
52
- code: 200
53
- )
54
- )
49
+ }
50
+ else
51
+ {
52
+ headers: headers
53
+ }
54
+ end
55
+
56
+ stub_request(
57
+ method,
58
+ "http://crowbar:80/#{url}"
59
+ ).to_return(
60
+ status: 200,
61
+ body: "",
62
+ headers: {}
55
63
  )
56
64
 
57
65
  subject.process
66
+
67
+ expect(
68
+ a_request(
69
+ method,
70
+ "http://crowbar:80/#{url}"
71
+ ).with(
72
+ content
73
+ )
74
+ ).to(
75
+ have_been_made.once
76
+ )
58
77
  end
59
78
  end