dragongoserver 0.1.1 → 0.3.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.
- data/History.txt +16 -0
- data/bin/dgs +135 -33
- data/lib/dragongoserver.rb +3 -1
- data/lib/dragongoserver/dragongoserver.rb +195 -23
- data/lib/dragongoserver/game.rb +10 -0
- data/lib/dragongoserver/version.rb +2 -2
- data/test/test_dragongoserver.rb +193 -54
- data/test/test_helper.rb +1 -0
- metadata +22 -63
- data/License.txt +0 -20
- data/Manifest.txt +0 -21
- data/Rakefile +0 -4
- data/config/hoe.rb +0 -75
- data/config/requirements.rb +0 -17
- data/examples/example1.rb +0 -39
- data/log/debug.log +0 -0
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/setup.rb +0 -1585
- data/tasks/deployment.rake +0 -27
- data/tasks/environment.rake +0 -7
- data/tasks/website.rake +0 -17
data/test/test_dragongoserver.rb
CHANGED
@@ -9,17 +9,23 @@ end
|
|
9
9
|
class TestDragongoserver < Test::Unit::TestCase
|
10
10
|
|
11
11
|
BIN_PREFIX = 'bin/'
|
12
|
-
MY_USERID=10737
|
12
|
+
MY_USERID = 10737
|
13
|
+
MY_RANK = 25
|
14
|
+
MY_USERNAME = 'thopre'
|
15
|
+
TEST_BIN = true # soll dgs-Kommando getestet werden?
|
13
16
|
|
14
17
|
def setup
|
15
18
|
dgs_username = ENV['DGS_USERNAME']
|
16
19
|
dgs_password = ENV['DGS_PASSWORD']
|
17
20
|
@dgs = Dgs.new(dgs_username, dgs_password)
|
18
|
-
@thomas_rank = GoRank.new
|
21
|
+
@thomas_rank = GoRank.new MY_RANK, :kyu
|
22
|
+
unless MY_USERID == @dgs.userid
|
23
|
+
raise "the test might not work for you because you are not the author of this gem"
|
24
|
+
end
|
19
25
|
end
|
20
26
|
|
21
27
|
def test_username
|
22
|
-
assert_equal
|
28
|
+
assert_equal MY_USERNAME, @dgs.username, "username #{MY_USERNAME} expected"
|
23
29
|
# there should be NO method to get the password
|
24
30
|
assert_raises(NoMethodError) {
|
25
31
|
assert_equal 'not the real password', @dgs.password
|
@@ -28,22 +34,25 @@ class TestDragongoserver < Test::Unit::TestCase
|
|
28
34
|
|
29
35
|
def test_get_rank
|
30
36
|
assert_equal @thomas_rank.to_s, @dgs.get_rank.to_s,
|
31
|
-
"does not match
|
37
|
+
"does not match #{MY_USERNAME}'s rank - or his rank has changed"
|
32
38
|
end
|
33
39
|
|
34
40
|
def test_waiting_games
|
35
|
-
after Date.new(
|
41
|
+
after Date.new(2009,8,11) do
|
36
42
|
zlist = @dgs.waiting_games
|
37
43
|
assert zlist.kind_of?(Array)
|
38
|
-
#
|
39
|
-
|
44
|
+
#assert_equal [452_684,
|
45
|
+
# 452_685,
|
46
|
+
#], zlist
|
47
|
+
assert zlist == [] or games_in_300_000_thru_500_000(zlist)
|
40
48
|
end
|
41
49
|
end
|
42
50
|
|
43
|
-
def
|
51
|
+
def games_in_300_000_thru_500_000(a)
|
44
52
|
result = true
|
45
53
|
a.each { |item|
|
46
|
-
|
54
|
+
p item
|
55
|
+
if item < 300_000 or item > 500_000
|
47
56
|
result = false
|
48
57
|
break
|
49
58
|
end
|
@@ -57,8 +66,10 @@ class TestDragongoserver < Test::Unit::TestCase
|
|
57
66
|
end
|
58
67
|
|
59
68
|
def test_bug_duplicate_numbers_running_games
|
60
|
-
|
61
|
-
|
69
|
+
after Date.new(2008,12,28) do
|
70
|
+
zlist = @dgs.running_games
|
71
|
+
assert_equal zlist.uniq, zlist
|
72
|
+
end
|
62
73
|
end
|
63
74
|
|
64
75
|
def test_running_games
|
@@ -68,15 +79,20 @@ class TestDragongoserver < Test::Unit::TestCase
|
|
68
79
|
|
69
80
|
# programm 'dgs' should be found
|
70
81
|
def test_bin_dgs_version
|
82
|
+
if TEST_BIN
|
71
83
|
assert_equal "dgs " + Dragongoserver::VERSION::STRING + "\n", `#{BIN_PREFIX}dgs -v`
|
72
84
|
assert_equal "dgs " + Dragongoserver::VERSION::STRING + "\n", `#{BIN_PREFIX}dgs --version`
|
85
|
+
end
|
73
86
|
end
|
74
87
|
|
75
88
|
# test waiting moves for me
|
76
89
|
def test_bin_dgs_waiting
|
77
|
-
|
78
|
-
|
79
|
-
|
90
|
+
if TEST_BIN
|
91
|
+
after Date.new(2009,1,16) do
|
92
|
+
expected = ""
|
93
|
+
assert_equal expected, `#{BIN_PREFIX}dgs -w`
|
94
|
+
assert_equal expected, `#{BIN_PREFIX}dgs --waiting`
|
95
|
+
end
|
80
96
|
end
|
81
97
|
end
|
82
98
|
|
@@ -86,44 +102,80 @@ class TestDragongoserver < Test::Unit::TestCase
|
|
86
102
|
|
87
103
|
# test my running games
|
88
104
|
def test_bin_dgs_running
|
89
|
-
|
90
|
-
|
105
|
+
if TEST_BIN
|
106
|
+
games = [
|
107
|
+
459553,
|
108
|
+
460420,
|
109
|
+
460478,
|
110
|
+
455141,
|
111
|
+
452102,
|
112
|
+
450082,
|
113
|
+
460057,
|
114
|
+
457788,
|
115
|
+
459753,
|
116
|
+
459516,
|
117
|
+
458426,
|
118
|
+
460190,
|
119
|
+
460642,
|
120
|
+
460834,
|
121
|
+
460546,
|
122
|
+
457924,
|
123
|
+
457527,
|
124
|
+
455596,
|
125
|
+
455595,
|
126
|
+
458150,
|
127
|
+
452576,
|
128
|
+
460160,
|
129
|
+
460280,
|
130
|
+
458433,
|
131
|
+
459699,
|
132
|
+
460938,
|
133
|
+
459842,
|
134
|
+
457470,
|
135
|
+
457678,
|
136
|
+
460709,
|
137
|
+
455099,
|
138
|
+
460616,
|
139
|
+
460414,
|
140
|
+
459799,
|
141
|
+
343676,
|
142
|
+
]
|
143
|
+
expected_array = ''
|
144
|
+
games.uniq.sort.each{ |g|
|
145
|
+
expected_array << "#{g}\n"
|
146
|
+
}
|
147
|
+
expected = "you have a total of 44 running games
|
148
|
+
running games:\n"+expected_array
|
149
|
+
assert_equal expected, `#{BIN_PREFIX}dgs -r`
|
150
|
+
assert_equal expected, `#{BIN_PREFIX}dgs --running`
|
91
151
|
end
|
92
|
-
366511
|
93
|
-
372651
|
94
|
-
366534
|
95
|
-
340021
|
96
|
-
244839
|
97
|
-
366494
|
98
|
-
369415
|
99
|
-
369412
|
100
|
-
369306
|
101
|
-
369303
|
102
|
-
366535"
|
103
|
-
|
104
|
-
assert_equal expected, `#{BIN_PREFIX}dgs -r`
|
105
|
-
assert_equal expected, `#{BIN_PREFIX}dgs -running`
|
106
|
-
end
|
107
152
|
end
|
108
153
|
|
109
154
|
def test_bin_dgs_add_game
|
110
|
-
|
155
|
+
if TEST_BIN
|
156
|
+
after Date.new(2009,1,9) do
|
111
157
|
assert_equal "Games was added to the waitingroom", `#{BIN_PREFIX}dgs --add-game`
|
112
158
|
end
|
113
159
|
end
|
160
|
+
end
|
114
161
|
|
115
162
|
def test_bin_dgs_userinfo
|
116
|
-
|
163
|
+
if TEST_BIN
|
164
|
+
after Date.new(2009,1,16) do
|
117
165
|
expected = "Userinfo"
|
118
|
-
assert_equal expected, `#{BIN_PREFIX}dgs --userinfo
|
166
|
+
assert_equal expected, `#{BIN_PREFIX}dgs --userinfo #{MY_USERNAME}`
|
119
167
|
end
|
120
168
|
end
|
169
|
+
end
|
121
170
|
|
122
171
|
def test_bin_dgs_minwait
|
123
|
-
|
172
|
+
if TEST_BIN
|
173
|
+
after Date.new(2009,1,8) do
|
174
|
+
expected = 'FIXME'
|
124
175
|
assert_equal expected, `#{BIN_PREFIX}dgs --min-wait 5`
|
125
176
|
end
|
126
177
|
end
|
178
|
+
end
|
127
179
|
|
128
180
|
def test_userinfo_name
|
129
181
|
assert @dgs.userinfo != nil, "userinfo not set"
|
@@ -132,12 +184,14 @@ class TestDragongoserver < Test::Unit::TestCase
|
|
132
184
|
|
133
185
|
def test_userinfo_userid
|
134
186
|
assert @dgs.userinfo != nil, "userinfo not set"
|
135
|
-
assert_equal
|
187
|
+
assert_equal MY_USERNAME, @dgs.userinfo[:userid]
|
136
188
|
end
|
137
189
|
|
138
190
|
def test_userinfo_city
|
139
|
-
|
140
|
-
|
191
|
+
after Date.new(2008,12,28) do
|
192
|
+
assert @dgs.userinfo != nil, "userinfo not set"
|
193
|
+
assert_equal 'Berlin', @dgs.userinfo[:city]
|
194
|
+
end
|
141
195
|
end
|
142
196
|
|
143
197
|
def test_userinfo_country
|
@@ -152,26 +206,24 @@ class TestDragongoserver < Test::Unit::TestCase
|
|
152
206
|
end
|
153
207
|
|
154
208
|
def test_userinfo_1_10
|
155
|
-
after Date.new(
|
209
|
+
after Date.new(2009,7,15) do
|
156
210
|
assert @dgs.userinfo(1) != nil, "userinfo not set"
|
157
211
|
assert_equal 'Guest', @dgs.userinfo(1)[:name]
|
158
212
|
|
159
|
-
|
160
|
-
|
161
|
-
assert_equal 'Erik O', @dgs.userinfo(2)[:name]
|
213
|
+
assert @dgs.userinfo(2) != nil, "userinfo not set"
|
214
|
+
assert_equal 'Erik O', @dgs.userinfo(2)[:name]
|
162
215
|
|
163
|
-
|
164
|
-
|
216
|
+
assert @dgs.userinfo(3) != nil, "userinfo not set"
|
217
|
+
assert_equal 'No name', @dgs.userinfo(3)[:name]
|
165
218
|
|
166
|
-
|
167
|
-
|
219
|
+
assert @dgs.userinfo(4) != nil, "userinfo not set"
|
220
|
+
assert_equal 'Alexandre Girardot', @dgs.userinfo(4)[:name]
|
168
221
|
|
169
|
-
|
170
|
-
|
222
|
+
assert @dgs.userinfo(5) != nil, "userinfo not set"
|
223
|
+
assert_equal 'Ma8e', @dgs.userinfo(5)[:name]
|
171
224
|
|
172
|
-
|
173
|
-
|
174
|
-
end
|
225
|
+
assert @dgs.userinfo(6) != nil, "userinfo not set"
|
226
|
+
assert_equal 'Roses', @dgs.userinfo(6)[:name]
|
175
227
|
end
|
176
228
|
end
|
177
229
|
|
@@ -194,8 +246,95 @@ class TestDragongoserver < Test::Unit::TestCase
|
|
194
246
|
end
|
195
247
|
|
196
248
|
def test_gameinfo_page
|
197
|
-
|
198
|
-
|
199
|
-
|
249
|
+
after Date.new(2008,12,27) do
|
250
|
+
#http://www.dragongoserver.net/game.php?gid=395863
|
251
|
+
assert_equal "Lukas Zach (lukaszach)", @dgs.gameinfo(395863)[:black][:name]
|
252
|
+
assert_equal "Thomas Preymesser (thopre)", @dgs.gameinfo(395863)[:white][:name]
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
def test_finished_games_1
|
257
|
+
after Date.new(2009,7,15) do
|
258
|
+
# http://www.dragongoserver.net/show_games.php?uid=31098&finished=1
|
259
|
+
assert @dgs.finished_games_for_user(31098)
|
260
|
+
finished = @dgs.finished_games_for_user(31098)
|
261
|
+
assert finished.kind_of?(Array)
|
262
|
+
assert_equal [
|
263
|
+
{:id => 391681, :finished_at => Date.new(2008,4,19), :player_color => :white, :winner => :black, :reason => 'Time'},
|
264
|
+
{:id => 390209, :finished_at => Date.new(2008,4,13), :player_color => :white, :winner => :black, :reason => 'Time'},
|
265
|
+
{:id => 358277, :finished_at => Date.new(2008,4,8), :player_color => :white, :winner => :black, :reason => 'Time'},
|
266
|
+
][0,3], finished[0,3]
|
267
|
+
end
|
268
|
+
end
|
269
|
+
# noch nicht fertig
|
270
|
+
|
271
|
+
#gleicher User 9 Spiele verloren wegen Time
|
272
|
+
def test_finished_games_2
|
273
|
+
after Date.new(2009,7,12) do
|
274
|
+
finished = @dgs.finished_games_for_user(31098)
|
275
|
+
count = 0
|
276
|
+
finished.each {|g|
|
277
|
+
if g[:reason] == 'Time' and
|
278
|
+
g[:winner] != g[:player_color]
|
279
|
+
#p g[:winner] #
|
280
|
+
#g[:winner] != g[:player_color]
|
281
|
+
count += 1
|
282
|
+
end
|
283
|
+
}
|
284
|
+
assert_equal 9, count
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
# soll alle Spiel von mir liefern
|
289
|
+
def test_games
|
290
|
+
after Date.new(2009,10,7) do
|
291
|
+
# noch nicht fertig
|
292
|
+
list = @dgs.games
|
293
|
+
assert_equal [1,2,3], list
|
294
|
+
end
|
295
|
+
end
|
296
|
+
|
297
|
+
# soll alle meine noch laufenden Spiele liefern
|
298
|
+
def test_running_games
|
299
|
+
after Date.new(2009,7,13) do
|
300
|
+
list = @dgs.running_games
|
301
|
+
assert_equal [
|
302
|
+
452685,
|
303
|
+
452684,
|
304
|
+
454746,
|
305
|
+
452642,
|
306
|
+
455469,
|
307
|
+
453390,
|
308
|
+
454814,
|
309
|
+
455099,
|
310
|
+
453143,
|
311
|
+
455141,
|
312
|
+
453133,
|
313
|
+
454822,
|
314
|
+
452102,
|
315
|
+
455278,
|
316
|
+
454849,
|
317
|
+
454731,
|
318
|
+
452315,
|
319
|
+
452635,
|
320
|
+
452727,
|
321
|
+
343676,
|
322
|
+
452576,
|
323
|
+
], list
|
324
|
+
end
|
325
|
+
end
|
326
|
+
|
327
|
+
# soll alle meine beendeten Spiele liefern
|
328
|
+
def test_finished_games
|
329
|
+
after Date.new(2009,7,20) do
|
330
|
+
# list = @dgs.finished_games
|
331
|
+
list = @dgs.finished_games_ids
|
332
|
+
assert_equal 580, list.size # Stand 2008-12-19
|
333
|
+
# die ersten beendeten Spiele
|
334
|
+
assert_equal [95381,95383,95384], list.sort[0,3]
|
335
|
+
# alles dazwischen lassen wir aus, da das unuebersehbar waere
|
336
|
+
# die letzten beendeten Spiele
|
337
|
+
assert_equal [422893,453143,453390], list.sort[-3,3]
|
338
|
+
end
|
200
339
|
end
|
201
340
|
end
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dragongoserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Preymesser
|
@@ -9,84 +9,43 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-07-10 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: mechanize
|
17
|
+
type: :runtime
|
17
18
|
version_requirement:
|
18
19
|
version_requirements: !ruby/object:Gem::Requirement
|
19
20
|
requirements:
|
20
21
|
- - ">="
|
21
22
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
23
|
+
version: 0.9.2
|
23
24
|
version:
|
24
|
-
-
|
25
|
-
name: go-rank
|
26
|
-
version_requirement:
|
27
|
-
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
requirements:
|
29
|
-
- - ">="
|
30
|
-
- !ruby/object:Gem::Version
|
31
|
-
version: 0.0.1
|
32
|
-
version:
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: choice
|
35
|
-
version_requirement:
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.2
|
41
|
-
version:
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: hpricot
|
44
|
-
version_requirement:
|
45
|
-
version_requirements: !ruby/object:Gem::Requirement
|
46
|
-
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: "0.6"
|
50
|
-
version:
|
51
|
-
description: Dragongoserver functions
|
25
|
+
description: Playing Go at www.dragongoserver.net - a set of Ruby functions/commands
|
52
26
|
email: thopre@gmail.com
|
53
27
|
executables:
|
54
28
|
- dgs
|
55
29
|
extensions: []
|
56
30
|
|
57
|
-
extra_rdoc_files:
|
58
|
-
|
59
|
-
- License.txt
|
60
|
-
- Manifest.txt
|
61
|
-
- README.txt
|
31
|
+
extra_rdoc_files: []
|
32
|
+
|
62
33
|
files:
|
63
|
-
- History.txt
|
64
|
-
- License.txt
|
65
|
-
- Manifest.txt
|
66
34
|
- README.txt
|
67
|
-
-
|
68
|
-
- bin/dgs
|
69
|
-
- config/hoe.rb
|
70
|
-
- config/requirements.rb
|
71
|
-
- examples/example1.rb
|
72
|
-
- lib/dragongoserver.rb
|
73
|
-
- lib/dragongoserver/dragongoserver.rb
|
35
|
+
- History.txt
|
74
36
|
- lib/dragongoserver/version.rb
|
75
|
-
-
|
76
|
-
-
|
77
|
-
-
|
78
|
-
- setup.rb
|
79
|
-
- tasks/deployment.rake
|
80
|
-
- tasks/environment.rake
|
81
|
-
- tasks/website.rake
|
82
|
-
- test/test_dragongoserver.rb
|
37
|
+
- lib/dragongoserver/game.rb
|
38
|
+
- lib/dragongoserver/dragongoserver.rb
|
39
|
+
- lib/dragongoserver.rb
|
83
40
|
- test/test_helper.rb
|
41
|
+
- test/test_dragongoserver.rb
|
84
42
|
has_rdoc: true
|
85
|
-
homepage: http://
|
43
|
+
homepage: http://multistockphoto.rubyforge.org
|
44
|
+
licenses: []
|
45
|
+
|
86
46
|
post_install_message:
|
87
|
-
rdoc_options:
|
88
|
-
|
89
|
-
- README.txt
|
47
|
+
rdoc_options: []
|
48
|
+
|
90
49
|
require_paths:
|
91
50
|
- lib
|
92
51
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -103,11 +62,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
62
|
version:
|
104
63
|
requirements: []
|
105
64
|
|
106
|
-
rubyforge_project:
|
107
|
-
rubygems_version: 1.
|
65
|
+
rubyforge_project: multistockphoto
|
66
|
+
rubygems_version: 1.3.4
|
108
67
|
signing_key:
|
109
|
-
specification_version:
|
110
|
-
summary:
|
68
|
+
specification_version: 3
|
69
|
+
summary: Playing Go at www.dragongoserver.net - a set of Ruby functions/commands
|
111
70
|
test_files:
|
112
|
-
- test/test_dragongoserver.rb
|
113
71
|
- test/test_helper.rb
|
72
|
+
- test/test_dragongoserver.rb
|