summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2022-03-31 20:56:00 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2022-03-31 21:34:01 -0700
commitc604b38a8b2f32be793f6f0d7defa049361d241b (patch)
tree466fa8336f3670d2bd572a4b7661f206de13bd78 /spec
parent923e9e75e8e35c8a6dc7e85ad9c1db8d799169ce (diff)
downloadchef-c604b38a8b2f32be793f6f0d7defa049361d241b.tar.gz
custom-resource-ization
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'spec')
-rw-r--r--spec/unit/provider/rest_resource_spec.rb24
1 files changed, 9 insertions, 15 deletions
diff --git a/spec/unit/provider/rest_resource_spec.rb b/spec/unit/provider/rest_resource_spec.rb
index 56f5f9ce25..9bd3b4dc47 100644
--- a/spec/unit/provider/rest_resource_spec.rb
+++ b/spec/unit/provider/rest_resource_spec.rb
@@ -2,8 +2,10 @@ require "spec_helper"
require "train"
require "train-rest"
-class RestResourceByQuery < Chef::Resource::RestResource
- provides :rest_resource_by_query
+class RestResourceByQuery < Chef::Resource
+ rest_resource
+
+ provides :rest_resource_by_query, target_mode: true
property :address, String, required: true
property :prefix, Integer, required: true
@@ -18,20 +20,12 @@ class RestResourceByQuery < Chef::Resource::RestResource
})
end
-class RestProviderByQuery < Chef::Provider::RestResource
- provides :rest_resource_by_query
-end
-
class RestResourceByPath < RestResourceByQuery
- provides :rest_resource_by_path
+ provides :rest_resource_by_path, target_mode: true
rest_api_document "/api/v1/address/{address}"
end
-class RestProviderByQuery < Chef::Provider::RestResource
- provides :rest_resource_by_path
-end
-
describe "rest_resource using query-based addressing" do
let(:train) {
Train.create(
@@ -60,14 +54,14 @@ describe "rest_resource using query-based addressing" do
end
let(:provider) do
- Chef::Provider::RestResource.new(resource, run_context).tap do |provider|
+ resource.provider_for_action(:configure).tap do |provider|
provider.current_resource = resource # for some stubby tests that don't call LCR
allow(provider).to receive(:api_connection).and_return(train)
end
end
before(:each) do
- allow(Chef::Provider::RestResource).to receive(:new).and_return(provider)
+ allow(Chef::Provider).to receive(:new).and_return(provider)
end
it "should include :configure action" do
@@ -311,14 +305,14 @@ describe "rest_resource using path-based addressing" do
end
let(:provider) do
- RestProviderByQuery.new(resource, run_context).tap do |provider|
+ resource.provider_for_action(:configure).tap do |provider|
provider.current_resource = resource # for some stubby tests that don't call LCR
allow(provider).to receive(:api_connection).and_return(train)
end
end
before(:each) do
- allow(Chef::Provider::RestResource).to receive(:new).and_return(provider)
+ allow(Chef::Provider).to receive(:new).and_return(provider)
end
describe "#rest_url_document" do