package Ġcn . ne ko code . m urm ur . data Ċ Ċ import Ġcn . ne ko code . m urm ur . data . service . Do ub an Service Ċ import Ġorg . junit . Assert Ċ import Ġorg . junit . Before Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . ro bo lectric . Ro bo lectric TestRunner Ċ import Ġorg . ro bo lectric . Runtime Environment Ċ import Ġorg . ro bo lectric . annotation . Config Ċ Ċ @ RunWith ( Ro bo lectric TestRunner :: class ) Ċ @ Config ( constants Ġ= ĠBuild Config :: class ) Ċ class ĠDo ub an Service Test Ġ{ ĊĊĠĠĠ Ġ@ Before ĊĠĠĠ Ġfun ĠsetUp () Ġ{ ĊĠĠĠĠĠĠĠ ĠData Layer . init ( Runtime Environment . application ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Login () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠDo ub an Service . login ( Build Config . TEST _ USER , ĠBuild Config . TEST _ PWD ). blocking First () ĊĠĠĠĠĠĠĠ Ġprintln ( session ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( session Ġ!= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Re login () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠDo ub an Service . login ( Build Config . TEST _ USER , ĠBuild Config . TEST _ PWD ). blocking First () ĊĠĠĠĠĠĠĠ Ġprintln ( session ) ĊĠĠĠĠĠĠĠ Ġval Ġnew Se es ion Ġ= ĠDo ub an Service . re login ( session ). blocking First () ĊĠĠĠĠĠĠĠ Ġprintln ( new Se es ion ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( new Se es ion Ġ!= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠtestGet S ongs () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠDo ub an Service . login ( Build Config . TEST _ USER , ĠBuild Config . TEST _ PWD ). blocking First () ĊĠĠĠĠĠĠĠ Ġval Ġsongs Ġ= ĠDo ub an Service . getS ongs ( session ). blocking First () ĊĠĠĠĠĠĠĠ Ġprintln ( songs ) ĊĠĠĠĠĠĠĠ ĠAssert . assertTrue ( songs . isNotEmpty ()) ĊĠĠĠ Ġ} Ċ }