json-crud-api 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,120 @@
1
+ require "spec_helper"
2
+
3
+ describe JsonCrudApi::Session do
4
+
5
+ before do
6
+ class TestClass
7
+ attr_accessor :user, :logged_in, :auth_client, :settings, :test_env
8
+
9
+ def env
10
+ @test_env
11
+ end
12
+
13
+ include JsonCrudApi::Session
14
+ end
15
+
16
+ @test = TestClass.new
17
+ end
18
+
19
+ describe '#process_session' do
20
+ it 'should set user nil on self and services if :auth_client not configured' do
21
+
22
+ service = double('service')
23
+
24
+ @test.test_env = "abcdefg"
25
+
26
+ @test.settings = OpenStruct.new({
27
+ :services => { :test => service }
28
+ })
29
+ @test.test_env = {}
30
+
31
+ expect(service).to receive(:set_user).with(nil)
32
+
33
+ @test.process_session
34
+
35
+ expect(@test.user).to be_nil
36
+ expect(@test.logged_in).to be false
37
+ end
38
+
39
+ it 'should handle services that do not have set_user if :auth_client not configured' do
40
+ service = double('service')
41
+
42
+ @test.test_env = "abcdefg"
43
+
44
+ @test.settings = OpenStruct.new({
45
+ :services => { :test => service }
46
+ })
47
+ @test.test_env = {}
48
+
49
+ @test.process_session
50
+
51
+ expect(@test.user).to be_nil
52
+ expect(@test.logged_in).to be false
53
+ end
54
+
55
+ it 'should call auth_client get with session key and set logged_in false and services set_user nil if nil' do
56
+ service = double('service')
57
+
58
+ @test.test_env = { 'HTTP_X_SESSION_ID' => "abcdefg" }
59
+
60
+ @test.settings = OpenStruct.new({
61
+ :auth_client => OpenStruct.new,
62
+ :services => { :test => service }
63
+ })
64
+
65
+ expect(service).to receive(:set_user).with(nil)
66
+
67
+ expect(@test.settings[:auth_client]).to receive(:get).with('abcdefg').and_return(nil)
68
+
69
+ @test.process_session
70
+
71
+ expect(@test.user).to be_nil
72
+ expect(@test.logged_in).to be false
73
+ end
74
+
75
+ it 'should call auth_client get with session key and set user and logged_in true if not nil' do
76
+ service = double('service')
77
+
78
+ @test.test_env = { 'HTTP_X_SESSION_ID' => "abcdefg" }
79
+
80
+ @test.settings = OpenStruct.new({
81
+ :auth_client => OpenStruct.new,
82
+ :services => { :test => service }
83
+ })
84
+
85
+ expect(@test.settings[:auth_client]).to receive(:get).with('abcdefg').and_return({:name=>"Tom"})
86
+
87
+ @test.process_session
88
+
89
+ expect(@test.user).to eq({:name=>"Tom"})
90
+ expect(@test.logged_in).to be true
91
+ end
92
+
93
+ it 'should call set_user with returned user on each service on session get not nil' do
94
+ service = double('service')
95
+
96
+ @test.test_env = { 'HTTP_X_SESSION_ID' => "abcdefg" }
97
+
98
+ @test.settings = OpenStruct.new({
99
+ :auth_client => OpenStruct.new,
100
+ :services => { :test => service }
101
+ })
102
+
103
+ expect(@test.settings[:auth_client]).to receive(:get).with('abcdefg').and_return({:name=>"Horace"})
104
+ expect(service).to receive(:set_user).with({:name=>'Horace'})
105
+
106
+ @test.process_session
107
+ end
108
+ end
109
+
110
+ describe '#logged_in?' do
111
+ it 'should return the value of @logged_in' do
112
+ @test.logged_in = true
113
+ expect(@test.logged_in?).to be true
114
+ @test.logged_in = false
115
+ expect(@test.logged_in?).to be false
116
+ @test.logged_in = nil
117
+ expect(@test.logged_in?).to be nil
118
+ end
119
+ end
120
+ end
metadata CHANGED
@@ -1,43 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: json-crud-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Cully
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-08 00:00:00.000000000 Z
11
+ date: 2014-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: coveralls
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: dotenv
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
13
  - !ruby/object:Gem::Dependency
42
14
  name: rake
43
15
  requirement: !ruby/object:Gem::Requirement
@@ -95,25 +67,19 @@ dependencies:
95
67
  - !ruby/object:Gem::Version
96
68
  version: '0'
97
69
  - !ruby/object:Gem::Dependency
