Amazon-DynamoDB

 view release on metacpan or  search on metacpan

t/05-batch-write.t  view on Meta::CPAN

#!perl
use strict;
use warnings;
use lib ('lib', './t');
use Test::Most;
use Test::Differences;
use TestSettings;
use Data::Dumper;

unless ( $ENV{'AMAZON_DYNAMODB_EXPENSIVE_TESTS'} ) {
    plan skip_all => 'Testing this module for real costs money.';
} else {
    plan tests => 2417;
}

bail_on_fail;


my $ddb = TestSettings::get_ddb();
my $table_name = TestSettings::random_table_name();


my $create = $ddb->create_table(TableName => $table_name,
                                ReadCapacityUnits => 2,
                                WriteCapacityUnits => 2,
                                AttributeDefinitions => {
                                    user_id => 'N',
                                },
                                KeySchema => ['user_id'],
                            );

ok($create->is_done, "Create request was completed");

my $wait = $ddb->wait_for_table_status(TableName => $table_name);

ok($wait->is_done, "Created table is ready");




    
ok($ddb->batch_write_item(
    RequestItems => {
        $table_name => [
            {
                PutRequest => {
                    Item =>  {
                        user_id => 3000,
                        name => "Test batch write",
                    }
                }
            }
        ]
    })->is_done, "Batch write item successfully completed");

my $returned_item;
ok($ddb->get_item(sub {
                      my $i = shift;
                      $returned_item = $i;
                  },
                  ConsistentRead => 'true',
                  TableName => $table_name,
                  Key => {
                      user_id => 3000
                  },
              )->is_done, "get item completed successfully");

ok(defined($returned_item), "Returned item is defined");



( run in 1.070 second using v1.01-cache-2.11-cpan-39bf76dae61 )