spec/aws/simpledb_spec.rb in stackster-0.4.1 vs spec/aws/simpledb_spec.rb in stackster-0.4.2
- old
+ new
@@ -4,12 +4,19 @@
before do
@config_stub = stub 'Config', :logger => @logger_stub, :access_key => 'key', :secret_key => 'XXX', :region => 'us-west1'
@response_stub = stub 'Excon::Response', :body => {
'RequestId' => 'rid',
'Domains' => ['domain1', 'domain2'],
- 'Items' => { 'item1' => { 'key' => ['value'] } }
+ 'Items' => { 'item1' => { 'key' => ['value'] } },
+ 'NextToken' => nil
}
+ @multi_response_stub = stub 'Excon::Response', :body => {
+ 'RequestId' => 'rid',
+ 'Domains' => ['domain1', 'domain2'],
+ 'Items' => { 'item1-2' => { 'key' => ['value'] } },
+ 'NextToken' => 'Chunk2'
+ }
@db_mock = mock 'SimpleDB'
Fog::AWS::SimpleDB.stub(:new).and_return(@db_mock)
@db_mock.stub(:list_domains).and_return(@response_stub)
@@ -54,12 +61,19 @@
end
end
describe 'select' do
it 'should return query items' do
- @db_mock.should_receive(:select).with('item1', { "ConsistentRead" => true } ).and_return(@response_stub)
+ @db_mock.should_receive(:select).with('item1', { "ConsistentRead" => true, "NextToken" => nil } ).and_return(@response_stub)
@db.select('item1').should == { 'item1' => { 'key' => ['value'] } }
+ end
+
+ it 'should return multiple chunks of query items' do
+ @db_mock.should_receive(:select).with('item1', { "ConsistentRead" => true, "NextToken" => nil } ).and_return(@multi_response_stub)
+ @db_mock.should_receive(:select).with('item1', { "ConsistentRead" => true, "NextToken" => 'Chunk2' } ).and_return(@response_stub)
+
+ @db.select('item1').should == { 'item1' => { 'key' => ['value'] }, 'item1-2' => { 'key' => ['value'] } }
end
end
describe 'delete' do
it 'should delete the attributes identified by domain and key' do