webmock 0.7.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.
Files changed (59) hide show
  1. data/.gitignore +21 -0
  2. data/LICENSE +281 -0
  3. data/README.md +170 -0
  4. data/Rakefile +54 -0
  5. data/VERSION +1 -0
  6. data/lib/webmock.rb +18 -0
  7. data/lib/webmock/adapters/rspec.rb +23 -0
  8. data/lib/webmock/adapters/rspec/matchers.rb +19 -0
  9. data/lib/webmock/adapters/rspec/request_profile_matcher.rb +37 -0
  10. data/lib/webmock/adapters/rspec/webmock_matcher.rb +45 -0
  11. data/lib/webmock/adapters/test_unit.rb +25 -0
  12. data/lib/webmock/config.rb +7 -0
  13. data/lib/webmock/errors.rb +5 -0
  14. data/lib/webmock/http_lib_adapters/net_http.rb +129 -0
  15. data/lib/webmock/request_execution_verifier.rb +22 -0
  16. data/lib/webmock/request_profile.rb +67 -0
  17. data/lib/webmock/request_registry.rb +47 -0
  18. data/lib/webmock/request_stub.rb +26 -0
  19. data/lib/webmock/response.rb +31 -0
  20. data/lib/webmock/url.rb +46 -0
  21. data/lib/webmock/util/hash_counter.rb +12 -0
  22. data/lib/webmock/utility.rb +65 -0
  23. data/lib/webmock/webmock.rb +58 -0
  24. data/spec/net_http_spec.rb +33 -0
  25. data/spec/other_net_http_libs_spec.rb +37 -0
  26. data/spec/request_execution_verifier_spec.rb +51 -0
  27. data/spec/request_profile_spec.rb +166 -0
  28. data/spec/request_registry_spec.rb +114 -0
  29. data/spec/request_stub_spec.rb +54 -0
  30. data/spec/response_spec.rb +59 -0
  31. data/spec/spec.opts +1 -0
  32. data/spec/spec_helper.rb +58 -0
  33. data/spec/util/hash_counter_spec.rb +24 -0
  34. data/spec/utility_spec.rb +70 -0
  35. data/spec/vendor/right_http_connection-1.2.4/History.txt +59 -0
  36. data/spec/vendor/right_http_connection-1.2.4/Manifest.txt +7 -0
  37. data/spec/vendor/right_http_connection-1.2.4/README.txt +54 -0
  38. data/spec/vendor/right_http_connection-1.2.4/Rakefile +103 -0
  39. data/spec/vendor/right_http_connection-1.2.4/lib/net_fix.rb +160 -0
  40. data/spec/vendor/right_http_connection-1.2.4/lib/right_http_connection.rb +435 -0
  41. data/spec/vendor/right_http_connection-1.2.4/setup.rb +1585 -0
  42. data/spec/vendor/samuel-0.2.1/.document +5 -0
  43. data/spec/vendor/samuel-0.2.1/.gitignore +5 -0
  44. data/spec/vendor/samuel-0.2.1/LICENSE +20 -0
  45. data/spec/vendor/samuel-0.2.1/README.rdoc +70 -0
  46. data/spec/vendor/samuel-0.2.1/Rakefile +62 -0
  47. data/spec/vendor/samuel-0.2.1/VERSION +1 -0
  48. data/spec/vendor/samuel-0.2.1/lib/samuel.rb +52 -0
  49. data/spec/vendor/samuel-0.2.1/lib/samuel/net_http.rb +10 -0
  50. data/spec/vendor/samuel-0.2.1/lib/samuel/request.rb +96 -0
  51. data/spec/vendor/samuel-0.2.1/samuel.gemspec +69 -0
  52. data/spec/vendor/samuel-0.2.1/test/request_test.rb +193 -0
  53. data/spec/vendor/samuel-0.2.1/test/samuel_test.rb +42 -0
  54. data/spec/vendor/samuel-0.2.1/test/test_helper.rb +66 -0
  55. data/spec/vendor/samuel-0.2.1/test/thread_test.rb +32 -0
  56. data/spec/webmock_spec.rb +492 -0
  57. data/test/test_helper.rb +9 -0
  58. data/test/test_webmock.rb +56 -0
  59. metadata +144 -0
