rack-redic 0.8.0 → 0.9.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.
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