crud-service 0.0.5 → 0.0.6
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 +8 -8
- data/lib/{generic_api.rb → api.rb} +4 -6
- data/lib/crud-service.rb +4 -13
- data/lib/{generic_dal.rb → dal.rb} +4 -7
- data/lib/{generic_log.rb → logger.rb} +2 -3
- data/lib/{generic_service.rb → service.rb} +2 -4
- data/spec/helper.rb +12 -0
- data/spec/helpers_spec.rb +30 -0
- data/spec/unit/dal_spec.rb +1140 -0
- data/spec/unit/service_spec.rb +104 -0
- metadata +121 -26
@@ -0,0 +1,104 @@
|
|
1
|
+
require "helper"
|
2
|
+
|
3
|
+
describe CrudService::Service do
|
4
|
+
before(:each) do
|
5
|
+
@mock_dal = double('CrudService::Dal')
|
6
|
+
@mock_log = double('Log')
|
7
|
+
|
8
|
+
@generic_service = CrudService::Service.new(@mock_dal, @mock_log)
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '#initialize' do
|
12
|
+
it 'should inject dependencies correctly' do
|
13
|
+
@generic_service.dal.should eq @mock_dal
|
14
|
+
@generic_service.log.should eq @mock_log
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#insert' do
|
19
|
+
it 'should call DAL insert' do
|
20
|
+
query = { "one" => "two" }
|
21
|
+
@mock_dal.should_receive(:insert).with(query).and_return(true)
|
22
|
+
@generic_service.insert(query).should eq true
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "#get_all_by_query" do
|
27
|
+
it "should return all records from DAL with no relations" do
|
28
|
+
|
29
|
+
data = {:code_numeric=>123, :name => "Great Britain"}
|
30
|
+
|
31
|
+
query = { 'code_alpha_3' => 'GBR' }
|
32
|
+
|
33
|
+
@mock_dal.should_receive(:get_all_by_query)
|
34
|
+
.with(query)
|
35
|
+
.and_return(data)
|
36
|
+
|
37
|
+
@mock_dal.should_receive(:map_in_included_relations!)
|
38
|
+
.with(data,query)
|
39
|
+
.and_return(data)
|
40
|
+
|
41
|
+
@generic_service.get_all_by_query(query).should eq(data)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe '#get_one_by_query' do
|
46
|
+
it 'should call DAL get_one_by_query' do
|
47
|
+
query = { "one" => "two" }
|
48
|
+
@mock_dal.should_receive(:get_all_by_query).with(query).and_return([query])
|
49
|
+
@mock_dal.should_receive(:map_in_included_relations!).and_return(true)
|
50
|
+
@generic_service.get_one_by_query(query).should eq query
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe '#update_by_primary_key' do
|
55
|
+
it 'should call DAL update_by_primary_key' do
|
56
|
+
query = { "one" => "two" }
|
57
|
+
@mock_dal.should_receive(:update_by_primary_key).with(2,query).and_return(true)
|
58
|
+
@generic_service.update_by_primary_key(2,query).should eq true
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
describe '#delete_by_primary_key' do
|
63
|
+
it 'should call DAL delete_by_primary_key' do
|
64
|
+
query = { "one" => "two" }
|
65
|
+
@mock_dal.should_receive(:delete_by_primary_key).with(query).and_return(true)
|
66
|
+
@generic_service.delete_by_primary_key(query).should eq true
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe '#exists_by_primary_key?' do
|
71
|
+
it 'should call DAL exists_by_primary_key?' do
|
72
|
+
query = { "one" => "two" }
|
73
|
+
@mock_dal.should_receive(:exists_by_primary_key?).with(query).and_return(true)
|
74
|
+
@generic_service.exists_by_primary_key?(query).should eq true
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe '#valid_insert?' do
|
79
|
+
it 'should call DAL valid_insert?' do
|
80
|
+
query = { "one" => "two" }
|
81
|
+
@mock_dal.should_receive(:valid_insert?).with(query).and_return(true)
|
82
|
+
|
83
|
+
@generic_service.valid_insert?(query).should eq true
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe '#valid_query?' do
|
88
|
+
it 'should call DAL valid_query?' do
|
89
|
+
query = { "one" => "two" }
|
90
|
+
@mock_dal.should_receive(:valid_query?).with(query).and_return(true)
|
91
|
+
|
92
|
+
@generic_service.valid_query?(query).should eq true
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
describe '#valid_update?' do
|
97
|
+
it 'should call DAL valid_update?' do
|
98
|
+
query = { "one" => "two" }
|
99
|
+
@mock_dal.should_receive(:valid_update?).with(query).and_return(true)
|
100
|
+
|
101
|
+
@generic_service.valid_update?(query).should eq true
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
metadata
CHANGED
@@ -1,55 +1,100 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crud-service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Cully
|
8
|
+
- Sasha Gerrand
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
12
|
date: 2013-08-26 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
15
|
+
name: coveralls
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
16
17
|
requirements:
|
17
|
-
- -
|
18
|
+
- - ! '>='
|
18
19
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
+
version: '0'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
20
25
|
- - ! '>='
|
21
26
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
23
|
-
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: dotenv
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ! '>='
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0'
|
35
|
+
type: :development
|
24
36
|
prerelease: false
|
25
37
|
version_requirements: !ruby/object:Gem::Requirement
|
26
38
|
requirements:
|
27
|
-
- -
|
39
|
+
- - ! '>='
|
28
40
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
41
|
+
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
30
46
|
- - ! '>='
|
31
47
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
33
56
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
57
|
+
name: rspec
|
35
58
|
requirement: !ruby/object:Gem::Requirement
|
36
59
|
requirements:
|
37
|
-
- -
|
60
|
+
- - ! '>='
|
38
61
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
40
67
|
- - ! '>='
|
41
68
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
43
|
-
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: rspec-mocks
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ! '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
44
78
|
prerelease: false
|
45
79
|
version_requirements: !ruby/object:Gem::Requirement
|
46
80
|
requirements:
|
47
|
-
- -
|
81
|
+
- - ! '>='
|
48
82
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rack-test
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
50
88
|
- - ! '>='
|
51
89
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
53
98
|
- !ruby/object:Gem::Dependency
|
54
99
|
name: dalli
|
55
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,6 +115,26 @@ dependencies:
|
|
70
115
|
- - ! '>='
|
71
116
|
- !ruby/object:Gem::Version
|
72
117
|
version: 2.6.4
|
118
|
+
- !ruby/object:Gem::Dependency
|
119
|
+
name: json
|
120
|
+
requirement: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 1.8.0
|
125
|
+
- - ! '>='
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: 1.8.0
|
128
|
+
type: :runtime
|
129
|
+
prerelease: false
|
130
|
+
version_requirements: !ruby/object:Gem::Requirement
|
131
|
+
requirements:
|
132
|
+
- - ~>
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.8.0
|
135
|
+
- - ! '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: 1.8.0
|
73
138
|
- !ruby/object:Gem::Dependency
|
74
139
|
name: mysql2
|
75
140
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,18 +155,44 @@ dependencies:
|
|
90
155
|
- - ! '>='
|
91
156
|
- !ruby/object:Gem::Version
|
92
157
|
version: 0.3.13
|
93
|
-
|
94
|
-
|
95
|
-
|
158
|
+
- !ruby/object:Gem::Dependency
|
159
|
+
name: sinatra
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - ~>
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: 1.4.3
|
165
|
+
- - ! '>='
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: 1.4.3
|
168
|
+
type: :runtime
|
169
|
+
prerelease: false
|
170
|
+
version_requirements: !ruby/object:Gem::Requirement
|
171
|
+
requirements:
|
172
|
+
- - ~>
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: 1.4.3
|
175
|
+
- - ! '>='
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: 1.4.3
|
178
|
+
description: A basic library for automatic CRUD services using only Sinatra, MySQL
|
179
|
+
and Memcache
|
180
|
+
email:
|
181
|
+
- tomhughcully@gmail.com
|
182
|
+
- rubygems-crud-service@sgerrand.com
|
96
183
|
executables: []
|
97
184
|
extensions: []
|
98
185
|
extra_rdoc_files: []
|
99
186
|
files:
|
187
|
+
- lib/api.rb
|
100
188
|
- lib/crud-service.rb
|
101
|
-
- lib/
|
102
|
-
- lib/
|
103
|
-
- lib/
|
104
|
-
-
|
189
|
+
- lib/dal.rb
|
190
|
+
- lib/logger.rb
|
191
|
+
- lib/service.rb
|
192
|
+
- spec/helper.rb
|
193
|
+
- spec/helpers_spec.rb
|
194
|
+
- spec/unit/dal_spec.rb
|
195
|
+
- spec/unit/service_spec.rb
|
105
196
|
homepage: http://github.com/tomcully/crud-service
|
106
197
|
licenses:
|
107
198
|
- Apache2
|
@@ -114,7 +205,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
114
205
|
requirements:
|
115
206
|
- - ! '>='
|
116
207
|
- !ruby/object:Gem::Version
|
117
|
-
version: 1.9.
|
208
|
+
version: 1.9.2
|
118
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
119
210
|
requirements:
|
120
211
|
- - ! '>='
|
@@ -126,4 +217,8 @@ rubygems_version: 2.0.7
|
|
126
217
|
signing_key:
|
127
218
|
specification_version: 4
|
128
219
|
summary: A Sinatra/MySQL/Memcache CRUD Service Library
|
129
|
-
test_files:
|
220
|
+
test_files:
|
221
|
+
- spec/helper.rb
|
222
|
+
- spec/helpers_spec.rb
|
223
|
+
- spec/unit/dal_spec.rb
|
224
|
+
- spec/unit/service_spec.rb
|