/* - Ċ Ġ* Ġ#% L Ċ Ġ* ĠBig Ben : cassandra Ċ Ġ* Ġ================================= ====== Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 Ġ- Ġ 2 0 1 8 ĠW al mart ĠInc . Ċ Ġ* Ġ================================= ====== Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* ĠĊ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* ĠĊ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ġ# L % Ċ Ġ*/ Ċ package Ġcom . wal mart labs . big ben . cassandra . tests Ċ Ċ import Ġcom . data st ax . driver . core . Session Ċ import Ġcom . wal mart labs . big ben . Big Ben Ċ import Ġcom . wal mart labs . big ben . Big Ben . module Ċ import Ġcom . wal mart labs . big ben . entities .* Ċ import Ġcom . wal mart labs . big ben . ext ns . bucket Ċ import Ġcom . wal mart labs . big ben . ext ns . fetch Ċ import Ġcom . wal mart labs . big ben . ext ns . now UTC Ċ import Ġcom . wal mart labs . big ben . ext ns . save Ċ import Ġorg . testng . annotations . Before Method Ċ import Ġorg . testng . annotations . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertTrue Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġsm al ik 3 Ġon Ġ 4 / 1 2 / 1 8 Ċ Ġ*/ Ċ class ĠIntegration Tests Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . setProperty (" big ben . configs ", Ġ" file :// big ben - test . yaml ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBig Ben . init () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Before Method ĊĠĠĠ Ġprivate Ġfun Ġ` clean Ġup Ġdb `() Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" clean ing Ġup Ġthe Ġdb ") ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( module < Entity Provider < Any >> (). unwrap () Ġas ĠSession ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecute (" truncate Ġbig ben . events ; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecute (" truncate Ġbig ben . look ups ; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecute (" truncate Ġbig ben . buckets ; ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecute (" truncate Ġbig ben . kv _ table ; ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġe ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġbucket `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnow UTC Ġ= Ġnow UTC (). bucket () ĊĠĠĠĠĠĠĠ Ġsave < Bucket > Ġ{ Ġit . bucket Id Ġ= Ġnow UTC ; Ġit . count Ġ= Ġ 1 0 Ġ}. get () ĊĠĠĠĠĠĠĠ Ġval Ġbucket Ġ= Ġfetch < Bucket > Ġ{ Ġit . bucket Id Ġ= Ġnow UTC Ġ}. get () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( bucket . count , Ġ 1 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` test Ġevent Ġloader `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbucket Ġ= Ġnow UTC (). bucket () ĊĠĠĠĠĠĠĠ Ġval Ġevents Ġ= Ġ( 0 .. 9 9 ). map Ġ{ Ġi Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave < Event > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . bucket Id Ġ= Ġbucket ; Ġit . shard Ġ= Ġi Ġ/ Ġ 1 0 ; Ġit . event Time Ġ= Ġbucket . plus Seconds ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= Ġ" e _$ i "; Ġit . status Ġ= ĠEvent Status . UN _ PROC ES SED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. get () ĊĠĠĠĠĠĠĠ Ġ}. associate Ġ{ Ġ"${ it . event Time }-${ it . id }" Ġto Ġit Ġ}. to Mutable Map () ĊĠĠĠĠĠĠĠ Ġval Ġfetch Size Ġ= Ġ 2 0 ĊĠĠĠĠĠĠĠ Ġ( 0 .. 1 0 ). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġl Ġ= Ġmodule < Event Loader >(). load ( bucket , Ġit , Ġfetch Size ). get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( l . second . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl . second . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals ( events [" ${ it . event Time }-${ it . id } "], Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevents . remove ("${ it . event Time }-${ it . id }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġl Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodule < Event Loader >(). load ( bucket , Ġit , Ġfetch Size , Ġl . second . last (). event Time !! , Ġl . second . last (). id !! , Ġl . first ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠassertTrue Ġ{ Ġevents . isEmpty () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġ` event Ġadded Ġsuccessfully `() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbucket Ġ= Ġnow UTC (). bucket () ĊĠĠĠĠĠĠĠ Ġsave < Event > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . bucket Id Ġ= Ġbucket ; Ġit . shard Ġ= Ġ 1 ; Ġit . event Time Ġ= Ġbucket . plus Seconds ( 1 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . id Ġ= Ġ" e 1 "; Ġit . status Ġ= ĠEvent Status . UN _ PROC ES SED ĊĠĠĠĠĠĠĠ Ġ}. get () ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= Ġfetch < Event > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . bucket Id Ġ= Ġbucket ; Ġit . shard Ġ= Ġ 1 ; Ġit . event Time Ġ= Ġbucket . plus Seconds ( 1 0 ); Ġit . id Ġ= Ġ" e 1 " ĊĠĠĠĠĠĠĠ Ġ}. get () !! ĊĠĠĠĠĠĠĠ ĠassertEquals ( event . status , ĠEvent Status . UN _ PROC ES SED ) ĊĠĠĠ Ġ} Ċ } Ċ