o ckF[3@sddlZddlZddlmZddlmZddlmZmZmZddlm Z m Z m Z ddlm Z m Z mZddlmZeedZeejiaGd d d eZGd d d eZGd ddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZ GdddeZ!dd Z"d!d"Z#d#d$Z$d6d%d&Z%d'd(Z&d)d*Z'd+d,Z(d-d.Z)d/d0Z*d1d2Z+d3d4Z,e-d5kre,dSdS)7N)datetime)Model)StringPropertyIntegerPropertyBooleanProperty)DateTimeProperty FloatPropertyReferenceProperty)PasswordProperty ListProperty MapProperty)SDBPersistenceErrortest_dbc@s$eZdZeZeZeZe Z dS) TestBasicN) __name__ __module__ __qualname__rnamersizerfoordaterr5/usr/lib/python3/dist-packages/boto/sdb/db/test_db.pyrs  rc@eZdZeZeZdS) TestFloatN)rrrrrrvaluerrrrr rc@seZdZedddZdS) TestRequiredTr)requireddefaultN)rrrrreqrrrrr"rc@seZdZeeddZdS) TestReferencerefs)reference_classcollection_nameN)rrrr rrefrrrrr"&r!r"c@eZdZeZdS) TestSubClassN)rrrranswerrrrrr(*s r(c@r') TestPasswordN)rrrr passwordrrrrr*.s r*c@eZdZeZeeZdS)TestListN)rrrrrr intnumsrrrrr-1 r-c@r)TestMapN)rrrrrr maprrrrr16rr1c@r,)TestListReferenceN)rrrrrr rbasicsrrrrr3;r0r3c@s eZdZeddZeddZdS) TestAutoNowT) auto_now_add)auto_nowN)rrrr create_date modified_daterrrrr5@s r5c@seZdZeddZdS) TestUniqueT)uniqueN)rrrrrrrrrr:Esr:cCst}d|_d|_d|_t|_td| |t d<t dtdt |j}|t d<|j|jks:Jt |jg}t|d ksIJ|d j|jksSJ|j|jks[J|j|jkscJ|j|jkskJ|S) NsimpleiT saving object test_basic_tnow try retrieving it test_basic_ttr)rrrrrnowrlogdebugput_objectstimesleep get_by_ididlen)tttlrrr test_basicHs(     rPcCst}d|_d|_td||td<tdtdt |j }|td<|j |j ks2J|j|jks:J|j|jksBJ|S)Nz float objectgfffffX@r= test_float_tr?r@ test_float_tt) rrrrDrEsaverGrHrIrJrKrMrNrrr test_float`s    rUcCst}|td<||S)Ntest_required_t)rrGrFrMrrr test_requiredqsrXcCsh|st}t}||_|tdt|j}|td<|jj|jks'J|j D]}t |q*dS)N test_reference_tt) rPr"r&rFrHrIrJrKrGr#rDrE)rMrNorrrtest_referencexs    r\cCs&t}|td<d|_d|_|dS)Ntest_subclass_tz a subclassi)r(rGrrrSrWrrr test_subclasss  r^cCs^t}|td<d|_|tdt|j}|td<|jdks$Jt|jdks-JdS)Ntest_password_trr?test_password_tt) r*rGr+rSrHrIrJrKstrrTrrr test_passwords  rbcCsht}|td<d|_gd|_|t|j}|td<|j|jks%J|jD] }t|ts1Jq(dS)N test_list_tza list of ints)rBr? test_list_tt) r-rGrr/rFrJrK isinstancer.)rMrNnrrr test_lists   rjcCsjt}||td<t}d|_|g|_|td|td<t|j }|jdj |j ks3JdS)Ntest_list_ref_trr?test_list_ref_ttr) rrFrGr3rr4rHrIrJrK)rMrNtttrrrtest_list_references  rncCspt}dttt}||_||td<tdt}|td<||_z|Jty7YdSw)Nr test_unique_trYtest_unique_tt) r:rar.rHrrFrGrIr )rMrrNrrr test_uniques  rqcCsHt}||td<tdt|j}|j|jks"JdS)Ntest_datetime_tr?) r5rFrGrHrIrJrKr8 timetuplerTrrr test_datetimes   rtcCstdt}tdttdt|tdttdttdttdttdt td t dS) NrPrXr\r^rbrjrnrtrq) rDinforPrXr\r^rbrjrnrtrq)t1rrrtests$          rw__main__)N).loggingrHrboto.sdb.db.modelrboto.sdb.db.propertyrrrrrr r r r boto.exceptionr basicConfig getLoggerrDsetLevelDEBUGrGrrrr"r(r*r-r1r3r5r:rPrUrXr\r^rbrjrnrqrtrwrrrrrsJ