98
- name: dalli
70
+ name: codeclimate-test-reporter
99
71
  requirement: !ruby/object:Gem::Requirement
100
72
  requirements:
101
- - - ~>
102
- - !ruby/object:Gem::Version
103
- version: 2.6.4
104
73
  - - '>='
105
74
  - !ruby/object:Gem::Version
106
- version: 2.6.4
107
- type: :runtime
75
+ version: '0'
76
+ type: :development
108
77
  prerelease: false
109
78
  version_requirements: !ruby/object:Gem::Requirement
110
79
  requirements:
111
- - - ~>
112
- - !ruby/object:Gem::Version
113
- version: 2.6.4
114
80
  - - '>='
115
81
  - !ruby/object:Gem::Version
116
- version: 2.6.4
82
+ version: '0'
117
83
  - !ruby/object:Gem::Dependency
118
84
  name: json
119
85
  requirement: !ruby/object:Gem::Requirement
@@ -134,26 +100,6 @@ dependencies:
134
100
  - - '>='
135
101
  - !ruby/object:Gem::Version
136
102
  version: 1.8.0
137
- - !ruby/object:Gem::Dependency
138
- name: mysql2
139
- requirement: !ruby/object:Gem::Requirement
140
- requirements:
141
- - - ~>
142
- - !ruby/object:Gem::Version
143
- version: 0.3.13
144
- - - '>='
145
- - !ruby/object:Gem::Version
146
- version: 0.3.13
147
- type: :runtime
148
- prerelease: false
149
- version_requirements: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ~>
152
- - !ruby/object:Gem::Version
153
- version: 0.3.13
154
- - - '>='
155
- - !ruby/object:Gem::Version
156
- version: 0.3.13
157
103
  - !ruby/object:Gem::Dependency
158
104
  name: sinatra
159
105
  requirement: !ruby/object:Gem::Requirement
@@ -203,14 +149,21 @@ files:
203
149
  - lib/json-crud-api/api.rb
204
150
  - lib/json-crud-api/auth_client.rb
205
151
  - lib/json-crud-api/crud.rb
152
+ - lib/json-crud-api/json_errors.rb
153
+ - lib/json-crud-api/json_payload.rb
206
154
  - lib/json-crud-api/presenter.rb
207
155
  - lib/json-crud-api/service.rb
156
+ - lib/json-crud-api/session.rb
208
157
  - lib/json-crud-api.rb
209
- - spec/helper.rb
210
- - spec/helpers_spec.rb
158
+ - spec/spec_helper.rb
159
+ - spec/unit/api_spec.rb
211
160
  - spec/unit/auth_client_spec.rb
161
+ - spec/unit/crud_spec.rb
162
+ - spec/unit/json_errors_spec.rb
163
+ - spec/unit/json_payload_spec.rb
212
164
  - spec/unit/presenter_spec.rb
213
165
  - spec/unit/service_spec.rb
166
+ - spec/unit/session_spec.rb
214
167
  homepage: http://rubygems.org/gems/json-crud-api
215
168
  licenses:
216
169
  - MIT
@@ -231,13 +184,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
184
  version: '0'
232
185
  requirements: []
233
186
  rubyforge_project:
234
- rubygems_version: 2.1.11
187
+ rubygems_version: 2.0.0.rc.2
235
188
  signing_key:
236
189
  specification_version: 4
237
190
  summary: Sinatra JSON API Framework Classes
238
191
  test_files:
239
- - spec/helper.rb
240
- - spec/helpers_spec.rb
192
+ - spec/spec_helper.rb
193
+ - spec/unit/api_spec.rb
241
194
  - spec/unit/auth_client_spec.rb
195
+ - spec/unit/crud_spec.rb
196
+ - spec/unit/json_errors_spec.rb
197
+ - spec/unit/json_payload_spec.rb
242
198
  - spec/unit/presenter_spec.rb
243
199
  - spec/unit/service_spec.rb
200
+ - spec/unit/session_spec.rb
data/spec/helper.rb DELETED
@@ -1,12 +0,0 @@
1
- require "coveralls"
2
- Coveralls.wear!
3
- SimpleCov.coverage_dir('spec/coverage')
4
-
5
- require "dotenv"
6
- Dotenv.load
7
-
8
- require "json-crud-api"
9
-
10
- RSpec.configure do |c|
11
- c.include Helpers
12
- end
data/spec/helpers_spec.rb DELETED
@@ -1,3 +0,0 @@
1
- module Helpers
2
- # Spec helpers here
3
- end