Rob,
Sorry for the delay on this. Here is the docstring unit test
comparing your
suggested test cases between SimpleDB and M/DB, using boto. Let me
know what else I can do to help.
Darren
------------------------------------------------------------------------
"""
>>> sdb_single_value_replace_list()
{u'key3': [u'one', u'three', u'two'], u'key2': u'value2', u'key1':
u'value1', u'id': u'item1'}
>>> mdb_single_value_replace_list()
{u'key3': [u'one', u'three', u'two'], u'key2': u'value2', u'key1':
u'value1', u'id': u'item1'}
>>> sdb_no_value_replace_list()
{u'key3': [u'one', u'three', u'two'], u'key2': u'value2', u'key1':
u'value1', u'id': u'item1'}
>>> mdb_no_value_replace_list()
{u'key3': [u'one', u'three', u'two'], u'key2': u'value2', u'key1':
u'value1', u'id': u'item1'}
>>> sdb_list_value_replace_list()
{u'key3': [u'one', u'three', u'two'], u'key2': u'value2', u'key1':
u'value1', u'id': u'item1'}
>>> mdb_list_value_replace_list()
{u'key3': [u'one', u'three', u'two'], u'key2': u'value2', u'key1':
u'value1', u'id': u'item1'}
>>> sdb_list_value_replace_value()
{u'key3': u'value3', u'key2': u'value2', u'key1': u'value1', u'id':
u'item1'}
>>> mdb_list_value_replace_value()
{u'key3': u'value3', u'key2': u'value2', u'key1': u'value1', u'id':
u'item1'}
"""
import boto
from boto.sdb import *
from boto.sdb.regioninfo import *
from boto.sdb.connection import *
from uuid import *
import time
def mdb_single_value_replace_list():
r = RegionInfo(name='mdb',endpoint='192.168.56.103')
conn =
SDBConnection('adminkey','adminsecret',region=r,is_secure=False,path='/
mdb/request.mgwsi')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['key3'] = 'value3'
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = ['one', 'two', 'three']
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def sdb_single_value_replace_list():
conn = SDBConnection('YOURKEY','YOURSECRET')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['key3'] = 'value3'
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = ['one', 'two', 'three']
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def mdb_no_value_replace_list():
r = RegionInfo(name='mdb',endpoint='192.168.56.103')
conn =
SDBConnection('adminkey','adminsecret',region=r,is_secure=False,path='/
mdb/request.mgwsi')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = ['one', 'two', 'three']
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def sdb_no_value_replace_list():
conn = SDBConnection('YOURKEY','YOURSECRET')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = ['one', 'two', 'three']
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def mdb_list_value_replace_list():
r = RegionInfo(name='mdb',endpoint='192.168.56.103')
conn =
SDBConnection('adminkey','adminsecret',region=r,is_secure=False,path='/
mdb/request.mgwsi')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['key3'] = ['one1', 'two1', 'three1']
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = ['one', 'two', 'three']
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def sdb_list_value_replace_list():
conn = SDBConnection('YOURKEY','YOURSECRET')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['key3'] = ['one1', 'two1', 'three1']
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = ['one', 'two', 'three']
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def mdb_list_value_replace_value():
r = RegionInfo(name='mdb',endpoint='192.168.56.103')
conn =
SDBConnection('adminkey','adminsecret',region=r,is_secure=False,path='/
mdb/request.mgwsi')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['key3'] = ['one1', 'two1', 'three1']
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = 'value3'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def sdb_list_value_replace_value():
conn = SDBConnection('YOURKEY','YOURSECRET')
domain = conn.create_domain('domain')
try:
domain.delete_attributes('item1')
time.sleep(3)
except:
pass
item = {}
item['key1'] = 'value1'
item['key2'] = 'value2'
item['key3'] = ['one1', 'two1', 'three1']
item['id'] = 'item1'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
item['key3'] = 'value3'
domain.put_attributes('item1',item,replace=True)
time.sleep(3)
retrievedItem = domain.get_item('item1')
print retrievedItem
def _test():
import doctest, mdb
return doctest.testmod(mdb)
if __name__ == "__main__":
_test()
> ...
>
> read more »