superdupe 0.4.0 → 0.5.0

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.
@@ -1,73 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe HashPruner do
4
- describe "#prune" do
5
- it "should nil out any repeated hashes" do
6
- clarke = {:name => "Arthur C. Clarke"}
7
- heinlein = {:name => "Robert Heinlein"}
8
- sci_fi = {:name => "Science Fiction", :authors => [clarke, heinlein]}
9
- clarke[:genre] = sci_fi
10
- odyssey = {:name => "2001", :genre => sci_fi, :author => clarke}
11
- hoag = {:name => "the unpleasant profession", :genre => sci_fi, :author => heinlein}
12
- clarke[:books] = [odyssey]
13
- heinlein[:books] = [hoag]
14
-
15
- HashPruner.prune(clarke).should ==
16
- {
17
- :name=>"Arthur C. Clarke",
18
- :genre => {
19
- :name => "Science Fiction",
20
- :authors => [
21
- {
22
- :name=>"Arthur C. Clarke"
23
- },
24
- {
25
- :name=>"Robert Heinlein",
26
- :books=> [
27
- {
28
- :name => "the unpleasant profession",
29
- :genre => {
30
- :name => "Science Fiction"
31
- },
32
- :author => {
33
- :name => "Robert Heinlein"
34
- }
35
- }
36
- ]
37
- }
38
- ]
39
- },
40
- :books=> [
41
- {
42
- :name => "2001",
43
- :genre => {
44
- :name => "Science Fiction",
45
- :authors => [
46
- {
47
- :name => "Arthur C. Clarke"
48
- },
49
- {
50
- :name=>"Robert Heinlein",
51
- :books=> [
52
- {
53
- :name => "the unpleasant profession",
54
- :genre => {
55
- :name => "Science Fiction"
56
- },
57
- :author => {
58
- :name => "Robert Heinlein"
59
- }
60
- }
61
- ]
62
- }
63
- ]
64
- },
65
- :author => {
66
- :name => "Arthur C. Clarke"
67
- }
68
- }
69
- ]
70
- }
71
- end
72
- end
73
- end
@@ -1,78 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Dupe::Network::Log do
4
- before do
5
- Dupe.reset
6
- end
7
-
8
- describe "##new" do
9
- it "should initialize the request entries to an empty array" do
10
- log = Dupe::Network::Log.new
11
- log.requests.should == []
12
- end
13
- end
14
-
15
- describe "#add_request" do
16
- before do
17
- @log = Dupe::Network::Log.new
18
- end
19
-
20
- it "should require a valid HTTP verb" do
21
- proc {
22
- @log.add_request :invalid_http_verb, '/some_url'
23
- }.should raise_error(Dupe::Network::UnknownRestVerbError)
24
- proc {
25
- Dupe::Network::VERBS.each do |verb|
26
- @log.add_request verb, '/some_url'
27
- end
28
- }.should_not raise_error
29
- end
30
-
31
- it "should require a url" do
32
- proc {
33
- @log.add_request :get
34
- }.should raise_error(ArgumentError)
35
- proc {
36
- @log.add_request :get, '/a_url'
37
- }.should_not raise_error
38
- end
39
-
40
- it "should add a Dupe::Network::Log::MockedRequest to requests" do
41
- @log.requests.should be_empty
42
- path = '/translate?q=hola&from=spanish&to=english'
43
- response_body = 'hello'
44
- @log.add_request :get, path, response_body
45
- @log.requests.should_not be_empty
46
- @log.requests.length.should == 1
47
- logged_request = @log.requests.first
48
- logged_request.should be_kind_of(Dupe::Network::Log::Request)
49
- logged_request.verb.should == :get
50
- logged_request.path.should == path
51
- logged_request.response_body.should == response_body
52
- end
53
- end
54
-
55
- describe "#pretty_print" do
56
- before do
57
- @log = Dupe::Network::Log.new
58
- @log.add_request :get, '/knock-knock', "who's there?"
59
- end
60
- it "should return a formatted list of mocked requests" do
61
- @log.pretty_print.should ==
62
- "Logged Requests:\n" +
63
- " Request: GET /knock-knock\n" +
64
- " Response:\n" +
65
- " who's there?\n\n"
66
- end
67
- end
68
-
69
- describe "#reset" do
70
- it "should clear out all logged requests" do
71
- @log = Dupe::Network::Log.new
72
- @log.add_request :get, '/knock-knock', "who's there?"
73
- @log.requests.should_not be_empty
74
- @log.reset
75
- @log.requests.should be_empty
76
- end
77
- end
78
- end
@@ -1,22 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Dupe::Network::Log::Request do
4
- describe "##new" do
5
- it "should set the verb, url, and response_body" do
6
- r = Dupe::Network::Log::Request.new :get, "/knock-knock", "who's there?"
7
- r.verb.should == :get
8
- r.path.should == "/knock-knock"
9
- r.response_body.should == "who's there?"
10
- end
11
- end
12
-
13
- describe "#pretty_print" do
14
- it "should show the request type, request path, and request response" do
15
- r = Dupe::Network::Log::Request.new :get, "/knock-knock", "who's there?"
16
- r.pretty_print.should ==
17
- "Request: GET /knock-knock\n" +
18
- "Response:\n" +
19
- " who's there?"
20
- end
21
- end
22
- end
@@ -1,58 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe "Mock Definition Methods" do
4
- before do
5
- Dupe.reset
6
- end
7
-
8
- describe "Get" do
9
- it "should require a url pattern that is a regex" do
10
- proc { Get() }.should raise_error(ArgumentError)
11
- proc { Get 'not a regexp' }.should raise_error(ArgumentError)
12
- proc { Get %r{/some_url} }.should_not raise_error
13
- end
14
-
15
- it "should create and return a Dupe::Network::Mock of type :get" do
16
- Dupe.network.mocks[:get].should be_empty
17
- @book = Dupe.create :book, :label => 'rooby'
18
- Dupe.network.mocks[:get].should_not be_empty
19
- Dupe.network.mocks[:get].length.should == 2
20
-
21
- mock = Get %r{/books/([^&]+)\.xml} do |label|
22
- Dupe.find(:book) {|b| b.label == label}
23
- end
24
-
25
- Dupe.network.mocks[:get].length.should == 3
26
- Dupe.network.mocks[:get].last.should == mock
27
- Dupe.network.mocks[:get].last.url_pattern.should == %r{/books/([^&]+)\.xml}
28
- book = Dupe.find(:book)
29
- Dupe.network.request(:get, '/books/rooby.xml').should == book.to_xml_safe(:root => 'book')
30
- end
31
- end
32
-
33
- describe "Post" do
34
- it "should require a url pattern that is a regex" do
35
- proc { Post() }.should raise_error(ArgumentError)
36
- proc { Post 'not a regexp' }.should raise_error(ArgumentError)
37
- proc { Post %r{/some_url} }.should_not raise_error
38
- end
39
-
40
- it "should create and return a Dupe::Network::Mock of type :post" do
41
- @book = Dupe.create :book, :label => 'rooby'
42
- Dupe.network.mocks[:post].should_not be_empty
43
- Dupe.network.mocks[:post].length.should == 1
44
-
45
- mock = Post %r{/books\.xml} do |post_data|
46
- Dupe.create(:book, post_data)
47
- end
48
-
49
- Dupe.network.mocks[:post].length.should == 2
50
- Dupe.network.mocks[:post].first.should == mock
51
- Dupe.network.mocks[:post].first.url_pattern.should == %r{/books\.xml}
52
- book_post = Dupe.create(:book, {:title => "Rooby", :label => "rooby"})
53
- book_post.delete(:id)
54
- book_response = Dupe.create(:book, {:title => "Rooby", :label => "rooby"})
55
- Dupe.network.request(:post, '/books.xml', book_post).should == [Dupe.find(:book) {|b| b.id == 4}.to_xml_safe(:root => 'book'), "/books/4.xml"]
56
- end
57
- end
58
- end
@@ -1,194 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Dupe::Network::Mock do
4
- before do
5
- Dupe.reset
6
- end
7
-
8
- describe "new" do
9
- it "should require the url be a kind of regular expression" do
10
- proc { Dupe::Network::Mock.new '', proc {} }.should raise_error(
11
- ArgumentError,
12
- "The URL pattern parameter must be a type of regular expression."
13
- )
14
- end
15
-
16
- it "should set the, @url, and @response parameters accordingly" do
17
- url_pattern = /\//
18
- response = proc {}
19
- mock = Dupe::Network::Mock.new url_pattern, response
20
- mock.url_pattern.should == url_pattern
21
- mock.response.should == response
22
- end
23
- end
24
-
25
- describe "match?" do
26
- it "should determine if a given string matches the mock's url pattern" do
27
- url = %r{/blogs/(\d+).xml}
28
- response = proc {}
29
- mock = Dupe::Network::Mock.new url, response
30
- mock.match?('/blogs/1.xml').should == true
31
- mock.match?('/bogs/1.xml').should == false
32
- end
33
- end
34
- end
35
-
36
- describe Dupe::Network::GetMock do
37
- before do
38
- Dupe.reset
39
- end
40
-
41
- describe "mocked_response" do
42
- describe "on a mock object whose response returns a Dupe.find with actual results" do
43
- it "should convert the response result to xml" do
44
- url_pattern = %r{/books/(\d+)\.xml}
45
- response = proc {|id| Dupe.find(:book) {|b| b.id == id.to_i}}
46
- book = Dupe.create :book
47
- mock = Dupe::Network::GetMock.new url_pattern, response
48
- mock.mocked_response('/books/1.xml').should == book.to_xml(:root => 'book')
49
-
50
- proc { mock.mocked_response('/books/2.xml') }.should raise_error(Dupe::Network::GetMock::ResourceNotFoundError)
51
-
52
- Dupe.define :author
53
- mock = Dupe::Network::GetMock.new %r{/authors\.xml$}, proc {Dupe.find :authors}
54
- mock.mocked_response('/authors.xml').should == [].to_xml(:root => 'results')
55
- end
56
-
57
- it "should add a request to the Dupe::Network#log" do
58
- url_pattern = %r{/books/([a-zA-Z0-9-]+)\.xml}
59
- response = proc {|label| Dupe.find(:book) {|b| b.label == label}}
60
- book = Dupe.create :book, :label => 'rooby'
61
- mock = Dupe::Network::GetMock.new url_pattern, response
62
- Dupe.network.log.requests.length.should == 0
63
- mock.mocked_response('/books/rooby.xml')
64
- Dupe.network.log.requests.length.should == 1
65
- end
66
- end
67
-
68
- describe "on a mock object whose response returns nil" do
69
- it "should raise an error" do
70
- url_pattern = %r{/authors/(\d+)\.xml}
71
- response = proc { |id| Dupe.find(:author) {|a| a.id == id.to_i}}
72
- Dupe.define :author
73
- mock = Dupe::Network::GetMock.new url_pattern, response
74
- proc {mock.mocked_response('/authors/1.xml')}.should raise_error(Dupe::Network::GetMock::ResourceNotFoundError)
75
- end
76
- end
77
-
78
- describe "on a mock object whose response returns an empty array" do
79
- it "should convert the empty array to an xml array record set with root 'results'" do
80
- Dupe.define :author
81
- mock = Dupe::Network::GetMock.new %r{/authors\.xml$}, proc {Dupe.find :authors}
82
- mock.mocked_response('/authors.xml').should == [].to_xml(:root => 'results')
83
- end
84
-
85
- it "should add a request to the Dupe::Network#log" do
86
- Dupe.define :author
87
- mock = Dupe::Network::GetMock.new %r{/authors\.xml$}, proc {Dupe.find :authors}
88
- Dupe.network.log.requests.length.should == 0
89
- mock.mocked_response('/authors.xml')
90
- Dupe.network.log.requests.length.should == 1
91
- end
92
- end
93
-
94
- describe "on a mock object whose response returns an array of duped records" do
95
- it "should convert the array to xml" do
96
- Dupe.create :author
97
- mock = Dupe::Network::GetMock.new %r{/authors\.xml$}, proc {Dupe.find :authors}
98
- mock.mocked_response('/authors.xml').should == Dupe.find(:authors).to_xml(:root => 'authors')
99
- end
100
-
101
- it "should add a request to the Dupe::Network#log" do
102
- Dupe.create :author
103
- mock = Dupe::Network::GetMock.new %r{/authors\.xml$}, proc {Dupe.find :authors}
104
- Dupe.network.log.requests.length.should == 0
105
- mock.mocked_response('/authors.xml')
106
- Dupe.network.log.requests.length.should == 1
107
- end
108
- end
109
- end
110
- end
111
-
112
- describe Dupe::Network::PostMock do
113
- before do
114
- Dupe.reset
115
- end
116
-
117
- describe "mocked_response" do
118
- describe "on a mock object whose response returns a location of a new record" do
119
- it "should convert the new post to xml" do
120
- Dupe.define :author
121
- mock = Dupe::Network::PostMock.new %r{/authors\.xml$}, proc {|post_data| Dupe.create(:author, post_data)}
122
- resp, url = mock.mocked_response('/authors.xml', {:name => "Rachel"})
123
- resp.should == Dupe.find(:authors).first.to_xml_safe(:root => 'author')
124
- url.should == "/authors/1.xml"
125
- end
126
-
127
- it "should add a request to the Dupe::Network#log" do
128
- Dupe.define :author
129
- mock = Dupe::Network::PostMock.new %r{/authors\.xml$}, proc {|post_data| Dupe.create(:author, post_data)}
130
- Dupe.network.log.requests.length.should == 0
131
- mock.mocked_response('/authors.xml', {:name => "Rachel"})
132
- Dupe.network.log.requests.length.should == 1
133
- end
134
- end
135
- end
136
- end
137
-
138
- describe Dupe::Network::PutMock do
139
- before do
140
- Dupe.reset
141
- end
142
-
143
- describe "mocked_response" do
144
- describe "on a mock object whose response returns a location of a new record" do
145
- before do
146
- Dupe.define :author
147
- @a = Dupe.create :author, :name => "Matt"
148
- @mock = Dupe::Network::PutMock.new %r{/authors/(\d+)\.xml$}, proc {|id, put_data| Dupe.find(:author) {|a| a.id == id.to_i}.merge!(put_data)}
149
- end
150
-
151
- it "should convert the put to xml" do
152
- resp, url = @mock.mocked_response('/authors/1.xml', {:name => "Rachel"})
153
- resp.should == nil
154
- @a.name.should == "Rachel"
155
- url.should == "/authors/1.xml"
156
- end
157
-
158
- it "should add a request to the Dupe::Network#log" do
159
- Dupe.network.log.requests.length.should == 0
160
- @mock.mocked_response('/authors/1.xml', {:name => "Rachel"})
161
- Dupe.network.log.requests.length.should == 1
162
- end
163
- end
164
- end
165
- end
166
-
167
- describe Dupe::Network::DeleteMock do
168
- before do
169
- Dupe.reset
170
- end
171
-
172
- describe "mocked_response" do
173
- describe "on a mock object whose response returns a location of a new record" do
174
- before do
175
- Dupe.define :author
176
- @a = Dupe.create :author, :name => "Matt"
177
- @mock = Dupe::Network::DeleteMock.new %r{/authors/(\d+)\.xml$}, proc {|id| Dupe.delete(:author) {|a| a.id == id.to_i}}
178
- end
179
-
180
- it "should convert the put to xml" do
181
- Dupe.find(:authors).length.should == 1
182
- resp = @mock.mocked_response('/authors/1.xml')
183
- resp.should == nil
184
- Dupe.find(:authors).length.should == 0
185
- end
186
-
187
- it "should add a request to the Dupe::Network#log" do
188
- Dupe.network.log.requests.length.should == 0
189
- @mock.mocked_response('/authors/1.xml')
190
- Dupe.network.log.requests.length.should == 1
191
- end
192
- end
193
- end
194
- end
@@ -1,95 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Dupe::Model do
4
- describe "new" do
5
- it "should require a model name" do
6
- proc { Dupe::Model.new }.should raise_error(ArgumentError)
7
- end
8
-
9
- it "should set the model name to what was passed in during initialization" do
10
- m = Dupe::Model.new :book
11
- m.name.should == :book
12
- end
13
-
14
- it "should initialize an empty schema" do
15
- m = Dupe::Model.new :book
16
- m.schema.should be_kind_of(Dupe::Model::Schema)
17
- end
18
-
19
- it "should setup an id_sequence initialized to 0" do
20
- m = Dupe::Model.new :book
21
- m.id_sequence.current_value.should == 1
22
- end
23
- end
24
-
25
- describe "define" do
26
- describe "when passed a proc" do
27
- before do
28
- @model = Dupe::Model.new :book
29
- @definition = proc { |attrs|
30
- attrs.author('Anonymous') do |dont_care|
31
- 'Flying Spaghetti Monster'
32
- end
33
- }
34
- end
35
-
36
- it "should pass that proc off to it's schema" do
37
- @model.schema.should_receive(:method_missing).once
38
- @model.define @definition
39
- end
40
-
41
- it "should result in a schema with the desired attribute templates" do
42
- @model.define @definition
43
- @model.schema.attribute_templates[:author].name.should == :author
44
- @model.schema.attribute_templates[:author].default.should == 'Anonymous'
45
- @model.schema.attribute_templates[:author].transformer.call(
46
- 'dont care'
47
- ).should == 'Flying Spaghetti Monster'
48
- end
49
- end
50
- end
51
-
52
- describe "create" do
53
- before do
54
- Dupe.define :book do |attrs|
55
- attrs.title 'Untitled'
56
- attrs.author 'Anon' do |author|
57
- "Author: #{author}"
58
- end
59
- attrs.after_create do |book|
60
- book.label = book.title.downcase.gsub(/\ +/, '-')
61
- end
62
- end
63
-
64
- @book_model = Dupe.models[:book]
65
- end
66
-
67
- it "shouldn't require any parameters" do
68
- proc {
69
- @book_model.create
70
- }.should_not raise_error
71
- end
72
-
73
- it "should return a Dupe::Database::Record instance with the desired parameters" do
74
- book = @book_model.create
75
- book.should be_kind_of(Dupe::Database::Record)
76
- book.__model__.name.should == :book
77
- book.id.should == 1
78
- book.title.should == 'Untitled'
79
- book.author.should == 'Anon'
80
-
81
- # the callback shouldn't get run until the database record is inserted into the duped 'database'
82
- book.label.should == nil
83
-
84
- book = @book_model.create :title => 'Rooby On Rails', :author => 'Matt Parker'
85
- book.__model__.name.should == :book
86
- book.id.should == 2
87
- book.title.should == 'Rooby On Rails'
88
-
89
- # the callback shouldn't get run until the database record is inserted into the duped 'database'
90
- book.label.should == nil
91
-
92
- book.author.should == 'Author: Matt Parker'
93
- end
94
- end
95
- end
@@ -1,130 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Dupe::Network do
4
-
5
- describe "new" do
6
- before do
7
- @network = Dupe::Network.new
8
- end
9
-
10
- it "should initialize @mocks to a hash of empty arrays keyed with valid REST verbs" do
11
- Dupe::Network::VERBS.each do |verb|
12
- @network.mocks[verb].should == []
13
- end
14
- end
15
-
16
- it "should initialize @log to a new Dupe::Network::Log" do
17
- @network.log.should be_kind_of(Dupe::Network::Log)
18
- end
19
- end
20
-
21
- describe "request" do
22
- before do
23
- @network = Dupe::Network.new
24
- end
25
-
26
- it "should require a valid REST verb" do
27
- proc { @network.request }.should raise_error
28
- proc { @network.request :invalid_rest_verb, '/some_url' }.should raise_error(Dupe::Network::UnknownRestVerbError)
29
- proc { @network.request :get, '/some_url' }.should_not raise_error(Dupe::Network::UnknownRestVerbError)
30
- proc { @network.request :post, '/some_url', 'some body' }.should_not raise_error(Dupe::Network::UnknownRestVerbError)
31
- proc { @network.request :put, '/some_url' }.should_not raise_error(Dupe::Network::UnknownRestVerbError)
32
- proc { @network.request :delete, '/some_url' }.should_not raise_error(Dupe::Network::UnknownRestVerbError)
33
- end
34
-
35
- it "should require a URL" do
36
- proc { @network.request :get }.should raise_error(ArgumentError)
37
- proc { @network.request :get, 'some_url'}.should_not raise_error(ArgumentError)
38
- proc { @network.request :post, 'some_url', 'some body'}.should_not raise_error(ArgumentError)
39
- proc { @network.request :put, 'some_url'}.should_not raise_error(ArgumentError)
40
- proc { @network.request :delete, 'some_url'}.should_not raise_error(ArgumentError)
41
- end
42
-
43
- it "should raise an exception if the network has no mocks that match the url" do
44
- proc { @network.request(:get, '/some_url')}.should raise_error(Dupe::Network::RequestNotFoundError)
45
- proc { @network.request(:post, '/some_url', 'some body')}.should raise_error(Dupe::Network::RequestNotFoundError)
46
- proc { @network.request(:put, '/some_url')}.should raise_error(Dupe::Network::RequestNotFoundError)
47
- proc { @network.request(:delete, '/some_url')}.should raise_error(Dupe::Network::RequestNotFoundError)
48
- end
49
-
50
- it "should return the appropriate mock response if a mock matches the url" do
51
- @network.define_service_mock :get, %r{/greeting$}, proc { "hello" }
52
- @network.request(:get, '/greeting').should == 'hello'
53
-
54
- @network.define_service_mock :post, %r{/greeting$}, proc { |post_data| Dupe.create(:greeting, post_data) }
55
- resp, url = @network.request(:post, '/greeting', {} )
56
- resp.should == Dupe.find(:greeting).to_xml_safe(:root => 'greeting')
57
- url.should == "/greetings/1.xml"
58
- end
59
- end
60
-
61
- describe "define_service_mock" do
62
- before do
63
- @network = Dupe::Network.new
64
- end
65
-
66
- it "should require a valid REST verb" do
67
- proc { @network.define_service_mock }.should raise_error
68
- proc { @network.define_service_mock :invalid_rest_verb, // }.should raise_error(Dupe::Network::UnknownRestVerbError)
69
- proc { @network.define_service_mock :get, // }.should_not raise_error(Dupe::Network::UnknownRestVerbError)
70
- proc { @network.define_service_mock :post, // }.should_not raise_error(Dupe::Network::UnknownRestVerbError)
71
- proc { @network.define_service_mock :put, // }.should_not raise_error(Dupe::Network::UnknownRestVerbError)
72
- end
73
-
74
- it "should require a valid Regexp url pattern" do
75
- proc { @network.define_service_mock :get, 'not a regular expression' }.should raise_error(ArgumentError)
76
- proc { @network.define_service_mock :post, 'not a regular expression' }.should raise_error(ArgumentError)
77
- proc { @network.define_service_mock :get, // }.should_not raise_error
78
- proc { @network.define_service_mock :post, // }.should_not raise_error
79
- end
80
-
81
- it "should create and return a new get service mock when given valid parameters" do
82
- verb = :get
83
- pattern = //
84
- response = proc { 'test' }
85
- @network.mocks[:get].should be_empty
86
- mock = @network.define_service_mock verb, pattern, response
87
- @network.mocks[:get].should_not be_empty
88
- @network.mocks[:get].first.class.should == Dupe::Network::GetMock
89
- @network.mocks[:get].length.should == 1
90
- @network.mocks[:get].first.should == mock
91
- end
92
-
93
- it "should create and return a new post service mock when given valid parameters" do
94
- verb = :post
95
- pattern = //
96
- response = proc { 'test' }
97
- @network.mocks[:post].should be_empty
98
- mock = @network.define_service_mock verb, pattern, response
99
- @network.mocks[:post].should_not be_empty
100
- @network.mocks[:post].first.class.should == Dupe::Network::PostMock
101
- @network.mocks[:post].length.should == 1
102
- @network.mocks[:post].first.should == mock
103
- end
104
-
105
- it "should create and return a new put service mock when given valid parameters" do
106
- verb = :put
107
- pattern = //
108
- response = proc { 'test' }
109
- @network.mocks[:put].should be_empty
110
- mock = @network.define_service_mock verb, pattern, response
111
- @network.mocks[:put].should_not be_empty
112
- @network.mocks[:put].first.class.should == Dupe::Network::PutMock
113
- @network.mocks[:put].length.should == 1
114
- @network.mocks[:put].first.should == mock
115
- end
116
-
117
- it "should create and return a new delete service mock when given valid parameters" do
118
- verb = :delete
119
- pattern = //
120
- response = proc { 'test' }
121
- @network.mocks[:delete].should be_empty
122
- mock = @network.define_service_mock verb, pattern, response
123
- @network.mocks[:delete].should_not be_empty
124
- @network.mocks[:delete].first.class.should == Dupe::Network::DeleteMock
125
- @network.mocks[:delete].length.should == 1
126
- @network.mocks[:delete].first.should == mock
127
- end
128
- end
129
-
130
- end