raws 0.0.10 → 0.0.11
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/LICENSE +1 -1
- data/README.rdoc +50 -29
- data/Rakefile +5 -5
- data/VERSION +1 -1
- data/lib/raws/http.rb +1 -0
- data/lib/raws/s3.rb +84 -52
- data/lib/raws/s3/acl.rb +144 -0
- data/lib/raws/s3/adapter.rb +44 -20
- data/lib/raws/s3/metadata.rb +9 -3
- data/lib/raws/s3/model.rb +76 -50
- data/lib/raws/s3/owner.rb +8 -0
- data/lib/raws/sdb.rb +61 -50
- data/lib/raws/sdb/adapter.rb +2 -4
- data/lib/raws/sdb/model.rb +53 -44
- data/lib/raws/sdb/select.rb +1 -1
- data/lib/raws/sqs.rb +155 -89
- data/lib/raws/sqs/adapter.rb +28 -27
- data/lib/raws/sqs/message.rb +39 -0
- data/lib/raws/sqs/model.rb +33 -0
- data/lib/raws/xml.rb +0 -2
- data/lib/raws/xml/nokogiri.rb +4 -1
- data/raws.gemspec +24 -19
- data/spec/raws/s3/acl_spec.rb +30 -0
- data/spec/raws/s3/model_spec.rb +2 -3
- data/spec/raws/s3_spec.rb +34 -36
- data/spec/raws/sdb/model_spec.rb +104 -9
- data/spec/raws/sdb_spec.rb +43 -52
- data/spec/raws/sqs_spec.rb +40 -35
- data/spec/raws_spec.rb +2 -0
- data/spec/spec_config.rb.example +8 -13
- metadata +13 -8
- data/spec/spec.opts +0 -1
data/spec/raws/sdb/model_spec.rb
CHANGED
@@ -1,43 +1,138 @@
|
|
1
|
-
require '
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
2
|
|
3
3
|
class SDBModel
|
4
4
|
include RAWS::SDB::Model
|
5
|
-
self.domain_name =
|
5
|
+
self.domain_name = RAWS_SDB_DOMAINS.first
|
6
6
|
end
|
7
7
|
|
8
8
|
describe RAWS::SDB::Model do
|
9
9
|
describe 'class' do
|
10
|
+
before do
|
11
|
+
SDBModel.delete('1')
|
12
|
+
SDBModel.delete('2')
|
13
|
+
SDBModel.delete('3')
|
14
|
+
|
15
|
+
SDBModel.put('1', 'a' => '10')
|
16
|
+
SDBModel.put('2', 'b' => '10')
|
17
|
+
SDBModel.put('3', 'c' => '10')
|
18
|
+
end
|
19
|
+
|
20
|
+
after do
|
21
|
+
SDBModel.delete('1')
|
22
|
+
SDBModel.delete('2')
|
23
|
+
SDBModel.delete('3')
|
24
|
+
end
|
25
|
+
|
10
26
|
it 'methods' do
|
11
27
|
%w'
|
12
28
|
create_domain
|
13
29
|
delete_domain
|
30
|
+
domain_metadata
|
31
|
+
metadata
|
32
|
+
get_attributes
|
33
|
+
get
|
34
|
+
put_attributes
|
35
|
+
put
|
36
|
+
batch_put_attributes
|
37
|
+
batch_put
|
38
|
+
delete_attributes
|
39
|
+
delete
|
40
|
+
|
41
|
+
domain_name
|
42
|
+
|
43
|
+
domain
|
14
44
|
select
|
15
45
|
all
|
16
|
-
|
46
|
+
find
|
47
|
+
create_id
|
17
48
|
'.each do |val|
|
18
49
|
SDBModel.should respond_to val.to_sym
|
19
50
|
end
|
20
51
|
end
|
21
52
|
|
22
53
|
it 'domain_name' do
|
23
|
-
SDBModel.domain_name.should ==
|
54
|
+
SDBModel.domain_name.should == RAWS_SDB_DOMAINS.first
|
24
55
|
end
|
25
|
-
end
|
26
56
|
|
27
|
-
|
28
|
-
|
29
|
-
|
57
|
+
it 'get, put & delete' do
|
58
|
+
SDBModel.get('1').should == {'a' => '10'}
|
59
|
+
SDBModel.get('2').should == {'b' => '10'}
|
60
|
+
SDBModel.get('3').should == {'c' => '10'}
|
61
|
+
|
62
|
+
SDBModel.put('1', 'a' => '20', 'b' => '10')
|
63
|
+
SDBModel.get('1').should == {'a' => ['10', '20'], 'b' => '10'}
|
64
|
+
|
65
|
+
SDBModel.delete('1')
|
66
|
+
SDBModel.delete('2')
|
67
|
+
SDBModel.delete('3')
|
68
|
+
|
69
|
+
SDBModel.get('1').should be_nil
|
70
|
+
SDBModel.get('2').should be_nil
|
71
|
+
SDBModel.get('3').should be_nil
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'batch_put' do
|
75
|
+
SDBModel.batch_put(
|
76
|
+
'1' => {'a' => '20', 'b' => '10'},
|
77
|
+
'2' => {'b' => '20'},
|
78
|
+
'3' => {'c' => '20'}
|
79
|
+
)
|
80
|
+
|
81
|
+
SDBModel.get('1').should == {'a' => ['10', '20'], 'b' => '10'}
|
82
|
+
SDBModel.get('2').should == {'b' => ['10', '20']}
|
83
|
+
SDBModel.get('3').should == {'c' => ['10', '20']}
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'all' do
|
87
|
+
SDBModel.all.each do |model|
|
88
|
+
model.should be_instance_of SDBModel
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'find' do
|
93
|
+
model = SDBModel.find('1')
|
94
|
+
model.should be_instance_of SDBModel
|
95
|
+
|
96
|
+
model = SDBModel.find('0')
|
97
|
+
model.should be_nil
|
30
98
|
end
|
99
|
+
end
|
31
100
|
|
101
|
+
describe 'object' do
|
32
102
|
it 'methods' do
|
103
|
+
model = SDBModel.new
|
33
104
|
%w'
|
105
|
+
create_id
|
106
|
+
exists?
|
34
107
|
[]
|
35
108
|
[]=
|
36
109
|
delete
|
37
110
|
save
|
38
111
|
'.each do |val|
|
39
|
-
|
112
|
+
model.should respond_to val.to_sym
|
40
113
|
end
|
41
114
|
end
|
115
|
+
|
116
|
+
it 'operations' do
|
117
|
+
model = SDBModel.find('0')
|
118
|
+
model.should be_nil
|
119
|
+
|
120
|
+
model = SDBModel.new
|
121
|
+
model['a'] = '1'
|
122
|
+
model['b'] = '2'
|
123
|
+
model['c'] = '3'
|
124
|
+
model.save
|
125
|
+
id = model.id
|
126
|
+
|
127
|
+
model = SDBModel.find(id)
|
128
|
+
model['a'].should == '1'
|
129
|
+
model['b'].should == '2'
|
130
|
+
model['c'].should == '3'
|
131
|
+
|
132
|
+
model.delete
|
133
|
+
|
134
|
+
model = SDBModel.find(id)
|
135
|
+
model.should be_nil
|
136
|
+
end
|
42
137
|
end
|
43
138
|
end
|
data/spec/raws/sdb_spec.rb
CHANGED
@@ -2,11 +2,13 @@ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
|
2
2
|
|
3
3
|
describe RAWS::SDB do
|
4
4
|
before :all do
|
5
|
+
=begin
|
5
6
|
RAWS_SDB_DOMAINS.each do |name|
|
6
7
|
RAWS::SDB.create_domain(name)
|
7
8
|
end
|
8
9
|
puts '[sleep 60 secs]'
|
9
10
|
sleep 60
|
11
|
+
=end
|
10
12
|
@domain_name = RAWS_SDB_DOMAINS.first
|
11
13
|
RAWS::SDB[@domain_name].put(
|
12
14
|
'100', 'a' => 10
|
@@ -24,6 +26,7 @@ describe RAWS::SDB do
|
|
24
26
|
)
|
25
27
|
end
|
26
28
|
|
29
|
+
=begin
|
27
30
|
after :all do
|
28
31
|
RAWS_SDB_DOMAINS.each do |name|
|
29
32
|
RAWS::SDB.delete_domain(name)
|
@@ -31,22 +34,28 @@ describe RAWS::SDB do
|
|
31
34
|
puts '[sleep 60 secs]'
|
32
35
|
sleep 60
|
33
36
|
end
|
37
|
+
=end
|
34
38
|
|
35
39
|
describe 'class' do
|
36
40
|
it 'methods' do
|
37
41
|
%w'
|
42
|
+
http
|
38
43
|
create_domain
|
39
44
|
delete_domain
|
40
|
-
|
41
|
-
|
42
|
-
domains
|
45
|
+
domain_metadata
|
46
|
+
list_domains
|
43
47
|
each
|
48
|
+
domains
|
44
49
|
[]
|
45
50
|
select
|
46
51
|
all
|
52
|
+
get_attributes
|
47
53
|
get
|
54
|
+
put_attributes
|
48
55
|
put
|
56
|
+
batch_put_attributes
|
49
57
|
batch_put
|
58
|
+
delete_attributes
|
50
59
|
delete
|
51
60
|
'.each do |val|
|
52
61
|
RAWS::SDB.should respond_to val.to_sym
|
@@ -59,8 +68,8 @@ describe RAWS::SDB do
|
|
59
68
|
it 'delete_domain' do
|
60
69
|
end
|
61
70
|
|
62
|
-
it '
|
63
|
-
data = RAWS::SDB.
|
71
|
+
it 'domain_metadata' do
|
72
|
+
data = RAWS::SDB.domain_metadata(@domain_name)
|
64
73
|
data.should have_key('Timestamp')
|
65
74
|
data.should have_key('ItemCount')
|
66
75
|
data.should have_key('AttributeValueCount')
|
@@ -70,25 +79,13 @@ describe RAWS::SDB do
|
|
70
79
|
data.should have_key('AttributeNamesSizeBytes')
|
71
80
|
end
|
72
81
|
|
73
|
-
it '
|
74
|
-
data = RAWS::SDB.
|
75
|
-
data.should have_key('
|
76
|
-
|
77
|
-
data = RAWS::SDB.list(nil, 1)
|
78
|
-
data['DomainName'].should be_kind_of(Array)
|
79
|
-
data['DomainName'].size.should == 1
|
80
|
-
data['DomainName'].first.should be_kind_of(String)
|
81
|
-
data.should have_key('NextToken')
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'domains' do
|
85
|
-
domains = RAWS::SDB.domains
|
86
|
-
domains.should have_key('Domains')
|
87
|
-
|
88
|
-
data = RAWS::SDB.domains(nil, 1)
|
82
|
+
it 'list_domains' do
|
83
|
+
data = RAWS::SDB.list_domains
|
84
|
+
data.should have_key('Domains')
|
89
85
|
data['Domains'].should be_kind_of(Array)
|
86
|
+
|
87
|
+
data = RAWS::SDB.list_domains('MaxNumberOfDomains' => 1)
|
90
88
|
data['Domains'].size.should == 1
|
91
|
-
data['Domains'].first.should be_kind_of(RAWS::SDB)
|
92
89
|
data.should have_key('NextToken')
|
93
90
|
end
|
94
91
|
|
@@ -114,19 +111,7 @@ describe RAWS::SDB do
|
|
114
111
|
end
|
115
112
|
end
|
116
113
|
|
117
|
-
it '
|
118
|
-
RAWS::SDB[@domain_name].all do |val|
|
119
|
-
val.first.should be_kind_of(String)
|
120
|
-
val.last.should be_kind_of(Hash)
|
121
|
-
end
|
122
|
-
|
123
|
-
RAWS::SDB[@domain_name].all.filter('b = ?', 20) do |val|
|
124
|
-
val.first.should be_kind_of(String)
|
125
|
-
val.last.should be_kind_of(Hash)
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
it 'get' do
|
114
|
+
it 'get_attributes' do
|
130
115
|
RAWS::SDB[@domain_name].get('000').should be_nil
|
131
116
|
|
132
117
|
data = RAWS::SDB[@domain_name].get('100')
|
@@ -139,64 +124,64 @@ describe RAWS::SDB do
|
|
139
124
|
data.should == {'a' => ['10', '20', '30'], 'b' => '20', 'c' => '30'}
|
140
125
|
end
|
141
126
|
|
142
|
-
it '
|
143
|
-
RAWS::SDB[@domain_name].
|
144
|
-
RAWS::SDB[@domain_name].
|
127
|
+
it 'put_attributes, get_attributes & delete_attributes' do
|
128
|
+
RAWS::SDB[@domain_name].put_attributes('10', 'a' => [1])
|
129
|
+
RAWS::SDB[@domain_name].put_attributes('10', 'a' => 2)
|
145
130
|
|
146
131
|
5.times do
|
147
|
-
data = RAWS::SDB[@domain_name].
|
132
|
+
data = RAWS::SDB[@domain_name].get_attributes('10')
|
148
133
|
if data == {'a' => ['1', '2']}
|
149
134
|
data.should == {'a' => ['1', '2']}
|
150
135
|
break;
|
151
136
|
end
|
152
137
|
end
|
153
138
|
|
154
|
-
RAWS::SDB[@domain_name].
|
139
|
+
RAWS::SDB[@domain_name].delete_attributes('10')
|
155
140
|
|
156
141
|
5.times do
|
157
|
-
data = RAWS::SDB[@domain_name].
|
142
|
+
data = RAWS::SDB[@domain_name].get_attributes('10')
|
158
143
|
unless data
|
159
144
|
data.should be_nil
|
160
145
|
end
|
161
146
|
end
|
162
147
|
end
|
163
148
|
|
164
|
-
it '
|
165
|
-
RAWS::SDB[@domain_name].
|
149
|
+
it 'batch_put_attributes & delete_attributes' do
|
150
|
+
RAWS::SDB[@domain_name].batch_put_attributes(
|
166
151
|
"1" => {"a"=>["10"]},
|
167
152
|
"2" => {"a"=>["20"]},
|
168
153
|
"3" => {"a"=>["30"]}
|
169
154
|
)
|
170
155
|
|
171
156
|
5.times do
|
172
|
-
data = RAWS::SDB[@domain_name].
|
157
|
+
data = RAWS::SDB[@domain_name].get_attributes('1')
|
173
158
|
if data
|
174
159
|
data.should == {'a' => '10'}
|
175
|
-
RAWS::SDB[@domain_name].
|
160
|
+
RAWS::SDB[@domain_name].delete_attributes('1')
|
176
161
|
break
|
177
162
|
end
|
178
163
|
end
|
179
164
|
|
180
165
|
5.times do
|
181
|
-
data = RAWS::SDB[@domain_name].
|
166
|
+
data = RAWS::SDB[@domain_name].get_attributes('2')
|
182
167
|
if data
|
183
168
|
data.should == {'a' => '20'}
|
184
|
-
RAWS::SDB[@domain_name].
|
169
|
+
RAWS::SDB[@domain_name].delete_attributes('2')
|
185
170
|
break
|
186
171
|
end
|
187
172
|
end
|
188
173
|
|
189
174
|
5.times do
|
190
|
-
data = RAWS::SDB[@domain_name].
|
175
|
+
data = RAWS::SDB[@domain_name].get_attributes('3')
|
191
176
|
if data
|
192
177
|
data.should == {'a' => '30'}
|
193
|
-
RAWS::SDB[@domain_name].
|
178
|
+
RAWS::SDB[@domain_name].delete_attributes('3')
|
194
179
|
break
|
195
180
|
end
|
196
181
|
end
|
197
182
|
|
198
183
|
5.times do
|
199
|
-
data = RAWS::SDB[@domain_name].
|
184
|
+
data = RAWS::SDB[@domain_name].get_attributes('1')
|
200
185
|
unless data
|
201
186
|
data.should be_nil
|
202
187
|
break
|
@@ -204,7 +189,7 @@ describe RAWS::SDB do
|
|
204
189
|
end
|
205
190
|
|
206
191
|
5.times do
|
207
|
-
data = RAWS::SDB[@domain_name].
|
192
|
+
data = RAWS::SDB[@domain_name].get_attributes('2')
|
208
193
|
unless data
|
209
194
|
data.should be_nil
|
210
195
|
break
|
@@ -212,7 +197,7 @@ describe RAWS::SDB do
|
|
212
197
|
end
|
213
198
|
|
214
199
|
5.times do
|
215
|
-
data = RAWS::SDB[@domain_name].
|
200
|
+
data = RAWS::SDB[@domain_name].get_attributes('3')
|
216
201
|
unless data
|
217
202
|
data.should be_nil
|
218
203
|
break
|
@@ -231,13 +216,19 @@ describe RAWS::SDB do
|
|
231
216
|
%w'
|
232
217
|
create_domain
|
233
218
|
delete_domain
|
219
|
+
domain_metadata
|
234
220
|
metadata
|
235
221
|
select
|
236
222
|
all
|
223
|
+
get_attributes
|
237
224
|
get
|
225
|
+
put_attributes
|
238
226
|
put
|
227
|
+
batch_put_attributes
|
239
228
|
batch_put
|
229
|
+
delete_attributes
|
240
230
|
delete
|
231
|
+
<=>
|
241
232
|
'.each do |val|
|
242
233
|
@sdb.should respond_to val.to_sym
|
243
234
|
end
|
data/spec/raws/sqs_spec.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
require '
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
2
|
|
3
3
|
describe RAWS::SQS do
|
4
|
+
=begin
|
4
5
|
before :all do
|
5
6
|
begin
|
6
7
|
RAWS::SQS.create_queue(RAWS_SQS_QUEUE)
|
@@ -20,38 +21,36 @@ describe RAWS::SQS do
|
|
20
21
|
d e
|
21
22
|
end
|
22
23
|
end
|
24
|
+
=end
|
23
25
|
|
24
26
|
describe 'class' do
|
25
27
|
it 'methods' do
|
26
28
|
%w'
|
29
|
+
http
|
27
30
|
queue_url
|
28
31
|
create_queue
|
29
32
|
delete_queue
|
30
|
-
|
31
|
-
queues
|
33
|
+
list_queues
|
32
34
|
each
|
35
|
+
queues
|
33
36
|
[]
|
34
|
-
|
35
|
-
|
37
|
+
get_queue_attributes
|
38
|
+
set_queue_attributes
|
39
|
+
send_message
|
36
40
|
send
|
41
|
+
receive_message
|
37
42
|
receive
|
43
|
+
change_message_visibility
|
44
|
+
delete_message
|
45
|
+
add_permission
|
46
|
+
remove_permission
|
38
47
|
'.each do |val|
|
39
48
|
RAWS::SQS.should respond_to val.to_sym
|
40
49
|
end
|
41
50
|
end
|
42
51
|
|
43
|
-
it '
|
44
|
-
RAWS::SQS.
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'queues' do
|
48
|
-
RAWS::SQS.queues.each do |queue|
|
49
|
-
queue.should be_kind_of RAWS::SQS
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'each' do
|
54
|
-
RAWS::SQS.each do |queue|
|
52
|
+
it 'list_queues' do
|
53
|
+
RAWS::SQS.list_queues.each do |queue|
|
55
54
|
queue.should be_kind_of RAWS::SQS
|
56
55
|
end
|
57
56
|
end
|
@@ -68,21 +67,27 @@ describe RAWS::SQS do
|
|
68
67
|
|
69
68
|
it 'methods' do
|
70
69
|
%w'
|
70
|
+
queue_url
|
71
|
+
queue_name
|
71
72
|
delete_queue
|
72
|
-
|
73
|
-
|
73
|
+
get_queue_attributes
|
74
|
+
set_queue_attributes
|
75
|
+
send_message
|
74
76
|
send
|
77
|
+
receive_message
|
75
78
|
receive
|
79
|
+
change_message_visibility
|
76
80
|
delete_message
|
77
81
|
add_permission
|
78
82
|
remove_permission
|
83
|
+
<=>
|
79
84
|
'.each do |val|
|
80
85
|
@queue.should respond_to val.to_sym
|
81
86
|
end
|
82
87
|
end
|
83
88
|
|
84
|
-
it '
|
85
|
-
attrs = @queue.
|
89
|
+
it 'get_queue_attributes' do
|
90
|
+
attrs = @queue.get_queue_attributes
|
86
91
|
%w'
|
87
92
|
ApproximateNumberOfMessages
|
88
93
|
LastModifiedTimestamp
|
@@ -92,23 +97,23 @@ describe RAWS::SQS do
|
|
92
97
|
attrs.should have_key val
|
93
98
|
end
|
94
99
|
|
95
|
-
attrs = @queue.
|
100
|
+
attrs = @queue.get_queue_attributes 'VisibilityTimeout'
|
96
101
|
attrs.should have_key 'VisibilityTimeout'
|
97
102
|
end
|
98
103
|
|
99
|
-
it '
|
100
|
-
@queue.
|
104
|
+
it 'set_queue_attributes' do
|
105
|
+
@queue.set_queue_attributes 'VisibilityTimeout' => 60
|
101
106
|
5.times do
|
102
|
-
attrs = @queue.
|
107
|
+
attrs = @queue.get_queue_attributes 'VisibilityTimeout'
|
103
108
|
if attrs['VisibilityTimeout'] == 60
|
104
109
|
attrs['VisibilityTimeout'].should == 60
|
105
110
|
break
|
106
111
|
end
|
107
112
|
end
|
108
113
|
|
109
|
-
@queue.
|
114
|
+
@queue.set_queue_attributes 'VisibilityTimeout' => 30
|
110
115
|
5.times do
|
111
|
-
attrs = @queue.
|
116
|
+
attrs = @queue.get_queue_attributes 'VisibilityTimeout'
|
112
117
|
if attrs['VisibilityTimeout'] == 30
|
113
118
|
attrs['VisibilityTimeout'].should == 30
|
114
119
|
break
|
@@ -116,14 +121,14 @@ describe RAWS::SQS do
|
|
116
121
|
end
|
117
122
|
end
|
118
123
|
|
119
|
-
it '
|
124
|
+
it 'send_message, receive_message & delete_message' do
|
120
125
|
5.times do |i|
|
121
|
-
@queue.
|
126
|
+
@queue.send_message(i)
|
122
127
|
end
|
123
128
|
|
124
129
|
i = 1
|
125
130
|
while i <= 5
|
126
|
-
@queue.
|
131
|
+
@queue.receive_message.each do |msg|
|
127
132
|
msg.should be_kind_of RAWS::SQS::Message
|
128
133
|
msg.delete
|
129
134
|
i += 1
|
@@ -133,17 +138,17 @@ describe RAWS::SQS do
|
|
133
138
|
|
134
139
|
it 'change_message_visibility' do
|
135
140
|
5.times do |i|
|
136
|
-
p i
|
137
|
-
@queue.
|
141
|
+
#p i
|
142
|
+
@queue.receive_message.each do |msg|
|
138
143
|
msg.delete
|
139
144
|
end
|
140
145
|
sleep 5
|
141
146
|
end
|
142
|
-
@queue.
|
147
|
+
@queue.send_message('change message visibility')
|
143
148
|
|
144
149
|
msg_id, time = nil, nil
|
145
150
|
loop do
|
146
|
-
if msg = @queue.
|
151
|
+
if msg = @queue.receive_message.first
|
147
152
|
#p Time.now
|
148
153
|
#p msg
|
149
154
|
unless time
|
@@ -156,7 +161,7 @@ describe RAWS::SQS do
|
|
156
161
|
break
|
157
162
|
end
|
158
163
|
end
|
159
|
-
msg.
|
164
|
+
msg.change_visibility(10)
|
160
165
|
end
|
161
166
|
#p 'sleep'
|
162
167
|
sleep 5
|