testcase for MongoStorage : needs a running Mongo instance
This commit is contained in:
parent
b4bb7a057d
commit
cbb1dc1de2
1 changed files with 122 additions and 0 deletions
122
kernel/src/test/scala/MongoStorageSpec.scala
Normal file
122
kernel/src/test/scala/MongoStorageSpec.scala
Normal file
|
|
@ -0,0 +1,122 @@
|
||||||
|
package se.scalablesolutions.akka.kernel.state
|
||||||
|
|
||||||
|
import junit.framework.TestCase
|
||||||
|
|
||||||
|
import org.junit.{Test, Before}
|
||||||
|
import org.junit.Assert._
|
||||||
|
|
||||||
|
class MongoStorageSpec extends TestCase {
|
||||||
|
|
||||||
|
val changeSet = new scala.collection.mutable.ArrayBuffer[AnyRef]
|
||||||
|
|
||||||
|
override def setUp = {
|
||||||
|
MongoStorage.coll.drop
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
def testVectorInsertForTransactionId = {
|
||||||
|
changeSet += "debasish" // string
|
||||||
|
changeSet += List(1, 2, 3) // Scala List
|
||||||
|
val l = new java.util.ArrayList[Int] // Java List
|
||||||
|
l.add(100)
|
||||||
|
l.add(200)
|
||||||
|
changeSet += l
|
||||||
|
MongoStorage.insertVectorStorageEntriesFor("U-A1", changeSet.toList)
|
||||||
|
assertEquals(
|
||||||
|
3,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A1"))
|
||||||
|
changeSet.clear
|
||||||
|
|
||||||
|
// changeSet should be reinitialized
|
||||||
|
changeSet += List(12, 23, 45)
|
||||||
|
changeSet += "maulindu"
|
||||||
|
MongoStorage.insertVectorStorageEntriesFor("U-A1", changeSet.toList)
|
||||||
|
assertEquals(
|
||||||
|
5,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A1"))
|
||||||
|
|
||||||
|
// add more to the same changeSet
|
||||||
|
changeSet += "ramanendu"
|
||||||
|
changeSet += Map(1 -> "dg", 2 -> "mc")
|
||||||
|
|
||||||
|
// add for a diff transaction
|
||||||
|
MongoStorage.insertVectorStorageEntriesFor("U-A2", changeSet.toList)
|
||||||
|
assertEquals(
|
||||||
|
4,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A2"))
|
||||||
|
|
||||||
|
// previous transaction change set should remain same
|
||||||
|
assertEquals(
|
||||||
|
5,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A1"))
|
||||||
|
|
||||||
|
// test single element entry
|
||||||
|
MongoStorage.insertVectorStorageEntryFor("U-A1", Map(1->1, 2->4, 3->9))
|
||||||
|
assertEquals(
|
||||||
|
6,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A1"))
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
def testVectorFetchForKeys = {
|
||||||
|
|
||||||
|
// initially everything 0
|
||||||
|
assertEquals(
|
||||||
|
0,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A2"))
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
0,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A1"))
|
||||||
|
|
||||||
|
// get some stuff
|
||||||
|
changeSet += "debasish"
|
||||||
|
changeSet += List(12, 13, 14)
|
||||||
|
MongoStorage.insertVectorStorageEntriesFor("U-A1", changeSet.toList)
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
2,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A1"))
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
"debasish",
|
||||||
|
MongoStorage.getVectorStorageEntryFor("U-A1", 0).asInstanceOf[String])
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
List(12, 13, 14),
|
||||||
|
MongoStorage.getVectorStorageEntryFor("U-A1", 1).asInstanceOf[List[Int]])
|
||||||
|
|
||||||
|
changeSet.clear
|
||||||
|
changeSet += Map(1->1, 2->4, 3->9)
|
||||||
|
changeSet += BigInt(2310)
|
||||||
|
val l = new java.util.ArrayList[Int]
|
||||||
|
l.add(100)
|
||||||
|
l.add(200)
|
||||||
|
l.add(300)
|
||||||
|
changeSet += l
|
||||||
|
MongoStorage.insertVectorStorageEntriesFor("U-A1", changeSet.toList)
|
||||||
|
|
||||||
|
assertEquals(
|
||||||
|
5,
|
||||||
|
MongoStorage.getVectorStorageSizeFor("U-A1"))
|
||||||
|
|
||||||
|
val r =
|
||||||
|
MongoStorage.getVectorStorageRangeFor("U-A1", Some(1), None, 3)
|
||||||
|
|
||||||
|
assertEquals(3, r.size)
|
||||||
|
assertEquals(List(12, 13, 14), r(0).asInstanceOf[List[Int]])
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
def testVectorFetchForNonExistentKeys = {
|
||||||
|
try {
|
||||||
|
MongoStorage.getVectorStorageEntryFor("U-A1", 1)
|
||||||
|
fail("should throw an exception")
|
||||||
|
} catch {case e: Predef.NoSuchElementException => {}}
|
||||||
|
|
||||||
|
try {
|
||||||
|
MongoStorage.getVectorStorageRangeFor("U-A1", Some(2), None, 12)
|
||||||
|
fail("should throw an exception")
|
||||||
|
} catch {case e: Predef.NoSuchElementException => {}}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue