thimbl 0.1.2 → 0.2.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/Manifest +5 -2
- data/README.md +21 -18
- data/Rakefile +1 -1
- data/bin/thimblr +4 -7
- data/lib/thimbl.rb +1 -0
- data/lib/thimbl/base.rb +118 -103
- data/lib/thimbl/command.rb +68 -53
- data/test/fixtures/messages_1.json +22 -0
- data/test/fixtures/messages_2.json +12 -0
- data/test/fixtures/messages_3.json +12 -0
- data/test/fixtures/official_plan.json +69 -0
- data/test/fixtures/print.txt +6 -0
- data/test/test_helper.rb +3 -1
- data/test/thimbl_base_test.rb +120 -103
- data/test/thimbl_command_test.rb +58 -56
- data/test/thimbl_utils_test.rb +1 -1
- data/thimbl.gemspec +3 -3
- metadata +9 -6
- data/test/fixtures/cache.json +0 -146
- data/test/fixtures/cache_error_nil.json +0 -487
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"following": [
|
3
|
+
{
|
4
|
+
"address": "mike@mikepearce.net",
|
5
|
+
"nick": "mike"
|
6
|
+
},
|
7
|
+
{
|
8
|
+
"address": "rw@telekommunisten.org",
|
9
|
+
"nick": "rico"
|
10
|
+
}
|
11
|
+
],
|
12
|
+
"messages": [
|
13
|
+
{
|
14
|
+
"text": "messages_1 a",
|
15
|
+
"time": "20101105124412"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"text": "messages_1 b",
|
19
|
+
"time": "20100707125120"
|
20
|
+
}
|
21
|
+
]
|
22
|
+
}
|
@@ -0,0 +1,69 @@
|
|
1
|
+
{
|
2
|
+
"bio": "Venture Communist",
|
3
|
+
"following": [
|
4
|
+
{
|
5
|
+
"address": "mike@mikepearce.net",
|
6
|
+
"nick": "mike"
|
7
|
+
},
|
8
|
+
{
|
9
|
+
"address": "rw@telekommunisten.org",
|
10
|
+
"nick": "rico"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"address": "ashull@telekommunisten.org",
|
14
|
+
"nick": "ashull"
|
15
|
+
}
|
16
|
+
],
|
17
|
+
"messages": [
|
18
|
+
{
|
19
|
+
"text": "Hey @mark, this is the first update sent with Thimbl-CLI",
|
20
|
+
"time": "20101105124412"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"text": "mike needs to stop sending messages from the future!",
|
24
|
+
"time": "20100707125120"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"text": "#thimbl is rolling!",
|
28
|
+
"time": "20100707122140"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"text": "I love thimbl! #thimbl",
|
32
|
+
"time": "20100622170914"
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"name": "Dmytri Kleiner",
|
36
|
+
"properties": {
|
37
|
+
"email": "dk@telekommunisten.net",
|
38
|
+
"mobile": "+491632866163",
|
39
|
+
"website": "http://www.telekommunisten.net"
|
40
|
+
},
|
41
|
+
"replies": {
|
42
|
+
"ashull@telekommunisten.org": [
|
43
|
+
{
|
44
|
+
"text": "@ashull, the feed is awesome, works great!",
|
45
|
+
"time": "20100707122315"
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"text": "@ashull, here is a reply",
|
49
|
+
"time": "20100705163145"
|
50
|
+
}
|
51
|
+
],
|
52
|
+
"mike@mikepearce.net": [
|
53
|
+
{
|
54
|
+
"text": "@mike, the baboon would win. No contest",
|
55
|
+
"time": "20100707122100"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"text": "@mike, do you like this json format?",
|
59
|
+
"time": "20100622170025"
|
60
|
+
}
|
61
|
+
],
|
62
|
+
"rw@telekommunisten.org": [
|
63
|
+
{
|
64
|
+
"text": "@rico, I'll call you later",
|
65
|
+
"time": "20100622162340"
|
66
|
+
}
|
67
|
+
]
|
68
|
+
}
|
69
|
+
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
2010-07-07 12:51:20 user@thimbl.net > messages_1 b
|
2
|
+
2010-07-07 12:51:26 mike@mikepearce.net > messages_2 b
|
3
|
+
2010-07-07 12:51:36 rw@telekommunisten.org > messages_3 b
|
4
|
+
2010-11-05 12:44:06 rw@telekommunisten.org > messages_3 a
|
5
|
+
2010-11-05 12:44:12 user@thimbl.net > messages_1 a
|
6
|
+
2010-11-05 12:44:16 mike@mikepearce.net > messages_2 a
|
data/test/test_helper.rb
CHANGED
data/test/thimbl_base_test.rb
CHANGED
@@ -25,161 +25,178 @@ class ThimblBaseTest < Test::Unit::TestCase
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_new_without_options
|
28
|
-
thimbl = Thimbl::Base.new
|
29
|
-
|
30
|
-
assert_equal
|
31
|
-
|
32
|
-
|
33
|
-
assert_equal
|
34
|
-
assert_equal
|
35
|
-
assert_equal
|
36
|
-
assert_equal
|
37
|
-
assert_equal
|
38
|
-
assert_equal( 'mobile', data['properties']['mobile'] )
|
39
|
-
assert_equal( 'website', data['properties']['website'] )
|
40
|
-
assert_equal( 'email', data['properties']['email'] )
|
28
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
29
|
+
|
30
|
+
assert_equal 'user@thimbl.net', thimbl.address
|
31
|
+
assert_equal nil , thimbl.properties.name
|
32
|
+
assert_equal [] , thimbl.messages
|
33
|
+
assert_equal nil , thimbl.properties.bio
|
34
|
+
assert_equal [] , thimbl.following
|
35
|
+
assert_equal nil , thimbl.properties.mobile
|
36
|
+
assert_equal nil , thimbl.properties.website
|
37
|
+
assert_equal nil , thimbl.properties.email
|
41
38
|
end
|
42
39
|
|
43
40
|
def test_new_with_options
|
44
41
|
thimbl =
|
45
42
|
Thimbl::Base.new(
|
46
|
-
'
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
43
|
+
'user@thimbl.net',
|
44
|
+
{
|
45
|
+
:bio => 'my bio',
|
46
|
+
:website => 'my website',
|
47
|
+
:mobile => 'my mobile',
|
48
|
+
:email => 'my email',
|
49
|
+
:name => 'my name'
|
50
|
+
}
|
52
51
|
)
|
53
52
|
|
54
|
-
assert_equal
|
55
|
-
|
56
|
-
|
57
|
-
assert_equal
|
58
|
-
assert_equal
|
59
|
-
assert_equal
|
60
|
-
assert_equal( 'my website', data['properties']['website'] )
|
61
|
-
assert_equal( 'my email', data['properties']['email'] )
|
53
|
+
assert_equal 'user@thimbl.net' , thimbl.address
|
54
|
+
assert_equal 'my name' , thimbl.properties.name
|
55
|
+
assert_equal 'my bio' , thimbl.properties.bio
|
56
|
+
assert_equal 'my mobile' , thimbl.properties.mobile
|
57
|
+
assert_equal 'my website' , thimbl.properties.website
|
58
|
+
assert_equal 'my email' , thimbl.properties.email
|
62
59
|
end
|
63
60
|
|
64
61
|
def test_post
|
65
|
-
thimbl = Thimbl::Base.new
|
62
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
66
63
|
|
67
64
|
Delorean.time_travel_to("2011-02-03 04:05:06") do
|
68
65
|
thimbl.post( "wadus wadus" )
|
69
66
|
end
|
70
67
|
|
71
|
-
message = thimbl.
|
72
|
-
assert_equal
|
73
|
-
assert_equal
|
68
|
+
message = thimbl.messages.last
|
69
|
+
assert_equal '20110203040506', message.time.strftime('%Y%m%d%H%M%S')
|
70
|
+
assert_equal 'wadus wadus', message.text
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_post!
|
74
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
75
|
+
thimbl.expects( :post ).with( 'wadus wadus' )
|
76
|
+
thimbl.expects( :push ).with( 'password' )
|
77
|
+
|
78
|
+
thimbl.post! 'wadus wadus', 'password'
|
74
79
|
end
|
75
80
|
|
76
81
|
def test_follow
|
77
|
-
thimbl = Thimbl::Base.new
|
82
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
78
83
|
|
79
84
|
thimbl.follow( 'nick', 'address' )
|
80
85
|
|
81
|
-
|
82
|
-
assert_equal( 'nick',
|
83
|
-
assert_equal( 'address',
|
86
|
+
followed = thimbl.following.last
|
87
|
+
assert_equal( 'nick', followed.nick )
|
88
|
+
assert_equal( 'address', followed.address )
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_follow!
|
92
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
93
|
+
thimbl.expects( :follow ).with( 'nick', 'new@thimbl.net' )
|
94
|
+
thimbl.expects( :push ).with( 'password' )
|
95
|
+
|
96
|
+
thimbl.follow! 'nick', 'new@thimbl.net', 'password'
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_unfollow
|
100
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
101
|
+
thimbl.data = JSON.load File.read "#{FIXTURES_PATH}/following.json"
|
102
|
+
|
103
|
+
assert_equal 2, thimbl.following.size
|
104
|
+
|
105
|
+
thimbl.unfollow 'rw@telekommunisten.org'
|
106
|
+
|
107
|
+
assert_equal 1, thimbl.following.size
|
108
|
+
end
|
109
|
+
|
110
|
+
def test_unfollow!
|
111
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
112
|
+
thimbl.expects( :unfollow ).with( 'new@thimbl.net' )
|
113
|
+
thimbl.expects( :push ).with( 'password' )
|
114
|
+
|
115
|
+
thimbl.unfollow! 'new@thimbl.net', 'password'
|
84
116
|
end
|
85
117
|
|
86
118
|
def test_fetch
|
87
|
-
finger_fixture = File.read "#{
|
88
|
-
|
89
|
-
|
90
|
-
Thimbl::Finger.
|
91
|
-
expects(:run).
|
92
|
-
with( 'wadus1@telekommunisten.org' ).
|
93
|
-
returns( finger_fixture ).
|
94
|
-
in_sequence( finger_sequence )
|
95
|
-
|
96
|
-
Thimbl::Finger.
|
97
|
-
expects(:run).
|
98
|
-
with( 'wadus2@telekommunisten.org' ).
|
99
|
-
returns( finger_fixture ).
|
100
|
-
in_sequence( finger_sequence )
|
101
|
-
|
102
|
-
Thimbl::Finger.
|
103
|
-
expects(:run).
|
104
|
-
with( 'me@thimbl.net' ).
|
105
|
-
returns( finger_fixture ).
|
106
|
-
in_sequence( finger_sequence )
|
119
|
+
finger_fixture = File.read "#{FIXTURES_PATH}/finger_dk_telekommunisten_org.txt"
|
120
|
+
Thimbl::Finger.expects(:run).with( 'me@thimbl.net' ).returns( finger_fixture )
|
107
121
|
|
108
|
-
thimbl = Thimbl::Base.new
|
109
|
-
thimbl.expects(:following).returns( [
|
110
|
-
{'nick' => 'wadus1', 'address' => 'wadus1@telekommunisten.org' },
|
111
|
-
{'nick' => 'wadus2', 'address' => 'wadus2@telekommunisten.org' },
|
112
|
-
] )
|
113
|
-
|
122
|
+
thimbl = Thimbl::Base.new 'me@thimbl.net'
|
114
123
|
thimbl.fetch
|
115
124
|
|
116
|
-
assert_equal( 21, thimbl.
|
117
|
-
assert_equal( 21, thimbl.data['plans']['wadus2@telekommunisten.org']['messages'].count )
|
125
|
+
assert_equal( 21, thimbl.messages.size )
|
118
126
|
end
|
119
127
|
|
120
128
|
def test_fetch_with_plan_with_two_break_lines
|
121
|
-
finger_fixture = File.read "#{
|
129
|
+
finger_fixture = File.read "#{FIXTURES_PATH}/finger_dk_telekommunisten_org_two_break_lines.txt"
|
122
130
|
Thimbl::Finger.expects(:run).with( 'me@thimbl.net' ).returns( finger_fixture )
|
123
131
|
|
124
|
-
thimbl = Thimbl::Base.new
|
132
|
+
thimbl = Thimbl::Base.new 'me@thimbl.net'
|
125
133
|
thimbl.fetch
|
126
134
|
|
127
|
-
assert_equal( 22, thimbl.
|
135
|
+
assert_equal( 22, thimbl.messages.size )
|
136
|
+
end
|
137
|
+
|
138
|
+
def test_fetch_with_not_plan
|
139
|
+
Thimbl::Finger.expects(:run).with( 'me@thimbl.net' ).returns( 'no plan' )
|
140
|
+
|
141
|
+
thimbl = Thimbl::Base.new 'me@thimbl.net'
|
142
|
+
|
143
|
+
assert_raise(Thimbl::NoPlanException) do
|
144
|
+
thimbl.fetch
|
145
|
+
end
|
128
146
|
end
|
129
147
|
|
130
148
|
def test_push
|
131
|
-
thimbl = Thimbl::Base.new
|
149
|
+
thimbl = Thimbl::Base.new 'user@domain.com'
|
132
150
|
Net::SCP.expects(:start).with( 'domain.com', 'user', :password => 'my password' )
|
133
151
|
thimbl.push 'my password'
|
134
152
|
end
|
135
153
|
|
136
154
|
def test_messages
|
137
|
-
thimbl = Thimbl::Base.new
|
138
|
-
thimbl.data = JSON.load File.read "#{
|
155
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
156
|
+
thimbl.data = JSON.load File.read "#{FIXTURES_PATH}/messages_1.json"
|
139
157
|
|
140
|
-
assert_equal(
|
158
|
+
assert_equal( 2, thimbl.messages.size )
|
141
159
|
|
142
160
|
first = thimbl.messages.first
|
143
161
|
last = thimbl.messages.last
|
144
162
|
|
145
|
-
assert_equal '
|
146
|
-
assert_equal '
|
147
|
-
assert_equal
|
163
|
+
assert_equal 'user@thimbl.net', first.address
|
164
|
+
assert_equal 'messages_1 b', first.text
|
165
|
+
assert_equal '20100707125120', first.time.strftime('%Y%m%d%H%M%S')
|
148
166
|
|
149
|
-
assert_equal '
|
150
|
-
assert_equal '
|
151
|
-
assert_equal
|
167
|
+
assert_equal 'user@thimbl.net', last.address
|
168
|
+
assert_equal 'messages_1 a', last.text
|
169
|
+
assert_equal '20101105124412', last.time.strftime('%Y%m%d%H%M%S')
|
152
170
|
end
|
153
171
|
|
154
|
-
def
|
155
|
-
thimbl = Thimbl::Base.new
|
156
|
-
thimbl.data = JSON.load File.read "#{
|
172
|
+
def test_messages_when_plan_has_not_messages
|
173
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
174
|
+
thimbl.data = JSON.load File.read "#{FIXTURES_PATH}/no_messages.json"
|
175
|
+
|
176
|
+
assert_equal [], thimbl.messages
|
177
|
+
end
|
178
|
+
|
179
|
+
def test_following
|
180
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
181
|
+
thimbl.data = JSON.load File.read "#{FIXTURES_PATH}/following.json"
|
157
182
|
|
158
|
-
|
159
|
-
end
|
160
|
-
|
161
|
-
def test_print
|
162
|
-
messages = [
|
163
|
-
{
|
164
|
-
"address" => "fguillen@telekommunisten.org",
|
165
|
-
"text" => "Here I am",
|
166
|
-
"time" => "20110131002202"
|
167
|
-
},
|
168
|
-
{
|
169
|
-
"address" => "fguillen@telekommunisten.org",
|
170
|
-
"text" => "testing :)",
|
171
|
-
"time" => "20110205150637"
|
172
|
-
}
|
173
|
-
]
|
183
|
+
assert_equal( 2, thimbl.following.size )
|
174
184
|
|
175
|
-
|
176
|
-
|
185
|
+
first = thimbl.following.first
|
186
|
+
last = thimbl.following.last
|
177
187
|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
assert_equal
|
182
|
-
assert_equal
|
188
|
+
assert_equal 'mike@mikepearce.net', first.address
|
189
|
+
assert_equal 'mike', first.nick
|
190
|
+
|
191
|
+
assert_equal 'rw@telekommunisten.org', last.address
|
192
|
+
assert_equal 'rico', last.nick
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_following_when_plan_has_not_following
|
196
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
197
|
+
thimbl.data = JSON.load File.read "#{FIXTURES_PATH}/no_following.json"
|
198
|
+
|
199
|
+
assert_equal [], thimbl.following
|
183
200
|
end
|
184
201
|
|
185
202
|
def test_parse_time
|
@@ -187,7 +204,7 @@ class ThimblBaseTest < Test::Unit::TestCase
|
|
187
204
|
end
|
188
205
|
|
189
206
|
def test_not_adding_a_following_if_already_there
|
190
|
-
thimbl = Thimbl::Base.new
|
207
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
191
208
|
thimbl.follow 'wadus', 'wadus@thimbl.net'
|
192
209
|
thimbl.follow 'wadus', 'wadus@thimbl.net'
|
193
210
|
|
data/test/thimbl_command_test.rb
CHANGED
@@ -7,6 +7,37 @@ class CommandTest < Test::Unit::TestCase
|
|
7
7
|
def teardown
|
8
8
|
end
|
9
9
|
|
10
|
+
def test_get_actual
|
11
|
+
temp_folder = Dir.tmpdir
|
12
|
+
|
13
|
+
File.open( "#{temp_folder}/actual", 'w' ) { |f| f.write 'user@thimbl.net' }
|
14
|
+
|
15
|
+
Thimbl::Command.stubs( :thimbl_folder ).returns( temp_folder )
|
16
|
+
Thimbl::Base.any_instance.expects( :fetch )
|
17
|
+
|
18
|
+
thimbl = Thimbl::Command.get_actual
|
19
|
+
|
20
|
+
assert_equal 'user@thimbl.net', thimbl.address
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_get_actual_with_not_existing_file
|
24
|
+
Thimbl::Command.stubs( :thimbl_folder ).returns( '/not_exists' )
|
25
|
+
|
26
|
+
assert_raise( ArgumentError ) do
|
27
|
+
Thimbl::Command.get_actual
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_save_actual
|
32
|
+
temp_folder = "#{Dir.tmpdir}/.thimbl"
|
33
|
+
FileUtils.mkdir_p temp_folder
|
34
|
+
Thimbl::Command.stubs( :thimbl_folder ).returns( temp_folder )
|
35
|
+
|
36
|
+
Thimbl::Command.save_actual 'user@thimbl.net'
|
37
|
+
|
38
|
+
assert_equal 'user@thimbl.net', File.read( "#{temp_folder}/actual" )
|
39
|
+
end
|
40
|
+
|
10
41
|
def test_setup_should_exit_if_parameters_not_correct
|
11
42
|
assert_raise( ArgumentError ) do
|
12
43
|
Thimbl::Command.setup
|
@@ -14,30 +45,25 @@ class CommandTest < Test::Unit::TestCase
|
|
14
45
|
end
|
15
46
|
|
16
47
|
def test_setup
|
17
|
-
|
18
|
-
Thimbl::Command.
|
48
|
+
temp_folder = "#{Dir.tmpdir}/.thimbl"
|
49
|
+
Thimbl::Command.expects( :thimbl_folder ).returns( temp_folder )
|
50
|
+
Thimbl::Command.expects( :save_actual ).with( 'me@thimbl.net' )
|
51
|
+
|
19
52
|
Thimbl::Command.setup( 'me@thimbl.net' )
|
20
53
|
|
21
|
-
|
22
|
-
assert_equal 'me@thimbl.net', cache_written['me']
|
23
|
-
|
24
|
-
temp_file.unlink
|
54
|
+
assert File.directory? temp_folder
|
25
55
|
end
|
26
56
|
|
27
57
|
def test_print
|
28
|
-
thimbl = Thimbl::Base.new
|
29
|
-
Thimbl::Command.expects( :
|
30
|
-
|
58
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
59
|
+
Thimbl::Command.expects( :get_actual ).returns( thimbl )
|
60
|
+
Thimbl::Base.any_instance.expects( :fetch_plan ).times( 3 ).returns(
|
61
|
+
File.read( "#{FIXTURES_PATH}/messages_1.json" ), # the user
|
62
|
+
File.read( "#{FIXTURES_PATH}/messages_2.json" ), # following 1
|
63
|
+
File.read( "#{FIXTURES_PATH}/messages_3.json" ) # following 2
|
64
|
+
)
|
31
65
|
|
32
|
-
Thimbl::Command.print
|
33
|
-
end
|
34
|
-
|
35
|
-
def test_fetch
|
36
|
-
thimbl = Thimbl::Base.new
|
37
|
-
Thimbl::Command.expects( :load ).returns( thimbl )
|
38
|
-
thimbl.expects( :fetch )
|
39
|
-
|
40
|
-
Thimbl::Command.fetch
|
66
|
+
assert_equal File.read( "#{FIXTURES_PATH}/print.txt" ), Thimbl::Command.print
|
41
67
|
end
|
42
68
|
|
43
69
|
def test_post_should_raise_error_if_wrong_parameters
|
@@ -46,22 +72,20 @@ class CommandTest < Test::Unit::TestCase
|
|
46
72
|
end
|
47
73
|
end
|
48
74
|
|
49
|
-
def
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
Thimbl::Command.post 'wadus'
|
75
|
+
def test_post_should_raise_error_if_not_password
|
76
|
+
assert_raise( ArgumentError ) do
|
77
|
+
Thimbl::Command.post "message"
|
78
|
+
end
|
55
79
|
end
|
56
80
|
|
57
|
-
def
|
58
|
-
thimbl = Thimbl::Base.new
|
59
|
-
Thimbl::Command.expects( :
|
60
|
-
thimbl.expects( :
|
81
|
+
def test_post
|
82
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
83
|
+
Thimbl::Command.expects( :get_actual ).returns( thimbl )
|
84
|
+
thimbl.expects( :post! ).with( 'wadus', 'password' )
|
61
85
|
|
62
|
-
Thimbl::Command.
|
86
|
+
Thimbl::Command.post 'wadus', 'password'
|
63
87
|
end
|
64
|
-
|
88
|
+
|
65
89
|
def test_follow_should_raise_error_if_wrong_parameters
|
66
90
|
assert_raise( ArgumentError ) do
|
67
91
|
Thimbl::Command.follow
|
@@ -69,32 +93,10 @@ class CommandTest < Test::Unit::TestCase
|
|
69
93
|
end
|
70
94
|
|
71
95
|
def test_follow
|
72
|
-
thimbl = Thimbl::Base.new
|
73
|
-
Thimbl::Command.expects( :
|
74
|
-
thimbl.expects( :follow ).with( 'wadus', 'wadus@domain.com' )
|
96
|
+
thimbl = Thimbl::Base.new 'user@thimbl.net'
|
97
|
+
Thimbl::Command.expects( :get_actual ).returns( thimbl )
|
98
|
+
thimbl.expects( :follow! ).with( 'wadus', 'wadus@domain.com', 'password' )
|
75
99
|
|
76
|
-
Thimbl::Command.follow 'wadus', 'wadus@domain.com'
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_load_should_raise_error_if_not_config_file
|
80
|
-
Thimbl::Command.stubs( :cache_path ).returns( '/tmp/not_exists_file' )
|
81
|
-
|
82
|
-
assert_raise( ArgumentError ) do
|
83
|
-
Thimbl::Command.load
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def test_load
|
88
|
-
temp_file = Tempfile.new 'cache.json'
|
89
|
-
temp_file.write "{ \"a\" : 1 }"
|
90
|
-
temp_file.close
|
91
|
-
|
92
|
-
Thimbl::Command.stubs( :cache_path ).returns( temp_file.path )
|
93
|
-
|
94
|
-
thimbl = Thimbl::Command.load
|
95
|
-
|
96
|
-
assert_equal 1, thimbl.data['a']
|
97
|
-
|
98
|
-
temp_file.unlink
|
100
|
+
Thimbl::Command.follow 'wadus', 'wadus@domain.com', 'password'
|
99
101
|
end
|
100
102
|
end
|