tweetwine 0.2.11 → 0.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/CHANGELOG.rdoc +7 -0
  2. data/{MIT-LICENSE.txt → LICENSE.txt} +1 -1
  3. data/README.md +122 -0
  4. data/Rakefile +59 -78
  5. data/bin/tweetwine +1 -0
  6. data/example/example_helper.rb +3 -1
  7. data/example/search_statuses_example.rb +2 -0
  8. data/example/show_followers_example.rb +2 -0
  9. data/example/show_friends_example.rb +2 -0
  10. data/example/show_home_example.rb +2 -0
  11. data/example/show_mentions_example.rb +2 -0
  12. data/example/show_metadata_example.rb +2 -0
  13. data/example/show_user_example.rb +2 -0
  14. data/example/update_status_example.rb +2 -0
  15. data/example/use_http_proxy_example.rb +2 -0
  16. data/lib/tweetwine/cli.rb +2 -0
  17. data/lib/tweetwine/client.rb +2 -0
  18. data/lib/tweetwine/io.rb +16 -11
  19. data/lib/tweetwine/meta.rb +3 -1
  20. data/lib/tweetwine/options.rb +2 -0
  21. data/lib/tweetwine/retrying_http.rb +2 -0
  22. data/lib/tweetwine/startup_config.rb +2 -0
  23. data/lib/tweetwine/url_shortener.rb +2 -0
  24. data/lib/tweetwine/util.rb +9 -6
  25. data/lib/tweetwine.rb +2 -0
  26. data/man/tweetwine.1 +109 -0
  27. data/man/tweetwine.1.ronn +69 -0
  28. data/man/tweetwine.7 +216 -0
  29. data/man/tweetwine.7.ronn +122 -0
  30. data/test/cli_test.rb +3 -1
  31. data/test/client_test.rb +3 -1
  32. data/test/io_test.rb +38 -31
  33. data/test/options_test.rb +3 -1
  34. data/test/retrying_http_test.rb +11 -11
  35. data/test/startup_config_test.rb +4 -2
  36. data/test/test_helper.rb +57 -47
  37. data/test/url_shortener_test.rb +3 -1
  38. data/test/util_test.rb +10 -3
  39. metadata +145 -20
  40. data/README.rdoc +0 -117
  41. /data/example/{fixtures → fixture}/home.json +0 -0
  42. /data/example/{fixtures → fixture}/mentions.json +0 -0
  43. /data/example/{fixtures → fixture}/search.json +0 -0
  44. /data/example/{fixtures → fixture}/update.json +0 -0
  45. /data/example/{fixtures → fixture}/user.json +0 -0
  46. /data/example/{fixtures → fixture}/users.json +0 -0
  47. /data/test/{fixtures → fixture}/test_config.yaml +0 -0
