libgss 0.8.4 → 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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/libgss/version.rb +1 -1
- data/spec/libgss/network_spec.rb +113 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7851a6116163ca2eb6bf2af61af08bebd7a59383
|
4
|
+
data.tar.gz: ef4dcbd1330729b3d27d63a643b600abee0e5af9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 17085bf8a1bd853273cfcd6bce736eb5f64aba253d09161bfc99cd9f898acd463430143c6cc80cfde8517f1c5dd5c99ef901466371932e481fd850d2e4e8d7ec
|
7
|
+
data.tar.gz: 6f09c4a77661bc89bb5981ddd1981c51df36f2df209060e8b3b1abf3eee18371af0842777470b85ee2f707f4c73512336d474703ce5e9d6961871993127b7d25
|
data/Gemfile.lock
CHANGED
data/lib/libgss/version.rb
CHANGED
data/spec/libgss/network_spec.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
require 'uuid'
|
5
|
+
require 'securerandom'
|
5
6
|
|
6
7
|
describe Libgss::Network do
|
7
8
|
|
@@ -153,6 +154,118 @@ describe Libgss::Network do
|
|
153
154
|
|
154
155
|
end
|
155
156
|
|
157
|
+
describe "#login(with Cathedral)" do
|
158
|
+
before do
|
159
|
+
@gdkey = SecureRandom.uuid
|
160
|
+
@extras = {udkey: SecureRandom.uuid, gdkey: @gdkey, device_cd: "10"}
|
161
|
+
network.player_id = nil
|
162
|
+
network.platform = 'cathedral'
|
163
|
+
network.client_version = "2013073101"
|
164
|
+
network.device_type_cd = 1
|
165
|
+
end
|
166
|
+
|
167
|
+
context "success" do
|
168
|
+
shared_examples_for "Libgss::Network#login(cathedral) success" do |block, after_block = nil|
|
169
|
+
before(&block) if block
|
170
|
+
after(&after_block) if after_block
|
171
|
+
|
172
|
+
it do
|
173
|
+
network.platform.should eq 'cathedral'
|
174
|
+
network.auth_token.should eq nil
|
175
|
+
network.signature_key.should eq nil
|
176
|
+
|
177
|
+
res = network.login(@extras)
|
178
|
+
res.should eq true
|
179
|
+
network.auth_token.should_not eq nil
|
180
|
+
network.signature_key.should_not eq nil
|
181
|
+
|
182
|
+
req = network.new_action_request
|
183
|
+
req.get_by_player
|
184
|
+
req.send_request do |outputs|
|
185
|
+
outputs.should have(1).results
|
186
|
+
outputs[0].should have_key('result')
|
187
|
+
@result = outputs[0]['result']
|
188
|
+
end
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
it_should_behave_like("Libgss::Network#login(cathedral) success",
|
193
|
+
nil, Proc.new{
|
194
|
+
network.player_id.should eq @gdkey
|
195
|
+
@result['player_id'].should eq @gdkey
|
196
|
+
})
|
197
|
+
|
198
|
+
it_should_behave_like("Libgss::Network#login(cathedral) success",
|
199
|
+
Proc.new{ @extras = @extras.update({udkey: nil}) },
|
200
|
+
Proc.new{
|
201
|
+
network.player_id.should eq @gdkey
|
202
|
+
@result['player_id'].should eq @gdkey
|
203
|
+
})
|
204
|
+
|
205
|
+
it_should_behave_like("Libgss::Network#login(cathedral) success",
|
206
|
+
Proc.new{ @extras = @extras.update({device_cd: nil}) },
|
207
|
+
Proc.new{
|
208
|
+
network.player_id.should eq @gdkey
|
209
|
+
@result['player_id'].should eq @gdkey
|
210
|
+
})
|
211
|
+
end
|
212
|
+
|
213
|
+
context "failure with gdkey is brank" do
|
214
|
+
it "by using login" do
|
215
|
+
res = network.login({gdkey: nil})
|
216
|
+
network.auth_token.should == nil
|
217
|
+
network.signature_key.should == nil
|
218
|
+
res.should == false
|
219
|
+
end
|
220
|
+
it "by using login!" do
|
221
|
+
expect{ network.login!({gdkey: nil}) }.to raise_error(Libgss::Network::Error)
|
222
|
+
end
|
223
|
+
end
|
224
|
+
|
225
|
+
context "error" do
|
226
|
+
shared_examples_for "Libgss::Network#login failure" do
|
227
|
+
it "by using login"do
|
228
|
+
network.auth_token.should == nil
|
229
|
+
network.signature_key.should == nil
|
230
|
+
res = network.login(@extras)
|
231
|
+
network.auth_token.should == nil
|
232
|
+
network.signature_key.should == nil
|
233
|
+
res.should == false
|
234
|
+
end
|
235
|
+
it "by using login"do
|
236
|
+
network.auth_token.should == nil
|
237
|
+
network.signature_key.should == nil
|
238
|
+
expect{ network.login!(@extras) }.to raise_error(Libgss::Network::Error)
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
242
|
+
[300, 400, 500].map{|n| (1..10).map{|i| n + i} }.flatten.each do |status_code|
|
243
|
+
context "status_code is #{status_code}" do
|
244
|
+
before do
|
245
|
+
res = double(:reponse)
|
246
|
+
res.should_receive(:status).and_return(status_code)
|
247
|
+
HTTPClient.any_instance.should_receive(:post).and_return(res)
|
248
|
+
end
|
249
|
+
it_should_behave_like "Libgss::Network#login failure"
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
context "JSON parse Error" do
|
254
|
+
before do
|
255
|
+
$stderr.stub(:puts).with(an_instance_of(String)) # $stderrにメッセージが出力されます
|
256
|
+
res = double(:reponse)
|
257
|
+
res.stub(:status).and_return(200)
|
258
|
+
res.should_receive(:content).twice.and_return("invalid JSON format string")
|
259
|
+
HTTPClient.any_instance.should_receive(:post).and_return(res)
|
260
|
+
end
|
261
|
+
|
262
|
+
it_should_behave_like "Libgss::Network#login failure"
|
263
|
+
end
|
264
|
+
|
265
|
+
end
|
266
|
+
|
267
|
+
end
|
268
|
+
|
156
269
|
describe "#new_action_request" do
|
157
270
|
|
158
271
|
let(:req){ network.new_action_request }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libgss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akima
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|