rack-redic 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 31b7b5e5ddf6c0f5af1dc51b50b983c568428064
4
- data.tar.gz: 944984d8fae344465740ff0094f6eef441d003f9
3
+ metadata.gz: 40dde5a06978fa9fe3e55cde330dd66e1f8a4013
4
+ data.tar.gz: 8064abfba809f69394e93f5a939ae8bf5c72db01
5
5
  SHA512:
6
- metadata.gz: b647e0e9e43738c92a7d9cfe79939ed966e8edbe5d223b1ab0af7014bc08b55c215c0d295000d4331c5ce3c23049894353f498f69dea919e746749e77fc91ad5
7
- data.tar.gz: 72e4feb916be67b959ceff0c7fd5472b0717e2c99b9c60f6dab508d4855abebf9db916d74fe7939bc11a315a7d9029d75876e7409ffd9c34475b4789a32e99e8
6
+ metadata.gz: e2147b5ec8eac97ac224df68948ccda3a3bece63ba43231ec53ee2945a1b790141e6c234a01b5eb5704ac45d7190fb65eb1e4bb20b026ed381622e8ce07b16c7
7
+ data.tar.gz: 0c9479a5b108f286b45efdf939f87720a801c78e9d4fa6f709a450b40067992b4c89a3928d023d4794d78656202fb2bff06fc27b367adba3ff1b3724f81ec714
data/README.md CHANGED
@@ -48,7 +48,7 @@ use Rack::Session::Redic, marshaller: Oj, url: 'redis://host:port', expire_after
48
48
 
49
49
  ### Custom Marshallers
50
50
 
51
- Since the class/module passed as `:marshaller` only needs to respond to the methods `load` and `dump` you can create any kind of marshaller you would like. I've included examples for MessagePack and Oj here as reference.
51
+ Since the class/module passed as `:marshaller` only needs to respond to the methods `load` and `dump`, you can create any kind of marshaller you would like. I've included examples for MessagePack and Oj here as reference.
52
52
 
53
53
  #### [MessagePack](https://github.com/msgpack/msgpack-ruby)
54
54
 
@@ -86,9 +86,10 @@ Oj responds to `load` and `dump` by default so there's no adapter method needed.
86
86
  use Rack::Session::Redic, marshaller: Oj
