Skip to content

Instantly share code, notes, and snippets.

@rjenkins
Created July 8, 2012 21:12
Show Gist options
  • Save rjenkins/3072826 to your computer and use it in GitHub Desktop.
Save rjenkins/3072826 to your computer and use it in GitHub Desktop.
RiakJSONEntityDAOSpec.scala
case class Skateboard(id: String, brand: String, model: String, year: Int)
extends PersistentEntity { def getKey=id }
class RiakJSONEntityDAOSpec extends Spec with Logging {
val riakClient: IRiakClient = RiakFactory.pbcClient("localhost", 8087)
val skateboardDao = new RiakJSONEntityDAO[String, Skateboard](new RiakDriver[Skateboard]("skateboards", riakClient))
skateboardDao.addStringIndex("brand")
class `riakJSONEntityDAOSpecTest` {
@Test def `can persist entity`() {
val skateboard = new Skateboard("1", "Real", "Justin Brock", 2012)
skateboardDao.persist(skateboard.id, skateboard)
}
@Test def `can retrieve by key`() {
val skateboard = new Skateboard("1", "Real", "Justin Brock", 2012)
skateboardDao.persist(skateboard.id, skateboard)
skateboardDao.getByKey("1").get must be(skateboard)
}
@Test def `can delete by key`() {
val skateboard = new Skateboard("1", "Real", "Justin Brock", 2012)
skateboardDao.persist(skateboard.id, skateboard)
skateboardDao.deleteByKey("1")
skateboardDao.getByKey(skateboard.id) must be(None)
}
@Test def `can find for 2iString`() {
val skateboard = new Skateboard("1", "Real", "Justin Brock", 2012)
skateboardDao.persist(skateboard.id, skateboard)
skateboardDao.findFor2i("brand", "Real").size must be(1)
}
@Test def `can delete for 2iString`() {
val skateboard = new Skateboard("1", "Real", "Justin Brock", 2012)
skateboardDao.persist(skateboard.id, skateboard)
skateboardDao.findFor2i("brand", "Real").size must be(1)
skateboardDao.deleteFor2i("brand", "Real")
skateboardDao.findFor2i("brand", "Real").size must be(0)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment