Skip to content

Commit 3cd14ac

Browse files
committed
Fix validation tests
1 parent 417a6e4 commit 3cd14ac

File tree

13 files changed

+85
-22
lines changed

13 files changed

+85
-22
lines changed

validation/src/main/resources/application.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ hmda {
2929
persistent-actor-timeout = 60
3030
edits.demoMode = false
3131
edits.demoMode = ${?EDITS_DEMO_MODE}
32+
isClustered = true
3233
}
3334

3435
hmda.validation.quality {
Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,32 @@
11
package hmda.validation.rules
22

3+
import akka.actor.ActorRef
34
import akka.cluster.singleton.{ ClusterSingletonProxy, ClusterSingletonProxySettings }
45
import akka.util.Timeout
56
import com.typesafe.config.ConfigFactory
6-
import hmda.validation.AS
7+
import hmda.validation.{ AS, EC }
78

9+
import scala.concurrent.Future
810
import scala.concurrent.duration._
911

1012
trait StatsLookup {
1113
val configuration = ConfigFactory.load()
1214
val duration = configuration.getInt("hmda.actor.timeout")
15+
val isClustered = configuration.getBoolean("hmda.isClustered")
1316
implicit val timeout = Timeout(duration.seconds)
1417

15-
def validationStats(implicit system: AS[_]) = system.actorOf(
16-
ClusterSingletonProxy.props(
17-
singletonManagerPath = "/user/validation-stats",
18-
settings = ClusterSingletonProxySettings(system).withRole("persistence")
19-
)
20-
)
18+
def validationStats(implicit system: AS[_], ec: EC[_]): Future[ActorRef] =
19+
if (isClustered) {
20+
Future(
21+
system.actorOf(
22+
ClusterSingletonProxy.props(
23+
singletonManagerPath = "/user/validation-stats",
24+
settings = ClusterSingletonProxySettings(system).withRole("persistence")
25+
)
26+
)
27+
)
28+
} else {
29+
system.actorSelection("/user/validation-stats").resolveOne()
30+
}
2131

2232
}

validation/src/main/scala/hmda/validation/rules/lar/macro/Q011.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ class Q011 private (institution: Institution, year: Int) extends AggregateEditCh
3030
val lastYear = year - 1
3131
val currentLarCount: Future[Int] = count(lars)
3232

33-
val lastYearCount = (validationStats ? FindTotalValidatedLars(institution.id, lastYear.toString)).mapTo[Int]
33+
val lastYearCount = for {
34+
actorRef <- validationStats
35+
count <- (actorRef ? FindTotalValidatedLars(institution.id, lastYear.toString)).mapTo[Int]
36+
} yield count
3437

3538
for {
3639
c <- currentLarCount

validation/src/main/scala/hmda/validation/rules/lar/macro/Q070.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ class Q070 private (institution: Institution, year: Int) extends AggregateEditCh
4444
val numRelevant = count(relevantLars)
4545
val numRelevantSold = count(relevantLars.filter(Q070.sold))
4646

47-
val lastYearLars = (validationStats ? FindQ070(institution.id, (year - 1).toString)).mapTo[(Int, Int)]
47+
val lastYearLars = for {
48+
actorRef <- validationStats
49+
lars <- (actorRef ? FindQ070(institution.id, (year - 1).toString)).mapTo[(Int, Int)]
50+
} yield lars
4851

4952
for {
5053
r <- numRelevant

validation/src/main/scala/hmda/validation/rules/lar/macro/Q071.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ class Q071 private (institution: Institution, year: Int) extends AggregateEditCh
4444
val numRelevant = count(relevantLars)
4545
val numRelevantSold = count(relevantLars.filter(Q071.sold))
4646

47-
val lastYearLars = (validationStats ? FindQ071(institution.id, (year - 1).toString)).mapTo[(Int, Int)]
47+
val lastYearLars = for {
48+
actorRef <- validationStats
49+
lars <- (actorRef ? FindQ071(institution.id, (year - 1).toString)).mapTo[(Int, Int)]
50+
} yield lars
4851

4952
for {
5053
r <- numRelevant

validation/src/main/scala/hmda/validation/rules/lar/macro/Q072.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,10 @@ class Q072 private (institution: Institution, year: Int) extends AggregateEditCh
4444
val numRelevant = count(relevantLars)
4545
val numRelevantSold = count(relevantLars.filter(Q072.sold))
4646

47-
val lastYearLars = (validationStats ? FindQ072(institution.id, (year - 1).toString)).mapTo[(Int, Int)]
47+
val lastYearLars = for {
48+
actorRef <- validationStats
49+
lars <- (actorRef ? FindQ072(institution.id, (year - 1).toString)).mapTo[(Int, Int)]
50+
} yield lars
4851

4952
for {
5053
r <- numRelevant

validation/src/main/scala/hmda/validation/rules/lar/macro/Q075.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,10 @@ class Q075 private (institution: Institution, year: Int) extends AggregateEditCh
4242
val numRelevant = count(relevantLars)
4343
val numRelevantSold = count(relevantLars.filter(Q075.sold))
4444

45-
val lastYearStats = (validationStats ? FindQ075(institution.id, (year - 1).toString)).mapTo[Double]
45+
val lastYearStats = for {
46+
actorRef <- validationStats
47+
stats <- (actorRef ? FindQ075(institution.id, (year - 1).toString)).mapTo[Double]
48+
} yield stats
4649

4750
for {
4851
r <- numRelevant

validation/src/main/scala/hmda/validation/rules/lar/macro/Q076.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ class Q076 private (institution: Institution, year: Int) extends AggregateEditCh
4141
val numRelevant = count(relevantLars)
4242
val numRelevantSold = count(relevantLars.filter(Q076.sold))
4343

44-
val lastYearStats = (validationStats ? FindQ076(institution.id, (year - 1).toString)).mapTo[Double]
44+
val lastYearStats = for {
45+
actorRef <- validationStats
46+
stats <- (actorRef ? FindQ076(institution.id, (year - 1).toString)).mapTo[Double]
47+
} yield stats
4548

4649
for {
4750
r <- numRelevant

validation/src/main/scala/hmda/validation/rules/ts/quality/Q012.scala

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,11 @@ class Q012 private (institution: Institution, year: Int) extends AggregateEditCh
2323
override def name: String = "Q012"
2424

2525
override def apply[as: AS, mat: MAT, ec: EC](input: TransmittalSheet): Future[Result] = {
26-
val fLastYearTaxId = (validationStats ? FindTaxId(institution.id, (year - 1).toString)).mapTo[String]
26+
27+
val fLastYearTaxId = for {
28+
actorRef <- validationStats
29+
lastYearId <- (actorRef ? FindTaxId(institution.id, (year - 1).toString)).mapTo[String]
30+
} yield lastYearId
2731

2832
for {
2933
l <- fLastYearTaxId
@@ -34,3 +38,4 @@ class Q012 private (institution: Institution, year: Int) extends AggregateEditCh
3438
}
3539
}
3640
}
41+

validation/src/main/scala/hmda/validation/rules/ts/quality/Q130.scala

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ class Q130 private (institution: Institution, year: Int) extends AggregateEditCh
2424

2525
override def apply[as: AS, mat: MAT, ec: EC](input: TransmittalSheet): Future[Result] = {
2626

27-
val fSubmittedLars = (validationStats ? FindTotalSubmittedLars(institution.id, year.toString)).mapTo[Int]
27+
val fSubmittedLars = for {
28+
actorRef <- validationStats
29+
totalLars <- (actorRef ? FindTotalSubmittedLars(institution.id, year.toString)).mapTo[Int]
30+
} yield totalLars
2831

2932
for {
3033
submitted <- fSubmittedLars

0 commit comments

Comments
 (0)