json-crud-api 0.0.5 → 0.0.7

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.
@@ -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