@@ -0,0 +1,9 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'test/unit'
4
+ require 'webmock'
5
+
6
+ def assert_fail(message, &block)
7
+ e = assert_raise(Test::Unit::AssertionFailedError, &block)
8
+ assert_equal(message, e.message)
9
+ end
@@ -0,0 +1,56 @@
1
+ require File.join(File.dirname(__FILE__), "test_helper")
2
+
3
+ require 'ostruct'
4
+
5
+ class TestWebMock < Test::Unit::TestCase
6
+
7
+ def http_request(method, url, options = {})
8
+ url = URI.parse(url)
9
+ response = nil
10
+ clazz = Net::HTTP.const_get("#{method.to_s.capitalize}")
11
+ req = clazz.new(url.path, options[:headers])
12
+ http = Net::HTTP.new(url.host, url.port)
13
+ http.use_ssl = true if url.scheme == "https"
14
+ response = http.start {|http|
15
+ http.request(req, options[:body])
16
+ }
17
+ OpenStruct.new({
18
+ :body => response.body,
19
+ :headers => response,
20
+ :status => response.code })
21
+ end
22
+
23
+
24
+ def setup
25
+ super
26
+ stub_http_request(:any, "http://www.google.com")
27
+ stub_http_request(:any, "https://www.google.com")
28
+ end
29
+
30
+ def test_verification_that_expected_request_occured
31
+ http_request(:get, "http://www.google.com/")
32
+ assert_requested(:get, "http://www.google.com", :times => 1)
33
+ assert_requested(:get, "http://www.google.com")
34
+ end
35
+
36
+ def test_verification_that_expected_request_didnt_occur
37
+ assert_fail("The request GET http://www.google.com/ was expected to execute 1 time but it executed 0 times") do
38
+ assert_requested(:get, "http://www.google.com")
39
+ end
40
+ end
41
+
42
+ def test_verification_that_expected_request_occured_with_body_and_headers
43
+ http_request(:get, "http://www.google.com/",
44
+ :body => "abc", :headers => {'A' => 'a'})
45
+ assert_requested(:get, "http://www.google.com",
46
+ :body => "abc", :headers => {'A' => 'a'})
47
+ end
48
+
49
+ def test_verification_that_non_expected_request_didnt_occur
50
+ assert_fail("The request GET http://www.google.com/ was expected to execute 0 times but it executed 1 time") do
51
+ http_request(:get, "http://www.google.com/")
52
+ assert_not_requested(:get, "http://www.google.com")
53
+ end
54
+ end
55
+
56
+ end
metadata ADDED
@@ -0,0 +1,144 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: webmock
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.0
5
+ platform: ruby
6
+ authors:
7
+ - Bartosz Blimke
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-11-20 00:00:00 +00:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.9
24
+ version:
25
+ description: WebMock allows stubbing HTTP requests and setting expectations on HTTP requests.
26
+ email: bartosz.blimke@gmail.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - LICENSE
33
+ - README.md
34
+ files:
35
+ - .gitignore
36
+ - LICENSE
37
+ - README.md
38
+ - Rakefile
39
+ - VERSION
40
+ - lib/webmock.rb
41
+ - lib/webmock/adapters/rspec.rb
42
+ - lib/webmock/adapters/rspec/matchers.rb
43
+ - lib/webmock/adapters/rspec/request_profile_matcher.rb
44
+ - lib/webmock/adapters/rspec/webmock_matcher.rb
45
+ - lib/webmock/adapters/test_unit.rb
46
+ - lib/webmock/config.rb
47
+ - lib/webmock/errors.rb
48
+ - lib/webmock/http_lib_adapters/net_http.rb
49
+ - lib/webmock/request_execution_verifier.rb
50
+ - lib/webmock/request_profile.rb
51
+ - lib/webmock/request_registry.rb
52
+ - lib/webmock/request_stub.rb
53
+ - lib/webmock/response.rb
54
+ - lib/webmock/url.rb
55
+ - lib/webmock/util/hash_counter.rb
56
+ - lib/webmock/utility.rb
57
+ - lib/webmock/webmock.rb
58
+ - spec/net_http_spec.rb
59
+ - spec/other_net_http_libs_spec.rb
60
+ - spec/request_execution_verifier_spec.rb
61
+ - spec/request_profile_spec.rb
62
+ - spec/request_registry_spec.rb
63
+ - spec/request_stub_spec.rb
64
+ - spec/response_spec.rb
65
+ - spec/spec.opts
66
+ - spec/spec_helper.rb
67
+ - spec/util/hash_counter_spec.rb
68
+ - spec/utility_spec.rb
69
+ - spec/vendor/right_http_connection-1.2.4/History.txt
70
+ - spec/vendor/right_http_connection-1.2.4/Manifest.txt
71
+ - spec/vendor/right_http_connection-1.2.4/README.txt
72
+ - spec/vendor/right_http_connection-1.2.4/Rakefile
73
+ - spec/vendor/right_http_connection-1.2.4/lib/net_fix.rb
74
+ - spec/vendor/right_http_connection-1.2.4/lib/right_http_connection.rb
75
+ - spec/vendor/right_http_connection-1.2.4/setup.rb
76
+ - spec/vendor/samuel-0.2.1/.document
77
+ - spec/vendor/samuel-0.2.1/.gitignore
78
+ - spec/vendor/samuel-0.2.1/LICENSE
79
+ - spec/vendor/samuel-0.2.1/README.rdoc
80
+ - spec/vendor/samuel-0.2.1/Rakefile
81
+ - spec/vendor/samuel-0.2.1/VERSION
82
+ - spec/vendor/samuel-0.2.1/lib/samuel.rb
83
+ - spec/vendor/samuel-0.2.1/lib/samuel/net_http.rb
84
+ - spec/vendor/samuel-0.2.1/lib/samuel/request.rb
85
+ - spec/vendor/samuel-0.2.1/samuel.gemspec
86
+ - spec/vendor/samuel-0.2.1/test/request_test.rb
87
+ - spec/vendor/samuel-0.2.1/test/samuel_test.rb
88
+ - spec/vendor/samuel-0.2.1/test/test_helper.rb
89
+ - spec/vendor/samuel-0.2.1/test/thread_test.rb
90
+ - spec/webmock_spec.rb
91
+ - test/test_helper.rb
92
+ - test/test_webmock.rb
93
+ has_rdoc: true
94
+ homepage: http://github.com/bblimke/webmock
95
+ licenses: []
96
+
97
+ post_install_message:
98
+ rdoc_options:
99
+ - --charset=UTF-8
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: "0"
107
+ version:
108
+ required_rubygems_version: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: "0"
113
+ version:
114
+ requirements: []
115
+
116
+ rubyforge_project:
117
+ rubygems_version: 1.3.5
118
+ signing_key:
119
+ specification_version: 3
120
+ summary: Library for stubbing HTTP requests in Ruby.
121
+ test_files:
122
+ - spec/net_http_spec.rb
123
+ - spec/other_net_http_libs_spec.rb
124
+ - spec/request_execution_verifier_spec.rb
125
+ - spec/request_profile_spec.rb
126
+ - spec/request_registry_spec.rb
127
+ - spec/request_stub_spec.rb
128
+ - spec/response_spec.rb
129
+ - spec/spec_helper.rb
130
+ - spec/util/hash_counter_spec.rb
131
+ - spec/utility_spec.rb
132
+ - spec/vendor/right_http_connection-1.2.4/lib/net_fix.rb
133
+ - spec/vendor/right_http_connection-1.2.4/lib/right_http_connection.rb
134
+ - spec/vendor/right_http_connection-1.2.4/setup.rb
135
+ - spec/vendor/samuel-0.2.1/lib/samuel/net_http.rb
136
+ - spec/vendor/samuel-0.2.1/lib/samuel/request.rb
137
+ - spec/vendor/samuel-0.2.1/lib/samuel.rb
138
+ - spec/vendor/samuel-0.2.1/test/request_test.rb
139
+ - spec/vendor/samuel-0.2.1/test/samuel_test.rb
140
+ - spec/vendor/samuel-0.2.1/test/test_helper.rb
141
+ - spec/vendor/samuel-0.2.1/test/thread_test.rb
142
+ - spec/webmock_spec.rb
143
+ - test/test_helper.rb
144
+ - test/test_webmock.rb