87
87
  ```
88
88
 
89
+
89
90
  ## Contributing
90
91
 
91
- Bug reports and pull requests are welcome on GitHub at https://github.com/evanleck/rack-redic. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
92
+ Bug reports and pull requests are welcome on GitHub at [https://github.com/evanleck/rack-redic](https://github.com/evanleck/rack-redic). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
92
93
 
93
94
 
94
95
  ## License
data/rack-redic.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
  # frozen_string_literal: true
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = 'rack-redic'
5
- spec.version = '0.8.0'
5
+ spec.version = '0.9.0'
6
6
  spec.authors = ['Evan Lecklider']
7
7
  spec.email = ['evan@lecklider.com']
8
8
 
@@ -42,98 +42,98 @@ describe Rack::Session::Redic do
42
42
 
43
43
  it 'creates a new cookie' do
44
44
  redic = Rack::Session::Redic.new(incrementor)
45
- res = Rack::MockRequest.new(redic).get(ROOT)
45
+ response = Rack::MockRequest.new(redic).get(ROOT)
46
46
 
47
- expect(res[Rack::SET_COOKIE]).to include("#{ session_key }=")
48
- expect(res.body).to eq('{"counter"=>1}')
47
+ expect(response[Rack::SET_COOKIE]).to include("#{ session_key }=")
48
+ expect(response.body).to eq('{"counter"=>1}')
49
49
  end
50
50
 
51
51
  it 'determines session from a cookie' do
52
52
  redic = Rack::Session::Redic.new(incrementor)
53
- req = Rack::MockRequest.new(redic)
54
- res = req.get(ROOT)
53
+ request = Rack::MockRequest.new(redic)
54
+ response = request.get(ROOT)
55
55
 
56
- cookie = res[Rack::SET_COOKIE]
56
+ cookie = response[Rack::SET_COOKIE]
57
57
 
58
- expect(req.get(ROOT, Rack::HTTP_COOKIE => cookie).body).to eq('{"counter"=>2}')
59
- expect(req.get(ROOT, Rack::HTTP_COOKIE => cookie).body).to eq('{"counter"=>3}')
58
+ expect(request.get(ROOT, Rack::HTTP_COOKIE => cookie).body).to eq('{"counter"=>2}')
59
+ expect(request.get(ROOT, Rack::HTTP_COOKIE => cookie).body).to eq('{"counter"=>3}')
60
60
  end
61
61
 
62
62
  it 'determines session only from a cookie by default' do
63
63
  redic = Rack::Session::Redic.new(incrementor)
64
- req = Rack::MockRequest.new(redic)
65
- res = req.get(ROOT)
66
- sid = res[Rack::SET_COOKIE][session_match, 1]
64
+ request = Rack::MockRequest.new(redic)
65
+ response = request.get(ROOT)
66
+ sid = response[Rack::SET_COOKIE][session_match, 1]
67
67
 
68
- expect(req.get("/?rack.session=#{sid}").body).to eq('{"counter"=>1}')
69
- expect(req.get("/?rack.session=#{sid}").body).to eq('{"counter"=>1}')
68
+ expect(request.get("/?rack.session=#{sid}").body).to eq('{"counter"=>1}')
69
+ expect(request.get("/?rack.session=#{sid}").body).to eq('{"counter"=>1}')
70
70
  end
71
71
 
72
72
  it 'determines session from params' do
73
73
  redic = Rack::Session::Redic.new(incrementor, cookie_only: false)
74
- req = Rack::MockRequest.new(redic)
75
- res = req.get(ROOT)
76
- sid = res[Rack::SET_COOKIE][session_match, 1]
74
+ request = Rack::MockRequest.new(redic)
75
+ response = request.get(ROOT)
76
+ sid = response[Rack::SET_COOKIE][session_match, 1]
77
77
 
78
- expect(req.get("/?rack.session=#{sid}").body).to eq('{"counter"=>2}')
79
- expect(req.get("/?rack.session=#{sid}").body).to eq('{"counter"=>3}')
78
+ expect(request.get("/?rack.session=#{sid}").body).to eq('{"counter"=>2}')
79
+ expect(request.get("/?rack.session=#{sid}").body).to eq('{"counter"=>3}')
80
80
  end
81
81
 
82
82
  it 'survives nonexistant cookies' do
83
83
  bad_cookie = "rack.session=#{ SecureRandom.hex(16) }"
84
84
 
85
85
  redic = Rack::Session::Redic.new(incrementor)
86
- res = Rack::MockRequest.new(redic).get(ROOT, Rack::HTTP_COOKIE => bad_cookie)
86
+ response = Rack::MockRequest.new(redic).get(ROOT, Rack::HTTP_COOKIE => bad_cookie)
87
87
 
88
- expect(res.body).to eq('{"counter"=>1}')
88
+ expect(response.body).to eq('{"counter"=>1}')
89
89
 
90
- cookie = res[Rack::SET_COOKIE][session_match]
90
+ cookie = response[Rack::SET_COOKIE][session_match]
91
91
  expect(cookie).not_to match(/#{ bad_cookie }/)
92
92
  end
93
93
 
94
94
  it 'maintains freshness' do
95
95
  redic = Rack::Session::Redic.new(incrementor, expire_after: 3)
96
- res = Rack::MockRequest.new(redic).get(ROOT)
97
- expect(res.body).to include('"counter"=>1')
96
+ response = Rack::MockRequest.new(redic).get(ROOT)
97
+ expect(response.body).to include('"counter"=>1')
98
98
 
99
- cookie = res[Rack::SET_COOKIE]
100
- res = Rack::MockRequest.new(redic).get(ROOT, Rack::HTTP_COOKIE => cookie)
99
+ cookie = response[Rack::SET_COOKIE]
100
+ response = Rack::MockRequest.new(redic).get(ROOT, Rack::HTTP_COOKIE => cookie)
101
101
 
102
- expect(res[Rack::SET_COOKIE]).to eq(cookie)
103
- expect(res.body).to include('"counter"=>2')
102
+ expect(response[Rack::SET_COOKIE]).to eq(cookie)
103
+ expect(response.body).to include('"counter"=>2')
104
104
 
105
105
  puts 'Sleeping to expire session' if $DEBUG
106
106
  sleep 4
107
107
 
108
- res = Rack::MockRequest.new(redic).get(ROOT, Rack::HTTP_COOKIE => cookie)
109
- expect(res[Rack::SET_COOKIE]).not_to eq(cookie)
110
- expect(res.body).to include('"counter"=>1')
108
+ response = Rack::MockRequest.new(redic).get(ROOT, Rack::HTTP_COOKIE => cookie)
109
+ expect(response[Rack::SET_COOKIE]).not_to eq(cookie)
110
+ expect(response.body).to include('"counter"=>1')
111
111
  end
112
112
 
113
113
  it 'does not send the same session id if it did not change' do
114
114
  redic = Rack::Session::Redic.new(incrementor)
115
- req = Rack::MockRequest.new(redic)
115
+ request = Rack::MockRequest.new(redic)
116
116
 
117
- res0 = req.get(ROOT)
117
+ res0 = request.get(ROOT)
118
118
  cookie = res0[Rack::SET_COOKIE][session_match]
119
119
  expect(res0.body).to eq('{"counter"=>1}')
120
120
 
121
- res1 = req.get(ROOT, Rack::HTTP_COOKIE => cookie)
121
+ res1 = request.get(ROOT, Rack::HTTP_COOKIE => cookie)
122
122
  expect(res1[Rack::SET_COOKIE]).to eq(nil)
123
123
  expect(res1.body).to eq('{"counter"=>2}')
124
124
 
125
- res2 = req.get(ROOT, Rack::HTTP_COOKIE => cookie)
125
+ res2 = request.get(ROOT, Rack::HTTP_COOKIE => cookie)
126
126
  expect(res2[Rack::SET_COOKIE]).to eq(nil)
127
127
  expect(res2.body).to eq('{"counter"=>3}')
128
128
  end
129
129
 
130
130
  it 'deletes cookies with :drop option' do
131
131
  redic = Rack::Session::Redic.new(incrementor)
132
- req = Rack::MockRequest.new(redic)
132
+ request = Rack::MockRequest.new(redic)
133
133
  drop = Rack::Utils::Context.new(redic, drop_session)
134
134
  dreq = Rack::MockRequest.new(drop)
135
135
 
136
- res1 = req.get(ROOT)
136
+ res1 = request.get(ROOT)
137
137
  session = (cookie = res1[Rack::SET_COOKIE])[session_match]
138
138
  expect(res1.body).to eq('{"counter"=>1}')
139
139
 
@@ -141,32 +141,32 @@ describe Rack::Session::Redic do
141
141
  expect(res2[Rack::SET_COOKIE]).to eq(nil)
142
142
  expect(res2.body).to eq('{"counter"=>2}')
143
143
 
144
- res3 = req.get(ROOT, Rack::HTTP_COOKIE => cookie)
144
+ res3 = request.get(ROOT, Rack::HTTP_COOKIE => cookie)
145
145
  expect(res3[Rack::SET_COOKIE][session_match]).not_to eq(session)
146
146
  expect(res3.body).to eq('{"counter"=>1}')
147
147
  end
148
148
 
149
149
  it 'provides new session id with :renew option' do
150
150
  redic = Rack::Session::Redic.new(incrementor)
151
- req = Rack::MockRequest.new(redic)
151
+ request = Rack::MockRequest.new(redic)
152
152
  renew = Rack::Utils::Context.new(redic, renew_session)
153
- rreq = Rack::MockRequest.new(renew)
153
+ renew_request = Rack::MockRequest.new(renew)
154
154
 
155
- res1 = req.get(ROOT)
155
+ res1 = request.get(ROOT)
156
156
  session = (cookie = res1[Rack::SET_COOKIE])[session_match]
157
157
  expect(res1.body).to eq('{"counter"=>1}')
158
158
 
159
- res2 = rreq.get(ROOT, Rack::HTTP_COOKIE => cookie)
159
+ res2 = renew_request.get(ROOT, Rack::HTTP_COOKIE => cookie)
160
160
  new_cookie = res2[Rack::SET_COOKIE]
161
161
  new_session = new_cookie[session_match]
162
162
  expect(new_session).not_to eq(session)
163
163
  expect(res2.body).to eq('{"counter"=>2}')
164
164
 
165
- res3 = req.get(ROOT, Rack::HTTP_COOKIE => new_cookie)
165
+ res3 = request.get(ROOT, Rack::HTTP_COOKIE => new_cookie)
166
166
  expect(res3.body).to eq('{"counter"=>3}')
167
167
 
168
168
  # Old cookie was deleted
169
- res4 = req.get(ROOT, Rack::HTTP_COOKIE => cookie)
169
+ res4 = request.get(ROOT, Rack::HTTP_COOKIE => cookie)
170
170
  expect(res4.body).to eq('{"counter"=>1}')
171
171
  end
172
172
 
@@ -174,17 +174,17 @@ describe Rack::Session::Redic do
174
174
  redic = Rack::Session::Redic.new(incrementor)
175
175
  count = Rack::Utils::Context.new(redic, incrementor)
176
176
  defer = Rack::Utils::Context.new(redic, defer_session)
177
- dreq = Rack::MockRequest.new(defer)
178
- creq = Rack::MockRequest.new(count)
177
+ defer_request = Rack::MockRequest.new(defer)
178
+ count_request = Rack::MockRequest.new(count)
179
179
 
180
- res0 = dreq.get(ROOT)
180
+ res0 = defer_request.get(ROOT)
181
181
  expect(res0[Rack::SET_COOKIE]).to eq(nil)
182
182
  expect(res0.body).to eq('{"counter"=>1}')
183
183
 
184
- res0 = creq.get(ROOT)
185
- res1 = dreq.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
184
+ res0 = count_request.get(ROOT)
185
+ res1 = defer_request.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
186
186
  expect(res1.body).to eq('{"counter"=>2}')
187
- res2 = dreq.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
187
+ res2 = defer_request.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
188
188
  expect(res2.body).to eq('{"counter"=>3}')
189
189
  end
190
190
 
@@ -192,17 +192,17 @@ describe Rack::Session::Redic do
192
192
  redic = Rack::Session::Redic.new(incrementor)
193
193
  count = Rack::Utils::Context.new(redic, incrementor)
194
194
  skip = Rack::Utils::Context.new(redic, skip_session)
195
- sreq = Rack::MockRequest.new(skip)
196
- creq = Rack::MockRequest.new(count)
195
+ skip_request = Rack::MockRequest.new(skip)
196
+ count_request = Rack::MockRequest.new(count)
197
197
 
198
- res0 = sreq.get(ROOT)
198
+ res0 = skip_request.get(ROOT)
199
199
  expect(res0[Rack::SET_COOKIE]).to eq(nil)
200
200
  expect(res0.body).to eq('{"counter"=>1}')
201
201
 
202
- res0 = creq.get(ROOT)
203
- res1 = sreq.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
202
+ res0 = count_request.get(ROOT)
203
+ res1 = skip_request.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
204
204
  expect(res1.body).to eq('{"counter"=>2}')
205
- res2 = sreq.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
205
+ res2 = skip_request.get(ROOT, Rack::HTTP_COOKIE => res0[Rack::SET_COOKIE])
206
206
  expect(res2.body).to eq('{"counter"=>2}')
207
207
  end
208
208
 
@@ -220,13 +220,13 @@ describe Rack::Session::Redic do
220
220
  end
221
221
 
222
222
  redic = Rack::Session::Redic.new(hash_check)
223
- req = Rack::MockRequest.new(redic)
223
+ request = Rack::MockRequest.new(redic)
224
224
 
225
- res0 = req.get(ROOT)
225
+ res0 = request.get(ROOT)
226
226
  session_id = (cookie = res0[Rack::SET_COOKIE])[session_match, 1]
227
227
  ses0 = redic.storage.get(session_id)
228
228
 
229
- req.get(ROOT, Rack::HTTP_COOKIE => cookie)
229
+ request.get(ROOT, Rack::HTTP_COOKIE => cookie)
230
230
  ses1 = redic.storage.get(session_id)
231
231
 
232
232
  expect(ses1).not_to eq(ses0)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-redic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Lecklider