httpspec_simple 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,6 +13,20 @@ module HttpspecSimple
13
13
  end
14
14
  end
15
15
 
16
+ RSpec::Matchers.define :be_http_redirect do
17
+ match do |actual|
18
+ actual.status == '301' || actual.status == '302'
19
+ end
20
+
21
+ failure_message_for_should do |actual|
22
+ "expected: 301 or 302\n got: #{actual.status}"
23
+ end
24
+
25
+ failure_message_for_should_not do |actual|
26
+ "#{actual.to_s} would not be http redirect"
27
+ end
28
+ end
29
+
16
30
  RSpec::Matchers.define :respond_within do |expected|
17
31
  match do |actual|
18
32
  (@response_time = actual.response_time) < expected
@@ -16,7 +16,7 @@ module HttpspecSimple
16
16
  open_timeout_error = if Net.const_defined?(:OpenTimeout) then Net::OpenTimeout else Timeout::Error end
17
17
  read_timeout_error = if Net.const_defined?(:ReadTimeout) then Net::ReadTimeout else Timeout::Error end
18
18
  begin
19
- req = Net::HTTP::Get.new(@url.path)
19
+ req = Net::HTTP::Get.new(@url.request_uri)
20
20
  if (headers = opt[:headers] || Request.configuration.headers)
21
21
  headers.each {|k, v| req[k] = v }
22
22
  end
@@ -1,3 +1,3 @@
1
1
  module HttpspecSimple
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -11,6 +11,29 @@ describe 'custom matchers' do
11
11
  end
12
12
  end
13
13
 
14
+ describe '#be_http_redirect' do
15
+ it "should check status code 301" do
16
+ _, response = server_start('/' => Proc.new {|req, res|
17
+ res.status = '301'
18
+ }) do
19
+ response = request('/', :immediately => true)
20
+ end
21
+ expect {
22
+ response.should be_http_redirect
23
+ }.not_to raise_error
24
+ end
25
+ it "should check status code 302" do
26
+ _, response = server_start('/' => Proc.new {|req, res|
27
+ res.status = '302'
28
+ }) do
29
+ response = request('/', :immediately => true)
30
+ end
31
+ expect {
32
+ response.should be_http_redirect
33
+ }.not_to raise_error
34
+ end
35
+ end
36
+
14
37
  describe '#respond_within(num).seconds' do
15
38
  it "should check response time" do
16
39
  requests, response = server_start('/' => Proc.new {|req, res| sleep 2 }) do
@@ -121,4 +121,14 @@ describe HttpspecSimple::Request do
121
121
  user_agent_in_req_header.should == "my-agent"
122
122
  end
123
123
  end
124
+
125
+ it "should send get parameters" do
126
+ query = nil
127
+ server_start( '/' => Proc.new {|req, res|
128
+ query = req.query
129
+ } ) do
130
+ HttpspecSimple::Request.new('http://localhost:10080/?a=b')
131
+ end
132
+ query.should == {"a" => "b"}
133
+ end
124
134
  end
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: httpspec_simple
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Koji NAKAMURA
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-07-25 00:00:00.000000000 Z
12
+ date: 2013-07-29 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: rspec
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ~>
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: bundler
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ~>
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :development
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ~>
39
44
  - !ruby/object:Gem::Version
@@ -41,15 +46,17 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rake
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  description: RSpec extension for HTTP request
@@ -77,26 +84,33 @@ files:
77
84
  homepage: https://github.com/kozy4324/httpspec_simple
78
85
  licenses:
79
86
  - MIT
80
- metadata: {}
81
87
  post_install_message:
82
88
  rdoc_options: []
83
89
  require_paths:
84
90
  - lib
85
91
  required_ruby_version: !ruby/object:Gem::Requirement
92
+ none: false
86
93
  requirements:
87
- - - '>='
94
+ - - ! '>='
88
95
  - !ruby/object:Gem::Version
89
96
  version: '0'
97
+ segments:
98
+ - 0
99
+ hash: -795099866452761345
90
100
  required_rubygems_version: !ruby/object:Gem::Requirement
101
+ none: false
91
102
  requirements:
92
- - - '>='
103
+ - - ! '>='
93
104
  - !ruby/object:Gem::Version
94
105
  version: '0'
106
+ segments:
107
+ - 0
108
+ hash: -795099866452761345
95
109
  requirements: []
96
110
  rubyforge_project:
97
- rubygems_version: 2.0.2
111
+ rubygems_version: 1.8.23
98
112
  signing_key:
99
- specification_version: 4
113
+ specification_version: 3
100
114
  summary: RSpec extension for HTTP request
101
115
  test_files:
102
116
  - spec/httpspec_simple/custom_matcher_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: db33f5f3e41b2c4f616e953846eae5e2f00b48f0
4
- data.tar.gz: 5426f6f894812dca68557c56bdf0afefe1eb8c96
5
- SHA512:
6
- metadata.gz: 9e3eb83571fedc704b066e8557dcb602241bd915a302d93f2a83c119a10873b5d67775bf7ecea8fabaa60a815806a85f47f7c903101d6bfa13d821bcb6361f6a
7
- data.tar.gz: 1dd470a183d6207a0f3190aa7e740db536d511cef82f96f6b7a9997a88ff3ce0edb23e49ceb1c2c449fd03f747355d6fe0aee2bd68f0771d14fdaca659d6d50e