|
Akka/Scala example source code file (SnapshotDirectoryFailureSpec.scala)
The SnapshotDirectoryFailureSpec.scala Akka example source code/** * Copyright (C) 2009-2014 Typesafe Inc. <http://www.typesafe.com> */ package akka.persistence import akka.testkit.{ ImplicitSender, EventFilter, TestEvent, AkkaSpec } import java.io.{ IOException, File } import akka.actor.{ ActorInitializationException, Props, ActorRef } object SnapshotDirectoryFailureSpec { val inUseSnapshotPath = "target/inUseSnapshotPath" class TestProcessor(name: String, probe: ActorRef) extends Processor { override def persistenceId: String = name override def preStart(): Unit = () def receive = { case s: String ⇒ saveSnapshot(s) case SaveSnapshotSuccess(md) ⇒ probe ! md.sequenceNr case other ⇒ probe ! other } } } class SnapshotDirectoryFailureSpec extends AkkaSpec(PersistenceSpec.config("leveldb", "SnapshotDirectoryFailureSpec", extraConfig = Some( s""" |akka.persistence.snapshot-store.local.dir = "${SnapshotDirectoryFailureSpec.inUseSnapshotPath}" """.stripMargin))) with ImplicitSender { import SnapshotDirectoryFailureSpec._ val file = new File(inUseSnapshotPath) override protected def atStartup() { if (!file.createNewFile()) throw new IOException(s"Failed to create test file [${file.getCanonicalFile}]") } override protected def afterTermination() { if (!file.delete()) throw new IOException(s"Failed to delete test file [${file.getCanonicalFile}]") } "A local snapshot store configured with an failing directory name " must { "throw an exception at startup" in { EventFilter[ActorInitializationException](occurrences = 1).intercept { val processor = system.actorOf(Props(classOf[TestProcessor], "SnapshotDirectoryFailureSpec-1", testActor)) processor ! "blahonga" } } } } Other Akka source code examplesHere is a short list of links related to this Akka SnapshotDirectoryFailureSpec.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.