@@ -0,0 +1,69 @@
1
+ tweetwine(1) -- a simple Twitter command line agent
2
+ ===================================================
3
+
4
+ ## SYNOPSIS
5
+
6
+ tweetwine [ <GLOBAL_OPTIONS> ]
7
+ tweetwine [ <GLOBAL_OPTIONS> ] <COMMAND> [ <COMMAND_OPTIONS> ]
8
+
9
+ ## DESCRIPTION
10
+
11
+ Tweetwine supports showing the home timeline of the authenticated user, the
12
+ latest statuses of friends and followers, and the latest statuses that mention
13
+ the user. If that's not enough, statuses can be searched with arbitrary terms.
14
+ In addition, new statuses can be sent.
15
+
16
+ <COMMAND> is one of
17
+
18
+ * `followers`,
19
+ * `friends`,
20
+ * `home`,
21
+ * `mentions`,
22
+ * `search`,
23
+ * `update`, or
24
+ * `user`.
25
+
26
+ The default is `home`.
27
+
28
+ ## OPTIONS
29
+
30
+ Options given from command line override corresponding settings from
31
+ configuration (`~/.tweetwine`).
32
+
33
+ <GLOBAL_OPTIONS> are:
34
+
35
+ * `-a`, `--auth USERNAME:PASSWORD`:
36
+ Authentication.
37
+
38
+ * `-c`, `--[no-]colors`:
39
+ Colorize output with ANSI escape codes.
40
+
41
+ * `-n`, `--num N`:
42
+ The number of statuses in page, default 20.
43
+
44
+ * `--[no-]http-proxy URL`:
45
+ Use proxy for HTTP and HTTPS.
46
+
47
+ * `--no-url-shorten`:
48
+ Do not shorten URLs for status update.
49
+
50
+ * `-p`, `--page N`:
51
+ The page number for statuses, default 1.
52
+
53
+ * `-v`, `--version`:
54
+ Show version information and exit.
55
+
56
+ * `-h`, `--help`:
57
+ Show help message and exit.
58
+
59
+ In order to see <COMMAND_OPTIONS>, enter:
60
+
61
+ $ tweetwine help <COMMAND>
62
+
63
+ ## COPYRIGHT
64
+
65
+ Tweetwine is Copyright (c) 2009-2010 Tuomas Kareinen
66
+
67
+ ## SEE ALSO
68
+
69
+ tweetwine(7), <http://github.com/tuomas/tweetwine>
data/man/tweetwine.7 ADDED
@@ -0,0 +1,216 @@
1
+ .\" generated with Ronn/v0.5
2
+ .\" http://github.com/rtomayko/ronn/
3
+ .
4
+ .TH "TWEETWINE" "7" "April 2010" "Tuomas Kareinen" "Tweetwine Manual"
5
+ .
6
+ .SH "NAME"
7
+ \fBtweetwine\fR \-\- a simple Twitter command line agent
8
+ .
9
+ .SH "DESCRIPTION"
10
+ Tweetwine supports showing the home timeline of the authenticated user, the
11
+ latest statuses of friends and followers, and the latest statuses that mention
12
+ the user. If that's not enough, statuses can be searched with arbitrary terms.
13
+ In addition, new statuses can be sent.
14
+ .
15
+ .P
16
+ Features:
17
+ .
18
+ .IP "\(bu" 4
19
+ Simple to use command line interface, with Bash completion support
20
+ .
21
+ .IP "\(bu" 4
22
+ ANSI coloring of statuses, but in discreet manner
23
+ .
24
+ .IP "\(bu" 4
25
+ Supports shortening URLs in a status update with a configurable shortening
26
+ service
27
+ .
28
+ .IP "\(bu" 4
29
+ Configuration file for preferred settings
30
+ .
31
+ .IP "" 0
32
+ .
33
+ .SH "INSTALL"
34
+ Install Tweetwine with RubyGems:
35
+ .
36
+ .IP "" 4
37
+ .
38
+ .nf
39
+
40
+ $ gem install tweetwine
41
+ .
42
+ .fi
43
+ .
44
+ .IP "" 0
45
+ .
46
+ .P
47
+ The program is compatible with both Ruby 1.8 and 1.9.
48
+ .
49
+ .P
50
+ The program requires \fIrest\-client\fR
51
+ gem to be installed. In addition, the program needs \fIjson\fR gem on Ruby 1.8.
52
+ .
53
+ .P
54
+ Documentation is provided as gem man pages. Use \fIgem\-man\fR to see them:
55
+ .
56
+ .IP "" 4
57
+ .
58
+ .nf
59
+
60
+ $ gem man tweetwine
61
+ .
62
+ .fi
63
+ .
64
+ .IP "" 0
65
+ .
66
+ .SH "BASIC USAGE AND CONFIGURATION"
67
+ In the command line, run the program by entering
68
+ .
69
+ .IP "" 4
70
+ .
71
+ .nf
72
+
73
+ $ tweetwine [ <GLOBAL_OPTIONS> ] [ <COMMAND> ] [ <COMMAND_OPTIONS> ]
74
+ .
75
+ .fi
76
+ .
77
+ .IP "" 0
78
+ .
79
+ .P
80
+ The program needs the user's username and password for authentication. This
81
+ information can be supplied either via a configuration file or as an option
82
+ (\fB\-a USERNAME:PASSWORD\fR) to the program. It is recommended to use the former
83
+ method over the latter.
84
+ .
85
+ .P
86
+ The configuration file, in \fB~/.tweetwine\fR, is in YAML syntax. The program
87
+ recognizes the following basic settings:
88
+ .
89
+ .IP "" 4
90
+ .
91
+ .nf
92
+
93
+ username: <your_username>
94
+ password: <your_password>
95
+ colors: true|false
96
+ .
97
+ .fi
98
+ .
99
+ .IP "" 0
100
+ .
101
+ .P
102
+ For all the global options and commands, see:
103
+ .
104
+ .IP "" 4
105
+ .
106
+ .nf
107
+
108
+ $ tweetwine help
109
+ .
110
+ .fi
111
+ .
112
+ .IP "" 0
113
+ .
114
+ .P
115
+ For information about a specific command and its options, enter:
116
+ .
117
+ .IP "" 4
118
+ .
119
+ .nf
120
+
121
+ $ tweetwine help <COMMAND>
122
+ .
123
+ .fi
124
+ .
125
+ .IP "" 0
126
+ .
127
+ .SS "URL shortening for status update"
128
+ Before actually sending a status update, it is possible for the software to
129
+ shorten the URLs in the update by using an external web service. This can be
130
+ enabled via the \fBshorten_urls\fR key in configuration file; for example:
131
+ .
132
+ .IP "" 4
133
+ .
134
+ .nf
135
+
136
+ username: spoonman
137
+ password: withyourhands
138
+ colors: true
139
+ shorten_urls:
140
+ enable: true
141
+ service_url: http://is.gd/create.php
142
+ method: post
143
+ url_param_name: URL
144
+ xpath_selector: //input[@id='short_url']/@value
145
+ .
146
+ .fi
147
+ .
148
+ .IP "" 0
149
+ .
150
+ .P
151
+ The supported methods (in \fBmethod\fR) are \fBget\fR and \fBpost\fR. The method chosen
152
+ affects whether parameters are passed as URL query parameters or as payload
153
+ in the HTTP request, respectively. Extra parameters can be given via \fBextra_params\fR key, as a hash.
154
+ .
155
+ .P
156
+ The \fBxpath_selector\fR is needed to extract the shortened URL from the result.
157
+ .
158
+ .P
159
+ URL shortening can be disabled by
160
+ .
161
+ .IP "\(bu" 4
162
+ not defining \fBshorten_urls\fR key in the configuration file,
163
+ .
164
+ .IP "\(bu" 4
165
+ setting key \fBenable\fR to \fBfalse\fR, or
166
+ .
167
+ .IP "\(bu" 4
168
+ using the command line option \fB\-\-no\-url\-shorten\fR.
169
+ .
170
+ .IP "" 0
171
+ .
172
+ .P
173
+ \fINOTE:\fR The use of the feature requires \fInokogiri\fR gem
174
+ to be installed.
175
+ .
176
+ .SS "HTTP proxy setting"
177
+ If \fB$http_proxy\fR environment variable is set, Tweetwine attempts to use the
178
+ URL in the environment variable as HTTP proxy for all its HTTP connections.
179
+ This setting can be overridden with \fB\-\-http\-proxy\fR and \fB\-\-no\-http\-proxy\fR
180
+ command line options.
181
+ .
182
+ .SS "Bash command line completion support"
183
+ Bash shell supports command line completion via tab character. If you want to
184
+ enable Tweetwine specific completion with Bash, source the file \fBtweetwine\-completion.bash\fR, located in \fBcontrib\fR directory:
185
+ .
186
+ .IP "" 4
187
+ .
188
+ .nf
189
+
190
+ . contrib/tweetwine\-completion.bash
191
+ .
192
+ .fi
193
+ .
194
+ .IP "" 0
195
+ .
196
+ .P
197
+ In order to do this automatically when your shell starts, insert the following
198
+ snippet to your Bash initialization script (such as \fB~/.bashrc\fR):
199
+ .
200
+ .IP "" 4
201
+ .
202
+ .nf
203
+
204
+ if [ \-f <path_to_tweetwine>/contrib/tweetwine\-completion.bash ]; then
205
+ . <path_to_tweetwine>/contrib/tweetwine\-completion.bash
206
+ fi
207
+ .
208
+ .fi
209
+ .
210
+ .IP "" 0
211
+ .
212
+ .SH "COPYRIGHT"
213
+ Tweetwine is Copyright (c) 2009\-2010 Tuomas Kareinen
214
+ .
215
+ .SH "SEE ALSO"
216
+ tweetwine(1), \fIhttp://github.com/tuomas/tweetwine\fR
@@ -0,0 +1,122 @@
1
+ tweetwine -- a simple Twitter command line agent
2
+ ================================================
3
+
4
+ ## DESCRIPTION
5
+
6
+ Tweetwine supports showing the home timeline of the authenticated user, the
7
+ latest statuses of friends and followers, and the latest statuses that mention
8
+ the user. If that's not enough, statuses can be searched with arbitrary terms.
9
+ In addition, new statuses can be sent.
10
+
11
+ Features:
12
+
13
+ * Simple to use command line interface, with Bash completion support
14
+ * ANSI coloring of statuses, but in discreet manner
15
+ * Supports shortening URLs in a status update with a configurable shortening
16
+ service
17
+ * Configuration file for preferred settings
18
+
19
+ ## INSTALL
20
+
21
+ Install Tweetwine with RubyGems:
22
+
23
+ $ gem install tweetwine
24
+
25
+ The program is compatible with both Ruby 1.8 and 1.9.
26
+
27
+ The program requires [rest-client](http://github.com/archiloque/rest-client)
28
+ gem to be installed. In addition, the program needs
29
+ [json](http://json.rubyforge.org/) gem on Ruby 1.8.
30
+
31
+ Documentation is provided as gem man pages. Use
32
+ [gem-man](http://github.com/defunkt/gem-man) to see them:
33
+
34
+ $ gem man tweetwine
35
+
36
+ ## BASIC USAGE AND CONFIGURATION
37
+
38
+ In the command line, run the program by entering
39
+
40
+ $ tweetwine [ <GLOBAL_OPTIONS> ] [ <COMMAND> ] [ <COMMAND_OPTIONS> ]
41
+
42
+ The program needs the user's username and password for authentication. This
43
+ information can be supplied either via a configuration file or as an option
44
+ (`-a USERNAME:PASSWORD`) to the program. It is recommended to use the former
45
+ method over the latter.
46
+
47
+ The configuration file, in `~/.tweetwine`, is in YAML syntax. The program
48
+ recognizes the following basic settings:
49
+
50
+ username: <your_username>
51
+ password: <your_password>
52
+ colors: true|false
53
+
54
+ For all the global options and commands, see:
55
+
56
+ $ tweetwine help
57
+
58
+ For information about a specific command and its options, enter:
59
+
60
+ $ tweetwine help <COMMAND>
61
+
62
+ ### URL shortening for status update
63
+
64
+ Before actually sending a status update, it is possible for the software to
65
+ shorten the URLs in the update by using an external web service. This can be
66
+ enabled via the `shorten_urls` key in configuration file; for example:
67
+
68
+ username: spoonman
69
+ password: withyourhands
70
+ colors: true
71
+ shorten_urls:
72
+ enable: true
73
+ service_url: http://is.gd/create.php
74
+ method: post
75
+ url_param_name: URL
76
+ xpath_selector: //input[@id='short_url']/@value
77
+
78
+ The supported methods (in `method`) are `get` and `post`. The method chosen
79
+ affects whether parameters are passed as URL query parameters or as payload
80
+ in the HTTP request, respectively. Extra parameters can be given via
81
+ `extra_params` key, as a hash.
82
+
83
+ The `xpath_selector` is needed to extract the shortened URL from the result.
84
+
85
+ URL shortening can be disabled by
86
+
87
+ * not defining `shorten_urls` key in the configuration file,
88
+ * setting key `enable` to `false`, or
89
+ * using the command line option `--no-url-shorten`.
90
+
91
+ *NOTE:* The use of the feature requires [nokogiri](http://nokogiri.org/) gem
92
+ to be installed.
93
+
94
+ ### HTTP proxy setting
95
+
96
+ If `$http_proxy` environment variable is set, Tweetwine attempts to use the
97
+ URL in the environment variable as HTTP proxy for all its HTTP connections.
98
+ This setting can be overridden with `--http-proxy` and `--no-http-proxy`
99
+ command line options.
100
+
101
+ ### Bash command line completion support
102
+
103
+ Bash shell supports command line completion via tab character. If you want to
104
+ enable Tweetwine specific completion with Bash, source the file
105
+ `tweetwine-completion.bash`, located in `contrib` directory:
106
+
107
+ . contrib/tweetwine-completion.bash
108
+
109
+ In order to do this automatically when your shell starts, insert the following
110
+ snippet to your Bash initialization script (such as `~/.bashrc`):
111
+
112
+ if [ -f <path_to_tweetwine>/contrib/tweetwine-completion.bash ]; then
113
+ . <path_to_tweetwine>/contrib/tweetwine-completion.bash
114
+ fi
115
+
116
+ ## COPYRIGHT
117
+
118
+ Tweetwine is Copyright (c) 2009-2010 Tuomas Kareinen
119
+
120
+ ## SEE ALSO
121
+
122
+ tweetwine(1), <http://github.com/tuomas/tweetwine>
data/test/cli_test.rb CHANGED
@@ -1,8 +1,10 @@
1
+ # coding: utf-8
2
+
1
3
  require "test_helper"
2
4
 
3
5
  module Tweetwine
4
6
 
5
- class CLITest < Test::Unit::TestCase
7
+ class CLITest < TweetwineTestCase
6
8
  context "A CLI, upon initialization" do
7
9
  should "disallow using #new to create a new instance" do
8
10
  assert_raise(NoMethodError) { CLI.new("-v", "test", "") {} }
data/test/client_test.rb CHANGED
@@ -1,9 +1,11 @@
1
+ # coding: utf-8
2
+
1
3
  require "test_helper"
2
4
  require "json"
3
5
 
4
6
  module Tweetwine
5
7
 
6
- class ClientTest < Test::Unit::TestCase
8
+ class ClientTest < TweetwineTestCase
7
9
  context "A client instance" do
8
10
  setup do
9
11
  @io = mock()
data/test/io_test.rb CHANGED
@@ -1,8 +1,10 @@
1
+ # coding: utf-8
2
+
1
3
  require "test_helper"
2
4
 
3
5
  module Tweetwine
4
6
 
5
- class IOTest < Test::Unit::TestCase
7
+ class IOTest < TweetwineTestCase
6
8
  context "An IO instance" do
7
9
  setup do
8
10
  @input = mock()
@@ -216,42 +218,47 @@ Lulz, so happy! \e[35m#{hashtags[0]}\e[0m \e[35m#{hashtags[1]}\e[0m
216
218
  @io.show_record(record)
217
219
  end
218
220
 
219
- should "highlight HTTP and HTTPS URLs in a status" do
220
- from_user = "barman"
221
- links = %w{http://bit.ly/18rU_Vx http://is.gd/1qLk3 https://is.gd/2rLk4}
222
- record = {
223
- :from_user => from_user,
224
- :status => "Three links: #{links[0]} #{links[1]} and #{links[2]}",
225
- :created_at => Time.at(1),
226
- :to_user => nil
227
- }
228
- Util.expects(:humanize_time_diff).returns([2, "secs"])
229
- @output.expects(:puts).with(<<-END
221
+ %w{http://is.gd/1qLk3 http://is.gd/1qLk3?id=foo}.each do |url|
222
+ should "highlight HTTP and HTTPS URLs in a status, given #{url}" do
223
+ from_user = "barman"
224
+ record = {
225
+ :from_user => from_user,
226
+ :status => "New Rails³ - #{url}",
227
+ :created_at => Time.at(1),
228
+ :to_user => nil
229
+ }
230
+ Util.expects(:humanize_time_diff).returns([2, "secs"])
231
+ @output.expects(:puts).with(<<-END
230
232
  \e[32m#{from_user}\e[0m, 2 secs ago:
231
- Three links: \e[36m#{links[0]}\e[0m \e[36m#{links[1]}\e[0m and \e[36m#{links[2]}\e[0m
233
+ New Rails³ - \e[36m#{url}\e[0m
232
234
 
233
- END
234
- )
235
- @io.show_record(record)
235
+ END
236
+ )
237
+ @io.show_record(record)
238
+ end
236
239
  end
237
240
 
238
- should "highlight HTTP and HTTPS URLs in a status, even if duplicates" do
239
- from_user = "barman"
240
- link = "http://is.gd/1qLk3"
241
- record = {
242
- :from_user => from_user,
243
- :status => "Duplicate links: #{link} and #{link}",
244
- :created_at => Time.at(1),
245
- :to_user => nil
246
- }
247
- Util.expects(:humanize_time_diff).returns([2, "secs"])
248
- @output.expects(:puts).with(<<-END
241
+ [
242
+ %w{http://is.gd/1qLk3 http://is.gd/1qLk3},
243
+ %w{http://is.gd/1qLk3 http://is.gd/1q}
244
+ ].each do |(first_url, second_url)|
245
+ should "highlight HTTP and HTTPS URLs in a status, given #{first_url} and #{second_url}" do
246
+ from_user = "barman"
247
+ record = {
248
+ :from_user => from_user,
249
+ :status => "Links: #{first_url} and #{second_url} np",
250
+ :created_at => Time.at(1),
251
+ :to_user => nil
252
+ }
253
+ Util.expects(:humanize_time_diff).returns([2, "secs"])
254
+ @output.expects(:puts).with(<<-END
249
255
  \e[32m#{from_user}\e[0m, 2 secs ago:
250
- Duplicate links: \e[36m#{link}\e[0m and \e[36m#{link}\e[0m
256
+ Links: \e[36m#{first_url}\e[0m and \e[36m#{second_url}\e[0m np
251
257
 
252
- END
253
- )
254
- @io.show_record(record)
258
+ END
259
+ )
260
+ @io.show_record(record)
261
+ end
255
262
  end
256
263
 
257
264
  should "highlight usernames in a status" do
data/test/options_test.rb CHANGED
@@ -1,8 +1,10 @@
1
+ # coding: utf-8
2
+
1
3
  require "test_helper"
2
4
 
3
5
  module Tweetwine
4
6
 
5
- class OptionsTest < Test::Unit::TestCase
7
+ class OptionsTest < TweetwineTestCase
6
8
  context "An Options instance" do
7
9
  should "get the value corresponding to a key or nil (the default value)" do
8
10
  assert_equal "alpha", Options.new({:a => "alpha"})[:a]
@@ -1,3 +1,5 @@
1
+ # coding: utf-8
2
+
1
3
  require "test_helper"
2
4
  require "rest_client"
3
5
 
@@ -6,9 +8,8 @@ class Object
6
8
  end
7
9
 
8
10
  module Tweetwine
9
- module RetryingHttp
10
11
 
11
- class ModuleTest < Test::Unit::TestCase
12
+ class RetryingHttpModuleTest < TweetwineTestCase
12
13
  context "When using HTTP proxy" do
13
14
  setup do
14
15
  RetryingHttp.proxy = "http://proxy.net:8080"
@@ -24,11 +25,11 @@ class ModuleTest < Test::Unit::TestCase
24
25
  end
25
26
  end
26
27
 
27
- class ClientTest < Test::Unit::TestCase
28
+ class RetryingHttpClientTest < TweetwineTestCase
28
29
  context "A Client instance" do
29
30
  setup do
30
31
  @io = mock()
31
- @client = Client.new(@io)
32
+ @client = RetryingHttp::Client.new(@io)
32
33
  end
33
34
 
34
35
  should "wrap RestClient.get" do
@@ -68,10 +69,10 @@ class ClientTest < Test::Unit::TestCase
68
69
  should "retry connection a maximum of certain number of times, case #{error_class}" do
69
70
  retrying_calls = sequence("Retrying Client calls")
70
71
  io_calls = sequence("IO")
71
- (Client::MAX_RETRIES + 1).times do
72
+ (RetryingHttp::Client::MAX_RETRIES + 1).times do
72
73
  RestClient.expects(:get).with("https://unresponsive.org").in_sequence(retrying_calls).raises(error_class)
73
74
  end
74
- Client::MAX_RETRIES.times do
75
+ RetryingHttp::Client::MAX_RETRIES.times do
75
76
  @io.expects(:warn).in_sequence(io_calls)
76
77
  end
77
78
  assert_raise(HttpError) { @client.get("https://unresponsive.org") }
@@ -85,12 +86,12 @@ class ClientTest < Test::Unit::TestCase
85
86
  end
86
87
  end
87
88
 
88
- class ResourceTest < Test::Unit::TestCase
89
+ class RetryingHttpResourceTest < TweetwineTestCase
89
90
  context "A Resource instance" do
90
91
  setup do
91
92
  @io = mock()
92
93
  @wrapped = mock()
93
- @resource = Resource.new(@wrapped)
94
+ @resource = RetryingHttp::Resource.new(@wrapped)
94
95
  @resource.io = @io
95
96
  end
96
97
 
@@ -131,10 +132,10 @@ class ResourceTest < Test::Unit::TestCase
131
132
  should "retry connection a maximum of certain number of times, case #{error_class}" do
132
133
  retrying_calls = sequence("Retrying Resource calls")
133
134
  io_calls = sequence("IO")
134
- (Resource::MAX_RETRIES + 1).times do
135
+ (RetryingHttp::Resource::MAX_RETRIES + 1).times do
135
136
  @wrapped.expects(:get).in_sequence(retrying_calls).raises(error_class)
136
137
  end
137
- Resource::MAX_RETRIES.times do
138
+ RetryingHttp::Resource::MAX_RETRIES.times do
138
139
  @io.expects(:warn).in_sequence(io_calls)
139
140
  end
140
141
  assert_raise(HttpError) { @resource.get }
@@ -144,4 +145,3 @@ class ResourceTest < Test::Unit::TestCase
144
145
  end
145
146
 
146
147
  end
147
- end
@@ -1,9 +1,11 @@
1
+ # coding: utf-8
2
+
1
3
  require "test_helper"
2
4
 
3
5
  module Tweetwine
4
6
 
5
- class StartupConfigTest < Test::Unit::TestCase
6
- TEST_CONFIG_FILE = File.dirname(__FILE__) << "/fixtures/test_config.yaml"
7
+ class StartupConfigTest < TweetwineTestCase
8
+ TEST_CONFIG_FILE = Helper.fixture_file("test_config.yaml")
7
9
 
8
10
  context "A StartupConfig instance" do
9
11
  context "upon initialization" do