webmock 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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