2
0
mirror of https://github.com/VinylDNS/vinyldns synced 2025-08-22 02:02:14 +00:00

Update dependencies (#939)

* Updating dependencies

Updated almost all dependencies to current.  There were some issues with
akka-http 10.1.11 so I stayed with 10.1.10 for the time being.

Func tests passed locally and manual review of the UI looks to be good

Significant changes are:

- `pureconfig` - this update had breaking syntax, so I had to update everywhere
  we use pureconfig.  Functionally it is the same, just different syntax
- `scalatest` - this was a big change, as scalatest has refactored out things
  like Mockito and scalacheck.  Many imports changed.
- `Java11` - formally moved everything to java 11.  This required some new
  dependencies like `javax.activation` and `java.xml.bind`

* Updating travis to JDK 11

* Finishing JDK 11 update

In order to update to JDK 11, needed to modify several docker things.

Removed timeout test that was causing issues as timeout tests here are not good
for running in travis.
This commit is contained in:
Paul Cleary 2020-04-28 10:08:03 -04:00 committed by GitHub
parent d13010b289
commit 1de710b991
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
164 changed files with 845 additions and 696 deletions

1
.gitignore vendored
View File

@ -29,3 +29,4 @@ package-lock.json
.metals .metals
tmp.out tmp.out
.vscode .vscode
project/metals.sbt

View File

@ -1,5 +1,5 @@
-Xms512M -Xms356M
-Xmx4096M -Xmx2048M
-Xss2M -Xss2M
-XX:MaxMetaspaceSize=2048M -XX:MaxMetaspaceSize=2048M
-XX:ReservedCodeCacheSize=1024M -XX:ReservedCodeCacheSize=1024M

View File

@ -1,11 +1,11 @@
language: scala language: scala
scala: scala:
- 2.12.9 - 2.12.11
python: python:
- 2.7 - 2.7
sudo: false sudo: false
jdk: jdk:
- openjdk8 - openjdk11
services: services:
- docker - docker
cache: cache:

View File

@ -12,46 +12,13 @@ resolvers ++= additionalResolvers
lazy val IntegrationTest = config("it") extend Test lazy val IntegrationTest = config("it") extend Test
// Needed because we want scalastyle for integration tests which is not first class
val codeStyleIntegrationTest = taskKey[Unit]("enforce code style then integration test")
def scalaStyleIntegrationTest: Seq[Def.Setting[_]] = {
inConfig(IntegrationTest)(ScalastylePlugin.rawScalastyleSettings()) ++
Seq(
scalastyleConfig in IntegrationTest := root.base / "scalastyle-test-config.xml",
scalastyleTarget in IntegrationTest := target.value / "scalastyle-it-results.xml",
scalastyleFailOnError in IntegrationTest := (scalastyleFailOnError in scalastyle).value,
(scalastyleFailOnWarning in IntegrationTest) := (scalastyleFailOnWarning in scalastyle).value,
scalastyleSources in IntegrationTest := (unmanagedSourceDirectories in IntegrationTest).value,
codeStyleIntegrationTest := scalastyle.in(IntegrationTest).toTask("").value
)
}
// Create a default Scala style task to run with tests
lazy val testScalastyle = taskKey[Unit]("testScalastyle")
def scalaStyleTest: Seq[Def.Setting[_]] = Seq(
(scalastyleConfig in Test) := baseDirectory.value / ".." / ".." / "scalastyle-test-config.xml",
scalastyleTarget in Test := target.value / "scalastyle-test-results.xml",
scalastyleFailOnError in Test := (scalastyleFailOnError in scalastyle).value,
(scalastyleFailOnWarning in Test) := (scalastyleFailOnWarning in scalastyle).value,
scalastyleSources in Test := (unmanagedSourceDirectories in Test).value,
testScalastyle := scalastyle.in(Test).toTask("").value
)
lazy val compileScalastyle = taskKey[Unit]("compileScalastyle")
def scalaStyleCompile: Seq[Def.Setting[_]] = Seq(
compileScalastyle := scalastyle.in(Compile).toTask("").value
)
def scalaStyleSettings: Seq[Def.Setting[_]] = scalaStyleCompile ++ scalaStyleTest ++ scalaStyleIntegrationTest
// settings that should be inherited by all projects // settings that should be inherited by all projects
lazy val sharedSettings = Seq( lazy val sharedSettings = Seq(
organization := "vinyldns", organization := "vinyldns",
scalaVersion := "2.12.9", scalaVersion := "2.12.11",
organizationName := "Comcast Cable Communications Management, LLC", organizationName := "Comcast Cable Communications Management, LLC",
startYear := Some(2018), startYear := Some(2018),
licenses += ("Apache-2.0", new URL("https://www.apache.org/licenses/LICENSE-2.0.txt")), licenses += ("Apache-2.0", new URL("https://www.apache.org/licenses/LICENSE-2.0.txt")),
scalacOptions += "-target:jvm-1.8",
scalacOptions ++= scalacOptionsByV(scalaVersion.value), scalacOptions ++= scalacOptionsByV(scalaVersion.value),
scalacOptions in (Compile, doc) += "-no-link-warnings", scalacOptions in (Compile, doc) += "-no-link-warnings",
// Use wart remover to eliminate code badness // Use wart remover to eliminate code badness
@ -93,7 +60,7 @@ lazy val apiSettings = Seq(
"-Dlogback.configurationFile=test/logback.xml", "-Dlogback.configurationFile=test/logback.xml",
s"""-Dvinyldns.base-version=${(version in ThisBuild).value}""" s"""-Dvinyldns.base-version=${(version in ThisBuild).value}"""
), ),
coverageExcludedPackages := ".*Boot.*" coverageExcludedPackages := "Boot.*"
) )
lazy val apiAssemblySettings = Seq( lazy val apiAssemblySettings = Seq(
@ -113,7 +80,7 @@ lazy val apiAssemblySettings = Seq(
) )
lazy val apiDockerSettings = Seq( lazy val apiDockerSettings = Seq(
dockerBaseImage := "openjdk:8u191-jdk-alpine3.9", dockerBaseImage := "adoptopenjdk/openjdk11:jdk-11.0.7_10-alpine",
dockerUsername := Some("vinyldns"), dockerUsername := Some("vinyldns"),
packageName in Docker := "api", packageName in Docker := "api",
dockerExposedPorts := Seq(9000), dockerExposedPorts := Seq(9000),
@ -140,7 +107,7 @@ lazy val apiDockerSettings = Seq(
) )
lazy val portalDockerSettings = Seq( lazy val portalDockerSettings = Seq(
dockerBaseImage := "openjdk:8u191-jdk-alpine3.9", dockerBaseImage := "adoptopenjdk/openjdk11:jdk-11.0.7_10-alpine",
dockerUsername := Some("vinyldns"), dockerUsername := Some("vinyldns"),
packageName in Docker := "portal", packageName in Docker := "portal",
dockerExposedPorts := Seq(9001), dockerExposedPorts := Seq(9001),
@ -215,8 +182,7 @@ lazy val allApiSettings = Revolver.settings ++ Defaults.itSettings ++
apiAssemblySettings ++ apiAssemblySettings ++
testSettings ++ testSettings ++
apiPublishSettings ++ apiPublishSettings ++
apiDockerSettings ++ apiDockerSettings
scalaStyleSettings
lazy val api = (project in file("modules/api")) lazy val api = (project in file("modules/api"))
.enablePlugins(JavaAppPackaging, AutomateHeaderPlugin) .enablePlugins(JavaAppPackaging, AutomateHeaderPlugin)
@ -236,8 +202,6 @@ lazy val root = (project in file(".")).enablePlugins(DockerComposePlugin, Automa
.settings(sharedSettings) .settings(sharedSettings)
.settings( .settings(
inConfig(IntegrationTest)(scalafmtConfigSettings), inConfig(IntegrationTest)(scalafmtConfigSettings),
(scalastyleConfig in Test) := baseDirectory.value / "scalastyle-test-config.xml",
(scalastyleConfig in IntegrationTest) := baseDirectory.value / "scalastyle-test-config.xml",
killDocker := { killDocker := {
import scala.sys.process._ import scala.sys.process._
"./bin/remove-vinyl-containers.sh" ! "./bin/remove-vinyl-containers.sh" !
@ -284,7 +248,6 @@ lazy val core = (project in file("modules/core")).enablePlugins(AutomateHeaderPl
.settings(corePublishSettings) .settings(corePublishSettings)
.settings(testSettings) .settings(testSettings)
.settings(libraryDependencies ++= coreDependencies ++ commonTestDependencies.map(_ % "test")) .settings(libraryDependencies ++= coreDependencies ++ commonTestDependencies.map(_ % "test"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings( .settings(
organization := "io.vinyldns" organization := "io.vinyldns"
) )
@ -299,7 +262,6 @@ lazy val dynamodb = (project in file("modules/dynamodb"))
.settings(testSettings) .settings(testSettings)
.settings(Defaults.itSettings) .settings(Defaults.itSettings)
.settings(libraryDependencies ++= dynamoDBDependencies ++ commonTestDependencies.map(_ % "test, it")) .settings(libraryDependencies ++= dynamoDBDependencies ++ commonTestDependencies.map(_ % "test, it"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings( .settings(
organization := "io.vinyldns", organization := "io.vinyldns",
parallelExecution in Test := true, parallelExecution in Test := true,
@ -317,7 +279,6 @@ lazy val mysql = (project in file("modules/mysql"))
.settings(testSettings) .settings(testSettings)
.settings(Defaults.itSettings) .settings(Defaults.itSettings)
.settings(libraryDependencies ++= mysqlDependencies ++ commonTestDependencies.map(_ % "test, it")) .settings(libraryDependencies ++= mysqlDependencies ++ commonTestDependencies.map(_ % "test, it"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings( .settings(
organization := "io.vinyldns" organization := "io.vinyldns"
).dependsOn(core % "compile->compile;test->test") ).dependsOn(core % "compile->compile;test->test")
@ -333,7 +294,6 @@ lazy val sqs = (project in file("modules/sqs"))
.settings(testSettings) .settings(testSettings)
.settings(Defaults.itSettings) .settings(Defaults.itSettings)
.settings(libraryDependencies ++= sqsDependencies ++ commonTestDependencies.map(_ % "test, it")) .settings(libraryDependencies ++= sqsDependencies ++ commonTestDependencies.map(_ % "test, it"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings( .settings(
organization := "io.vinyldns", organization := "io.vinyldns",
).dependsOn(core % "compile->compile;test->test") ).dependsOn(core % "compile->compile;test->test")
@ -352,7 +312,7 @@ lazy val portal = (project in file("modules/portal")).enablePlugins(PlayScala, A
name := "portal", name := "portal",
libraryDependencies ++= portalDependencies, libraryDependencies ++= portalDependencies,
routesGenerator := InjectedRoutesGenerator, routesGenerator := InjectedRoutesGenerator,
coverageExcludedPackages := "<empty>;views.html.*;router.*", coverageExcludedPackages := "<empty>;views.html.*;router.*;controllers\\.javascript.*;.*Reverse.*",
javaOptions in Test += "-Dconfig.file=conf/application-test.conf", javaOptions in Test += "-Dconfig.file=conf/application-test.conf",
// ads the version when working locally with sbt run // ads the version when working locally with sbt run
@ -482,13 +442,7 @@ addCommandAlias("validate", "; root/clean; " +
"dynamodb/headerCheck dynamodb/test:headerCheck dynamodb/it:headerCheck " + "dynamodb/headerCheck dynamodb/test:headerCheck dynamodb/it:headerCheck " +
"mysql/headerCheck mysql/test:headerCheck mysql/it:headerCheck " + "mysql/headerCheck mysql/test:headerCheck mysql/it:headerCheck " +
"sqs/headerCheck sqs/test:headerCheck sqs/it:headerCheck " + "sqs/headerCheck sqs/test:headerCheck sqs/it:headerCheck " +
"portal/headerCheck portal/test:headerCheck; " + "portal/headerCheck portal/test:headerCheck; " +
"all core/scalastyle core/test:scalastyle " +
"api/scalastyle api/test:scalastyle api/it:scalastyle " +
"dynamodb/scalastyle dynamodb/test:scalastyle dynamodb/it:scalastyle" +
"mysql/scalastyle mysql/test:scalastyle mysql/it:scalastyle" +
"sqs/scalastyle sqs/test:scalastyle sqs/it:scalastyle" +
"portal/scalastyle portal/test:scalastyle;" +
"portal/createJsHeaders;portal/checkJsHeaders;" + "portal/createJsHeaders;portal/checkJsHeaders;" +
"root/compile;root/test:compile;root/it:compile" "root/compile;root/test:compile;root/it:compile"
) )

View File

@ -1,4 +1,4 @@
FROM hseeberger/scala-sbt:8u212_1.2.8_2.12.9 as builder FROM hseeberger/scala-sbt:11.0.7_1.3.10_2.11.12
ARG BRANCH=master ARG BRANCH=master
ARG VINYLDNS_VERSION ARG VINYLDNS_VERSION
@ -10,7 +10,7 @@ COPY .jvmopts /vinyldns
RUN cd /vinyldns ; sbt "set version in ThisBuild := \"${VINYLDNS_VERSION}\"" api/stage RUN cd /vinyldns ; sbt "set version in ThisBuild := \"${VINYLDNS_VERSION}\"" api/stage
FROM openjdk:8u201-jdk-alpine3.9 FROM adoptopenjdk/openjdk11:jdk-11.0.7_10-alpine
RUN apk add --update --no-cache netcat-openbsd bash RUN apk add --update --no-cache netcat-openbsd bash

View File

@ -1,4 +1,4 @@
FROM hseeberger/scala-sbt:8u212_1.2.8_2.12.9 as builder FROM hseeberger/scala-sbt:11.0.7_1.3.10_2.11.12 as builder
ARG BRANCH=master ARG BRANCH=master
ARG VINYLDNS_VERSION ARG VINYLDNS_VERSION
@ -20,7 +20,7 @@ RUN apt-get update \
RUN cd /vinyldns ; sbt "set version in ThisBuild := \"${VINYLDNS_VERSION}\"" portal/preparePortal universal:packageZipTarball RUN cd /vinyldns ; sbt "set version in ThisBuild := \"${VINYLDNS_VERSION}\"" portal/preparePortal universal:packageZipTarball
FROM openjdk:8u201-jdk-alpine3.9 FROM adoptopenjdk/openjdk11:jdk-11.0.7_10-alpine
RUN apk add --update --no-cache netcat-openbsd bash RUN apk add --update --no-cache netcat-openbsd bash

View File

@ -1,4 +1,4 @@
FROM openjdk:8u201-jdk-alpine3.9 FROM adoptopenjdk/openjdk11:jdk-11.0.7_10-alpine
RUN apk add --update --no-cache netcat-openbsd bash RUN apk add --update --no-cache netcat-openbsd bash

View File

@ -17,7 +17,8 @@
package vinyldns.api.domain.batch package vinyldns.api.domain.batch
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpecLike} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
import vinyldns.api.MySqlApiIntegrationSpec import vinyldns.api.MySqlApiIntegrationSpec
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
import vinyldns.core.domain.batch.{ import vinyldns.core.domain.batch.{
@ -33,7 +34,7 @@ class BatchChangeRepositoryIntegrationSpec
extends MySqlApiIntegrationSpec extends MySqlApiIntegrationSpec
with MySqlIntegrationSpec with MySqlIntegrationSpec
with Matchers with Matchers
with WordSpecLike { with AnyWordSpecLike {
import vinyldns.api.domain.DomainValidations._ import vinyldns.api.domain.DomainValidations._

View File

@ -16,7 +16,8 @@
package vinyldns.api.domain.dns package vinyldns.api.domain.dns
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.xbill.DNS import org.xbill.DNS
import vinyldns.api.domain.dns.DnsProtocol.{DnsResponse, NoError} import vinyldns.api.domain.dns.DnsProtocol.{DnsResponse, NoError}
import vinyldns.api.domain.record.RecordSetChangeGenerator import vinyldns.api.domain.record.RecordSetChangeGenerator
@ -25,7 +26,7 @@ import vinyldns.api.ResultHelpers
import vinyldns.core.TestRecordSetData.{aaaa, ds} import vinyldns.core.TestRecordSetData.{aaaa, ds}
import vinyldns.core.domain.record.{RecordSet, RecordType} import vinyldns.core.domain.record.{RecordSet, RecordType}
class DnsConversionsIntegrationSpec extends WordSpec with Matchers with ResultHelpers { class DnsConversionsIntegrationSpec extends AnyWordSpec with Matchers with ResultHelpers {
private val zoneName = "example.com." private val zoneName = "example.com."
private val testZone = Zone( private val testZone = Zone(

View File

@ -20,9 +20,9 @@ import cats.effect._
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.joda.time.DateTime import org.joda.time.DateTime
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.Matchers import org.scalatest.matchers.should.Matchers
import org.scalatest.concurrent.PatienceConfiguration import org.scalatest.concurrent.PatienceConfiguration
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.time.{Seconds, Span} import org.scalatest.time.{Seconds, Span}
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api._ import vinyldns.api._

View File

@ -16,12 +16,13 @@
package vinyldns.api.domain.zone package vinyldns.api.domain.zone
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.VinylDNSConfig import vinyldns.api.VinylDNSConfig
import vinyldns.core.domain.zone.ConfiguredDnsConnections import vinyldns.core.domain.zone.ConfiguredDnsConnections
import vinyldns.core.health.HealthCheck.HealthCheckError import vinyldns.core.health.HealthCheck.HealthCheckError
class ZoneConnectionValidatorIntegrationSpec extends WordSpec with Matchers with EitherMatchers { class ZoneConnectionValidatorIntegrationSpec extends AnyWordSpec with Matchers with EitherMatchers {
"ZoneConnectionValidatorIntegrationSpec" should { "ZoneConnectionValidatorIntegrationSpec" should {
"have a valid health check if we can connect to DNS backend" in { "have a valid health check if we can connect to DNS backend" in {
val check = new ZoneConnectionValidator(VinylDNSConfig.configuredDnsConnections) val check = new ZoneConnectionValidator(VinylDNSConfig.configuredDnsConnections)

View File

@ -19,8 +19,10 @@ package vinyldns.api.domain.zone
import cats.effect._ import cats.effect._
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest._ import org.scalatest._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.concurrent.{PatienceConfiguration, ScalaFutures} import org.scalatest.concurrent.{PatienceConfiguration, ScalaFutures}
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.time.{Seconds, Span} import org.scalatest.time.{Seconds, Span}
import scalikejdbc.DB import scalikejdbc.DB
import vinyldns.api.domain.access.AccessValidations import vinyldns.api.domain.access.AccessValidations
@ -40,7 +42,7 @@ import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.duration._ import scala.concurrent.duration._
class ZoneServiceIntegrationSpec class ZoneServiceIntegrationSpec
extends WordSpec extends AnyWordSpec
with ScalaFutures with ScalaFutures
with Matchers with Matchers
with MockitoSugar with MockitoSugar

View File

@ -16,11 +16,12 @@
package vinyldns.api.domain.zone package vinyldns.api.domain.zone
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.xbill.DNS.ZoneTransferException import org.xbill.DNS.ZoneTransferException
import vinyldns.core.domain.zone.{Zone, ZoneConnection} import vinyldns.core.domain.zone.{Zone, ZoneConnection}
class ZoneViewLoaderIntegrationSpec extends WordSpec with Matchers { class ZoneViewLoaderIntegrationSpec extends AnyWordSpec with Matchers {
"ZoneViewLoader" should { "ZoneViewLoader" should {
"return a ZoneView upon success" in { "return a ZoneView upon success" in {
DnsZoneViewLoader(Zone("vinyldns.", "test@test.com")) DnsZoneViewLoader(Zone("vinyldns.", "test@test.com"))

View File

@ -20,7 +20,8 @@ import com.typesafe.config.{Config, ConfigFactory}
import vinyldns.core.notifier._ import vinyldns.core.notifier._
import vinyldns.api.MySqlApiIntegrationSpec import vinyldns.api.MySqlApiIntegrationSpec
import vinyldns.mysql.MySqlIntegrationSpec import vinyldns.mysql.MySqlIntegrationSpec
import org.scalatest.{Matchers, WordSpecLike} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
import vinyldns.core.domain.batch._ import vinyldns.core.domain.batch._
import vinyldns.core.domain.record.RecordType import vinyldns.core.domain.record.RecordType
import vinyldns.core.domain.record.AData import vinyldns.core.domain.record.AData
@ -36,7 +37,7 @@ class EmailNotifierIntegrationSpec
extends MySqlApiIntegrationSpec extends MySqlApiIntegrationSpec
with MySqlIntegrationSpec with MySqlIntegrationSpec
with Matchers with Matchers
with WordSpecLike with AnyWordSpecLike
with BeforeAndAfterEach { with BeforeAndAfterEach {
import vinyldns.api.domain.DomainValidations._ import vinyldns.api.domain.DomainValidations._

View File

@ -20,7 +20,8 @@ import com.typesafe.config.{Config, ConfigFactory}
import vinyldns.core.notifier._ import vinyldns.core.notifier._
import vinyldns.api.MySqlApiIntegrationSpec import vinyldns.api.MySqlApiIntegrationSpec
import vinyldns.mysql.MySqlIntegrationSpec import vinyldns.mysql.MySqlIntegrationSpec
import org.scalatest.{Matchers, WordSpecLike} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
import vinyldns.core.domain.batch._ import vinyldns.core.domain.batch._
import vinyldns.core.domain.record.RecordType import vinyldns.core.domain.record.RecordType
import vinyldns.core.domain.record.AData import vinyldns.core.domain.record.AData
@ -39,7 +40,7 @@ class SnsNotifierIntegrationSpec
extends MySqlApiIntegrationSpec extends MySqlApiIntegrationSpec
with MySqlIntegrationSpec with MySqlIntegrationSpec
with Matchers with Matchers
with WordSpecLike { with AnyWordSpecLike {
import vinyldns.api.domain.DomainValidations._ import vinyldns.api.domain.DomainValidations._

View File

@ -17,10 +17,12 @@
package vinyldns.api package vinyldns.api
import akka.actor.ActorSystem import akka.actor.ActorSystem
import cats.effect.{ContextShift, IO} import cats.effect.{Blocker, ContextShift, IO}
import cats.implicits._ import cats.implicits._
import com.typesafe.config.{Config, ConfigFactory} import com.typesafe.config.{Config, ConfigFactory}
import pureconfig.module.catseffect.loadConfigF import pureconfig._
import pureconfig.generic.auto._
import pureconfig.module.catseffect.syntax._
import vinyldns.api.crypto.Crypto import vinyldns.api.crypto.Crypto
import com.comcast.ip4s._ import com.comcast.ip4s._
import net.ceedubs.ficus.Ficus._ import net.ceedubs.ficus.Ficus._
@ -51,7 +53,9 @@ object VinylDNSConfig {
.asScala .asScala
.toList .toList
.map { configKey => .map { configKey =>
loadConfigF[IO, DataStoreConfig](vinyldnsConfig, configKey) Blocker[IO].use(
ConfigSource.fromConfig(vinyldnsConfig).at(configKey).loadF[IO, DataStoreConfig](_)
)
} }
.parSequence .parSequence
@ -61,14 +65,18 @@ object VinylDNSConfig {
.asScala .asScala
.toList .toList
.map { configKey => .map { configKey =>
loadConfigF[IO, NotifierConfig](vinyldnsConfig, configKey) Blocker[IO].use(
ConfigSource.fromConfig(vinyldnsConfig).at(configKey).loadF[IO, NotifierConfig](_)
)
} }
.parSequence .parSequence
lazy val restConfig: Config = vinyldnsConfig.getConfig("rest") lazy val restConfig: Config = vinyldnsConfig.getConfig("rest")
lazy val monitoringConfig: Config = vinyldnsConfig.getConfig("monitoring") lazy val monitoringConfig: Config = vinyldnsConfig.getConfig("monitoring")
lazy val messageQueueConfig: IO[MessageQueueConfig] = lazy val messageQueueConfig: IO[MessageQueueConfig] =
loadConfigF[IO, MessageQueueConfig](vinyldnsConfig.getConfig("queue")) Blocker[IO].use(
ConfigSource.fromConfig(vinyldnsConfig.getConfig("queue")).loadF[IO, MessageQueueConfig](_)
)
lazy val cryptoConfig: Config = vinyldnsConfig.getConfig("crypto") lazy val cryptoConfig: Config = vinyldnsConfig.getConfig("crypto")
lazy val system: ActorSystem = ActorSystem("VinylDNS", VinylDNSConfig.config) lazy val system: ActorSystem = ActorSystem("VinylDNS", VinylDNSConfig.config)
lazy val approvedNameServers: List[Regex] = lazy val approvedNameServers: List[Regex] =
@ -111,7 +119,7 @@ object VinylDNSConfig {
.getConfigList("backends") .getConfigList("backends")
.asScala .asScala
.map { .map {
pureconfig.loadConfigOrThrow[DnsBackend] ConfigSource.fromConfig(_).loadOrThrow[DnsBackend]
} }
.toList .toList
.map(_.encrypted(Crypto.instance)) .map(_.encrypted(Crypto.instance))
@ -122,7 +130,14 @@ object VinylDNSConfig {
} }
lazy val healthCheckTimeout: IO[Int] = lazy val healthCheckTimeout: IO[Int] =
loadConfigF[IO, Option[Int]](vinyldnsConfig, "health-check-timeout").map(_.getOrElse(10000)) Blocker[IO].use(
ConfigSource
.fromConfig(vinyldnsConfig)
.at("health-check-timeout")
.loadF[IO, Option[Int]](_)
.map(_.getOrElse(10000))
.handleError(_ => 10000)
)
def getOptionalStringList(key: String): List[String] = def getOptionalStringList(key: String): List[String] =
if (vinyldnsConfig.hasPath(key)) { if (vinyldnsConfig.hasPath(key)) {
@ -136,12 +151,21 @@ object VinylDNSConfig {
.getOrElse(false) .getOrElse(false)
lazy val globalAcl: IO[GlobalAcls] = lazy val globalAcl: IO[GlobalAcls] =
loadConfigF[IO, List[GlobalAcl]](vinyldnsConfig, "global-acl-rules").map(GlobalAcls) Blocker[IO]
.use(
ConfigSource.fromConfig(vinyldnsConfig).at("global-acl-rules").loadF[IO, List[GlobalAcl]](_)
)
.map(GlobalAcls(_))
// defines nibble boundary for ipv6 zone discovery // defines nibble boundary for ipv6 zone discovery
// (min of 2, max of 3 means zones of form X.X.ip6-arpa. and X.X.X.ip6-arpa. will be discovered) // (min of 2, max of 3 means zones of form X.X.ip6-arpa. and X.X.X.ip6-arpa. will be discovered)
lazy val v6DiscoveryBoundaries: IO[V6DiscoveryNibbleBoundaries] = lazy val v6DiscoveryBoundaries: IO[V6DiscoveryNibbleBoundaries] =
loadConfigF[IO, V6DiscoveryNibbleBoundaries](vinyldnsConfig, "v6-discovery-nibble-boundaries") Blocker[IO].use(
ConfigSource
.fromConfig(vinyldnsConfig)
.at("v6-discovery-nibble-boundaries")
.loadF[IO, V6DiscoveryNibbleBoundaries](_)
)
lazy val scheduledChangesEnabled: Boolean = vinyldnsConfig lazy val scheduledChangesEnabled: Boolean = vinyldnsConfig
.as[Option[Boolean]]("scheduled-changes-enabled") .as[Option[Boolean]]("scheduled-changes-enabled")

View File

@ -18,7 +18,6 @@ package vinyldns.api.domain.batch
import cats.data.NonEmptyList import cats.data.NonEmptyList
import cats.syntax.list._ import cats.syntax.list._
import cats.syntax.functor._
import org.joda.time.DateTime import org.joda.time.DateTime
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import vinyldns.api.domain.batch.BatchChangeInterfaces._ import vinyldns.api.domain.batch.BatchChangeInterfaces._

View File

@ -17,18 +17,22 @@
package vinyldns.api.metrics package vinyldns.api.metrics
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
import cats.effect.IO import cats.effect.{Blocker, ContextShift, IO}
import com.codahale.metrics.Slf4jReporter.LoggingLevel import com.codahale.metrics.Slf4jReporter.LoggingLevel
import com.codahale.metrics.{Metric, MetricFilter, ScheduledReporter, Slf4jReporter} import com.codahale.metrics.{Metric, MetricFilter, ScheduledReporter, Slf4jReporter}
import com.typesafe.config.Config import com.typesafe.config.Config
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import pureconfig.module.catseffect.loadConfigF import pureconfig._
import pureconfig.generic.auto._
import pureconfig.module.catseffect.syntax._
import vinyldns.core.VinylDNSMetrics import vinyldns.core.VinylDNSMetrics
final case class MemoryMetricsSettings(logEnabled: Boolean, logSeconds: Int) final case class MemoryMetricsSettings(logEnabled: Boolean, logSeconds: Int)
final case class APIMetricsSettings(memory: MemoryMetricsSettings) final case class APIMetricsSettings(memory: MemoryMetricsSettings)
object APIMetrics { object APIMetrics {
private implicit val cs: ContextShift[IO] =
IO.contextShift(scala.concurrent.ExecutionContext.global)
// Output all memory metrics to the log, do not start unless configured // Output all memory metrics to the log, do not start unless configured
private val logReporter = Slf4jReporter private val logReporter = Slf4jReporter
@ -53,5 +57,7 @@ object APIMetrics {
} }
def loadSettings(config: Config): IO[APIMetricsSettings] = def loadSettings(config: Config): IO[APIMetricsSettings] =
loadConfigF[IO, APIMetricsSettings](config) Blocker[IO].use(
ConfigSource.fromConfig(config).loadF[IO, APIMetricsSettings](_)
)
} }

View File

@ -18,22 +18,27 @@ package vinyldns.api.notifier.email
import vinyldns.core.notifier.{Notifier, NotifierConfig, NotifierProvider} import vinyldns.core.notifier.{Notifier, NotifierConfig, NotifierProvider}
import vinyldns.core.domain.membership.UserRepository import vinyldns.core.domain.membership.UserRepository
import pureconfig.module.catseffect.loadConfigF import pureconfig._
import cats.effect.IO import pureconfig.generic.auto._
import pureconfig.module.catseffect.syntax._
import cats.effect.{Blocker, ContextShift, IO}
import javax.mail.Session import javax.mail.Session
class EmailNotifierProvider extends NotifierProvider { class EmailNotifierProvider extends NotifierProvider {
import EmailNotifierConfig._ import EmailNotifierConfig._
private implicit val cs: ContextShift[IO] =
IO.contextShift(scala.concurrent.ExecutionContext.global)
def load(config: NotifierConfig, userRepository: UserRepository): IO[Notifier] = def load(config: NotifierConfig, userRepository: UserRepository): IO[Notifier] =
for { for {
emailConfig <- loadConfigF[IO, EmailNotifierConfig](config.settings) emailConfig <- Blocker[IO].use(
ConfigSource.fromConfig(config.settings).loadF[IO, EmailNotifierConfig](_)
)
session <- createSession(emailConfig) session <- createSession(emailConfig)
} yield new EmailNotifier(emailConfig, session, userRepository) } yield new EmailNotifier(emailConfig, session, userRepository)
def createSession(config: EmailNotifierConfig): IO[Session] = IO { def createSession(config: EmailNotifierConfig): IO[Session] = IO {
Session.getInstance(config.smtp) Session.getInstance(config.smtp)
} }
} }

View File

@ -17,7 +17,6 @@
package vinyldns.api.notifier.sns package vinyldns.api.notifier.sns
import cats.effect.IO import cats.effect.IO
import cats.syntax.functor._
import com.amazonaws.services.sns.AmazonSNS import com.amazonaws.services.sns.AmazonSNS
import com.amazonaws.services.sns.model.{MessageAttributeValue, PublishRequest} import com.amazonaws.services.sns.model.{MessageAttributeValue, PublishRequest}
import org.json4s.JsonAST.JNull import org.json4s.JsonAST.JNull

View File

@ -18,8 +18,10 @@ package vinyldns.api.notifier.sns
import vinyldns.core.notifier.{Notifier, NotifierConfig, NotifierProvider} import vinyldns.core.notifier.{Notifier, NotifierConfig, NotifierProvider}
import vinyldns.core.domain.membership.UserRepository import vinyldns.core.domain.membership.UserRepository
import pureconfig.module.catseffect.loadConfigF import pureconfig._
import cats.effect.IO import pureconfig.generic.auto._
import pureconfig.module.catseffect.syntax._
import cats.effect.{Blocker, ContextShift, IO}
import com.amazonaws.services.sns.AmazonSNS import com.amazonaws.services.sns.AmazonSNS
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import com.amazonaws.services.sns.AmazonSNSClientBuilder import com.amazonaws.services.sns.AmazonSNSClientBuilder
@ -29,11 +31,15 @@ import com.amazonaws.auth.BasicAWSCredentials
class SnsNotifierProvider extends NotifierProvider { class SnsNotifierProvider extends NotifierProvider {
private implicit val cs: ContextShift[IO] =
IO.contextShift(scala.concurrent.ExecutionContext.global)
private val logger = LoggerFactory.getLogger(classOf[SnsNotifierProvider]) private val logger = LoggerFactory.getLogger(classOf[SnsNotifierProvider])
def load(config: NotifierConfig, userRepository: UserRepository): IO[Notifier] = def load(config: NotifierConfig, userRepository: UserRepository): IO[Notifier] =
for { for {
snsConfig <- loadConfigF[IO, SnsNotifierConfig](config.settings) snsConfig <- Blocker[IO].use(
ConfigSource.fromConfig(config.settings).loadF[IO, SnsNotifierConfig](_)
)
client <- createClient(snsConfig) client <- createClient(snsConfig)
} yield new SnsNotifier(snsConfig, client) } yield new SnsNotifier(snsConfig, client)

View File

@ -21,7 +21,8 @@ import cats.data.ValidatedNel
import cats.effect._ import cats.effect._
import cats.implicits._ import cats.implicits._
import cats.scalatest.ValidatedMatchers import cats.scalatest.ValidatedMatchers
import org.scalatest.{Matchers, PropSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.propspec.AnyPropSpec
import scala.concurrent.ExecutionContext import scala.concurrent.ExecutionContext
import scala.concurrent.duration._ import scala.concurrent.duration._
@ -71,7 +72,7 @@ trait ResultHelpers {
def rightValue[T](t: Either[Throwable, T]): T = t.toOption.get def rightValue[T](t: Either[Throwable, T]): T = t.toOption.get
} }
object ValidationTestImprovements extends PropSpec with Matchers with ValidatedMatchers { object ValidationTestImprovements extends AnyPropSpec with Matchers with ValidatedMatchers {
implicit class ValidatedNelTestImprovements[DomainValidationError, A]( implicit class ValidatedNelTestImprovements[DomainValidationError, A](
value: ValidatedNel[DomainValidationError, A] value: ValidatedNel[DomainValidationError, A]

View File

@ -16,12 +16,13 @@
package vinyldns.api package vinyldns.api
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.crypto.Crypto import vinyldns.api.crypto.Crypto
import vinyldns.core.domain.zone.ZoneConnection import vinyldns.core.domain.zone.ZoneConnection
import vinyldns.core.repository.RepositoryName._ import vinyldns.core.repository.RepositoryName._
class VinylDNSConfigSpec extends WordSpec with Matchers { class VinylDNSConfigSpec extends AnyWordSpec with Matchers {
"VinylDNSConfig" should { "VinylDNSConfig" should {
"load the rest config" in { "load the rest config" in {

View File

@ -22,8 +22,10 @@ import org.mockito
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.mockito.{ArgumentCaptor, Mockito} import org.mockito.{ArgumentCaptor, Mockito}
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, EitherValues, Matchers, WordSpec} import org.scalatest.{BeforeAndAfterEach, EitherValues}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.VinylDNSTestHelpers import vinyldns.api.VinylDNSTestHelpers
import vinyldns.api.backend.CommandHandler.{DeleteMessage, RetryMessage} import vinyldns.api.backend.CommandHandler.{DeleteMessage, RetryMessage}
import vinyldns.api.domain.dns.DnsConnection import vinyldns.api.domain.dns.DnsConnection
@ -39,7 +41,7 @@ import scala.concurrent.duration._
import vinyldns.core.notifier.AllNotifiers import vinyldns.core.notifier.AllNotifiers
class CommandHandlerSpec class CommandHandlerSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -18,15 +18,17 @@ package vinyldns.api.domain
import cats.scalatest.ValidatedMatchers import cats.scalatest.ValidatedMatchers
import org.scalacheck._ import org.scalacheck._
import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks
import org.scalatest._ import org.scalatest._
import org.scalatest.prop._ import org.scalatest.propspec.AnyPropSpec
import org.scalatest.matchers.should.Matchers
import vinyldns.api.ValidationTestImprovements._ import vinyldns.api.ValidationTestImprovements._
import vinyldns.core.domain.{InvalidDomainName, InvalidLength} import vinyldns.core.domain.{InvalidDomainName, InvalidLength}
class DomainValidationsSpec class DomainValidationsSpec
extends PropSpec extends AnyPropSpec
with Matchers with Matchers
with GeneratorDrivenPropertyChecks with ScalaCheckDrivenPropertyChecks
with ValidatedMatchers { with ValidatedMatchers {
import Gen._ import Gen._

View File

@ -19,8 +19,9 @@ package vinyldns.api.domain
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.concurrent.Eventually import org.scalatest.concurrent.Eventually
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
import vinyldns.api.domain.zone.InvalidRequest import vinyldns.api.domain.zone.InvalidRequest
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
@ -29,7 +30,7 @@ import vinyldns.core.TestZoneData._
import vinyldns.core.domain.zone.Zone import vinyldns.core.domain.zone.Zone
class ReverseZoneHelpersSpec class ReverseZoneHelpersSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with Eventually with Eventually

View File

@ -18,8 +18,9 @@ package vinyldns.api.domain.access
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpecLike} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.api.domain.zone.{NotAuthorizedError, RecordSetInfo, RecordSetListInfo} import vinyldns.api.domain.zone.{NotAuthorizedError, RecordSetInfo, RecordSetListInfo}
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
@ -30,9 +31,10 @@ import vinyldns.core.domain.auth.AuthPrincipal
import vinyldns.core.domain.membership.User import vinyldns.core.domain.membership.User
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
import vinyldns.core.domain.zone.{ACLRule, AccessLevel, Zone, ZoneACL} import vinyldns.core.domain.zone.{ACLRule, AccessLevel, Zone, ZoneACL}
import org.scalatestplus.mockito.MockitoSugar
class AccessValidationsSpec class AccessValidationsSpec
extends WordSpecLike extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers with ResultHelpers

View File

@ -17,14 +17,15 @@
package vinyldns.api.domain.access package vinyldns.api.domain.access
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpecLike} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.core.domain.Fqdn import vinyldns.core.domain.Fqdn
import vinyldns.core.domain.record.{PTRData, RecordType} import vinyldns.core.domain.record.{PTRData, RecordType}
class GlobalAclSpec class GlobalAclSpec
extends WordSpecLike extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers with ResultHelpers

View File

@ -18,8 +18,9 @@ package vinyldns.api.domain.auth
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
import vinyldns.core.domain.membership.{MembershipRepository, UserRepository} import vinyldns.core.domain.membership.{MembershipRepository, UserRepository}
@ -27,7 +28,7 @@ import cats.effect._
import vinyldns.core.domain.auth.AuthPrincipal import vinyldns.core.domain.auth.AuthPrincipal
class MembershipAuthPrincipalProviderSpec class MembershipAuthPrincipalProviderSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers { with ResultHelpers {

View File

@ -19,7 +19,8 @@ package vinyldns.api.domain.batch
import cats.data.NonEmptyList import cats.data.NonEmptyList
import cats.implicits._ import cats.implicits._
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.CatsHelpers import vinyldns.api.CatsHelpers
import vinyldns.api.domain.batch.BatchTransformations._ import vinyldns.api.domain.batch.BatchTransformations._
import vinyldns.api.domain.batch.BatchTransformations.LogicalChangeType._ import vinyldns.api.domain.batch.BatchTransformations.LogicalChangeType._
@ -35,7 +36,7 @@ import vinyldns.core.domain.record.RecordType.{RecordType, _}
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
import vinyldns.core.domain.zone.Zone import vinyldns.core.domain.zone.Zone
class BatchChangeConverterSpec extends WordSpec with Matchers with CatsHelpers { class BatchChangeConverterSpec extends AnyWordSpec with Matchers with CatsHelpers {
private def makeSingleAddChange( private def makeSingleAddChange(
name: String, name: String,

View File

@ -18,14 +18,15 @@ package vinyldns.api.domain.batch
import cats.data.NonEmptyList import cats.data.NonEmptyList
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.VinylDNSConfig import vinyldns.api.VinylDNSConfig
import vinyldns.core.domain.{DomainValidationErrorType, Fqdn, SingleChangeError, ZoneDiscoveryError} import vinyldns.core.domain.{DomainValidationErrorType, Fqdn, SingleChangeError, ZoneDiscoveryError}
import vinyldns.core.domain.batch._ import vinyldns.core.domain.batch._
import vinyldns.core.domain.record.RecordType._ import vinyldns.core.domain.record.RecordType._
import vinyldns.core.domain.record.{AAAAData, AData, CNAMEData} import vinyldns.core.domain.record.{AAAAData, AData, CNAMEData}
class BatchChangeInputSpec extends WordSpec with Matchers { class BatchChangeInputSpec extends AnyWordSpec with Matchers {
"BatchChangeInput" should { "BatchChangeInput" should {
"ensure trailing dot on A, AAAA, and CNAME fqdn" in { "ensure trailing dot on A, AAAA, and CNAME fqdn" in {
val changeA = AddChangeInput("apex.test.com", A, Some(100), AData("1.1.1.1")) val changeA = AddChangeInput("apex.test.com", A, Some(100), AData("1.1.1.1"))

View File

@ -16,14 +16,15 @@
package vinyldns.api.domain.batch package vinyldns.api.domain.batch
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.CatsHelpers import vinyldns.api.CatsHelpers
import vinyldns.api.domain.batch.BatchChangeInterfaces._ import vinyldns.api.domain.batch.BatchChangeInterfaces._
import cats.effect._ import cats.effect._
import cats.implicits._ import cats.implicits._
import vinyldns.core.domain.{BatchChangeIsEmpty, ChangeLimitExceeded} import vinyldns.core.domain.{BatchChangeIsEmpty, ChangeLimitExceeded}
class BatchChangeInterfacesSpec extends WordSpec with Matchers with CatsHelpers { class BatchChangeInterfacesSpec extends AnyWordSpec with Matchers with CatsHelpers {
"toBatchResult" should { "toBatchResult" should {
"work with either success input" in { "work with either success input" in {

View File

@ -21,8 +21,10 @@ import cats.effect._
import cats.implicits._ import cats.implicits._
import cats.scalatest.{EitherMatchers, ValidatedMatchers} import cats.scalatest.{EitherMatchers, ValidatedMatchers}
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, EitherValues, Matchers, WordSpec} import org.scalatest.{BeforeAndAfterEach, EitherValues}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.ValidatedBatchMatcherImprovements.containChangeForValidation import vinyldns.api.ValidatedBatchMatcherImprovements.containChangeForValidation
import vinyldns.api._ import vinyldns.api._
import vinyldns.api.domain.auth.AuthPrincipalProvider import vinyldns.api.domain.auth.AuthPrincipalProvider
@ -52,7 +54,7 @@ import vinyldns.api.domain.access.AccessValidations
import scala.concurrent.ExecutionContext import scala.concurrent.ExecutionContext
class BatchChangeServiceSpec class BatchChangeServiceSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with CatsHelpers with CatsHelpers

View File

@ -20,8 +20,10 @@ import cats.implicits._
import cats.scalatest.{EitherMatchers, ValidatedMatchers} import cats.scalatest.{EitherMatchers, ValidatedMatchers}
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalacheck.Gen import org.scalacheck.Gen
import org.scalatest.prop.GeneratorDrivenPropertyChecks import org.scalatestplus.scalacheck.ScalaCheckDrivenPropertyChecks
import org.scalatest.{EitherValues, Matchers, PropSpec} import org.scalatest.EitherValues
import org.scalatest.matchers.should.Matchers
import org.scalatest.propspec.AnyPropSpec
import vinyldns.api.domain.access.AccessValidations import vinyldns.api.domain.access.AccessValidations
import vinyldns.api.domain.batch.BatchTransformations._ import vinyldns.api.domain.batch.BatchTransformations._
import vinyldns.api.domain.{DomainValidations, batch} import vinyldns.api.domain.{DomainValidations, batch}
@ -37,9 +39,9 @@ import vinyldns.core.domain.zone.{ACLRule, AccessLevel, Zone, ZoneStatus}
import scala.util.Random import scala.util.Random
class BatchChangeValidationsSpec class BatchChangeValidationsSpec
extends PropSpec extends AnyPropSpec
with Matchers with Matchers
with GeneratorDrivenPropertyChecks with ScalaCheckDrivenPropertyChecks
with EitherMatchers with EitherMatchers
with EitherValues with EitherValues
with ValidatedMatchers { with ValidatedMatchers {

View File

@ -16,11 +16,12 @@
package vinyldns.api.domain.batch package vinyldns.api.domain.batch
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain.batch.BatchTransformations.ExistingZones import vinyldns.api.domain.batch.BatchTransformations.ExistingZones
import vinyldns.core.domain.zone.Zone import vinyldns.core.domain.zone.Zone
class BatchTransformationsSpec extends WordSpec with Matchers { class BatchTransformationsSpec extends AnyWordSpec with Matchers {
"ExistingZones" should { "ExistingZones" should {
val ip4base1 = Zone("1.2.3.in-addr.arpa.", "test") val ip4base1 = Zone("1.2.3.in-addr.arpa.", "test")

View File

@ -16,9 +16,10 @@
package vinyldns.api.domain.batch package vinyldns.api.domain.batch
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class V6DiscoveryNibbleBoundariesSpec extends WordSpec with Matchers { class V6DiscoveryNibbleBoundariesSpec extends AnyWordSpec with Matchers {
"V6DiscoveryNibbleBoundaries" should { "V6DiscoveryNibbleBoundaries" should {
"Succeed with valid input" in { "Succeed with valid input" in {
noException should be thrownBy V6DiscoveryNibbleBoundaries(2, 10) noException should be thrownBy V6DiscoveryNibbleBoundaries(2, 10)

View File

@ -23,8 +23,10 @@ import org.joda.time.DateTime
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatest.BeforeAndAfterEach
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.xbill.DNS import org.xbill.DNS
import org.xbill.DNS.{Lookup, Name} import org.xbill.DNS.{Lookup, Name}
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
@ -37,7 +39,7 @@ import vinyldns.core.domain.zone.{Zone, ZoneConnection}
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
class DnsConnectionSpec class DnsConnectionSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers with ResultHelpers

View File

@ -20,8 +20,10 @@ import java.net.InetAddress
import org.joda.time.DateTime import org.joda.time.DateTime
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatest.BeforeAndAfterEach
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.xbill.DNS import org.xbill.DNS
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.api.domain.dns.DnsProtocol._ import vinyldns.api.domain.dns.DnsProtocol._
@ -33,7 +35,7 @@ import vinyldns.core.domain.Fqdn
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
class DnsConversionsSpec class DnsConversionsSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers with ResultHelpers

View File

@ -20,8 +20,10 @@ import cats.scalatest.EitherMatchers
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.core.domain.auth.AuthPrincipal import vinyldns.core.domain.auth.AuthPrincipal
@ -34,7 +36,7 @@ import vinyldns.core.domain.membership._
import vinyldns.core.domain.record.RecordSetRepository import vinyldns.core.domain.record.RecordSetRepository
class MembershipServiceSpec class MembershipServiceSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -17,8 +17,10 @@
package vinyldns.api.domain.membership package vinyldns.api.domain.membership
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpecLike} import org.scalatest.BeforeAndAfterEach
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
import vinyldns.core.domain.auth.AuthPrincipal import vinyldns.core.domain.auth.AuthPrincipal
@ -26,7 +28,7 @@ import vinyldns.api.domain.zone.NotAuthorizedError
import vinyldns.core.domain.membership.User import vinyldns.core.domain.membership.User
class MembershipValidationsSpec class MembershipValidationsSpec
extends WordSpecLike extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -16,13 +16,14 @@
package vinyldns.api.domain.record package vinyldns.api.domain.record
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.TestMembershipData.okAuth import vinyldns.core.TestMembershipData.okAuth
import vinyldns.core.TestRecordSetData._ import vinyldns.core.TestRecordSetData._
import vinyldns.core.TestZoneData.okZone import vinyldns.core.TestZoneData.okZone
import vinyldns.core.domain.record.{AData, RecordSet} import vinyldns.core.domain.record.{AData, RecordSet}
class RecordSetChangeSpec extends WordSpec with Matchers { class RecordSetChangeSpec extends AnyWordSpec with Matchers {
val apexRs: RecordSet = rsOk.copy(name = "@") val apexRs: RecordSet = rsOk.copy(name = "@")

View File

@ -16,14 +16,15 @@
package vinyldns.api.domain.record package vinyldns.api.domain.record
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain.record.RecordSetHelpers._ import vinyldns.api.domain.record.RecordSetHelpers._
import vinyldns.core.TestRecordSetData._ import vinyldns.core.TestRecordSetData._
import vinyldns.core.TestZoneData._ import vinyldns.core.TestZoneData._
import vinyldns.core.domain.Fqdn import vinyldns.core.domain.Fqdn
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
class RecordSetHelpersSpec extends WordSpec with Matchers { class RecordSetHelpersSpec extends AnyWordSpec with Matchers {
"RecordSetHelpers" should { "RecordSetHelpers" should {
"matches" should { "matches" should {

View File

@ -20,8 +20,10 @@ import cats.effect._
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.mockito.Matchers.any import org.mockito.Matchers.any
import org.mockito.Mockito.doReturn import org.mockito.Mockito.doReturn
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.api.domain.access.AccessValidations import vinyldns.api.domain.access.AccessValidations
@ -40,7 +42,7 @@ import vinyldns.core.domain.zone._
import vinyldns.core.queue.MessageQueue import vinyldns.core.queue.MessageQueue
class RecordSetServiceSpec class RecordSetServiceSpec
extends WordSpec extends AnyWordSpec
with EitherMatchers with EitherMatchers
with Matchers with Matchers
with MockitoSugar with MockitoSugar

View File

@ -18,8 +18,9 @@ package vinyldns.api.domain.record
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.record.RecordType._ import vinyldns.core.domain.record.RecordType._
import vinyldns.api.domain.zone.{ import vinyldns.api.domain.zone.{
InvalidGroupError, InvalidGroupError,
@ -36,7 +37,7 @@ import vinyldns.core.domain.membership.Group
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
class RecordSetValidationsSpec class RecordSetValidationsSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers with ResultHelpers

View File

@ -19,8 +19,10 @@ package vinyldns.api.domain.zone
import cats.scalatest.{EitherMatchers, EitherValues} import cats.scalatest.{EitherMatchers, EitherValues}
import org.joda.time.DateTime import org.joda.time.DateTime
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api.domain.dns.DnsConnection import vinyldns.api.domain.dns.DnsConnection
import vinyldns.api.domain.dns.DnsProtocol.TypeNotFound import vinyldns.api.domain.dns.DnsProtocol.TypeNotFound
@ -33,7 +35,7 @@ import vinyldns.core.domain.zone.{ConfiguredDnsConnections, DnsBackend, Zone, Zo
import scala.concurrent.duration._ import scala.concurrent.duration._
class ZoneConnectionValidatorSpec class ZoneConnectionValidatorSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach
@ -58,7 +60,7 @@ class ZoneConnectionValidatorSpec
case "error." => IO.raiseError(new RuntimeException("transfer connection failure!")) case "error." => IO.raiseError(new RuntimeException("transfer connection failure!"))
case "timeout." => case "timeout." =>
IO { IO {
Thread.sleep(100) Thread.sleep(200)
mockZoneView mockZoneView
} }
case _ => case _ =>
@ -241,25 +243,6 @@ class ZoneConnectionValidatorSpec
result.getMessage should include("transfer connection failure!") result.getMessage should include("transfer connection failure!")
} }
"respond with a failure if loadDns times out" in {
val badZone = Zone(
"timeout.",
"test@test.com",
connection =
Some(ZoneConnection("vinyldns.", "vinyldns.", "nzisn+4G2ldMn0q1CV3vsg==", "10.1.1.1")),
transferConnection =
Some(ZoneConnection("vinyldns.", "vinyldns.", "nzisn+4G2ldMn0q1CV3vsg==", "10.1.1.1"))
)
doReturn(List(mockRecordSet).toResult)
.when(mockDnsConnection)
.resolve(badZone.name, badZone.name, RecordType.SOA)
val result = underTest.validateZoneConnections(badZone).value.unsafeRunSync()
val error = result.leftValue
error shouldBe a[ConnectionFailed]
error.getMessage should include("Transfer connection invalid")
}
"isValidBackendId" should { "isValidBackendId" should {
val backend = DnsBackend("some-test-backend", testDefaultConnection, testDefaultConnection) val backend = DnsBackend("some-test-backend", testDefaultConnection, testDefaultConnection)
val underTest = val underTest =

View File

@ -18,7 +18,8 @@ package vinyldns.api.domain.zone
import cats.scalatest.ValidatedMatchers import cats.scalatest.ValidatedMatchers
import com.comcast.ip4s._ import com.comcast.ip4s._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.{ import vinyldns.core.domain.{
DomainValidationError, DomainValidationError,
Fqdn, Fqdn,
@ -28,7 +29,7 @@ import vinyldns.core.domain.{
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
import vinyldns.core.TestRecordSetData._ import vinyldns.core.TestRecordSetData._
class ZoneRecordValidationsSpec extends WordSpec with Matchers with ValidatedMatchers { class ZoneRecordValidationsSpec extends AnyWordSpec with Matchers with ValidatedMatchers {
import vinyldns.api.domain.zone.ZoneRecordValidations._ import vinyldns.api.domain.zone.ZoneRecordValidations._

View File

@ -18,12 +18,14 @@ package vinyldns.api.domain.zone
import org.mockito.Matchers.{any, anyString} import org.mockito.Matchers.{any, anyString}
import org.mockito.Mockito.{doReturn, reset} import org.mockito.Mockito.{doReturn, reset}
import org.scalatest._ import org.scalatest.matchers.should.Matchers
import org.scalatest.mockito.MockitoSugar import org.scalatest.wordspec.AnyWordSpec
import org.scalatestplus.mockito.MockitoSugar
import cats.implicits._ import cats.implicits._
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import cats.effect._ import cats.effect._
import org.scalatest.{BeforeAndAfterEach, EitherValues}
import vinyldns.api.domain.access.AccessValidations import vinyldns.api.domain.access.AccessValidations
import vinyldns.api.repository.TestDataLoader import vinyldns.api.repository.TestDataLoader
import vinyldns.core.domain.auth.AuthPrincipal import vinyldns.core.domain.auth.AuthPrincipal
@ -36,7 +38,7 @@ import vinyldns.core.TestZoneData._
import scala.concurrent.duration._ import scala.concurrent.duration._
class ZoneServiceSpec class ZoneServiceSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers with ResultHelpers

View File

@ -18,15 +18,16 @@ package vinyldns.api.domain.zone
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.ResultHelpers import vinyldns.api.ResultHelpers
import vinyldns.core.TestZoneData._ import vinyldns.core.TestZoneData._
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
import vinyldns.core.domain.zone.{ACLRule, ZoneACL} import vinyldns.core.domain.zone.{ACLRule, ZoneACL}
class ZoneValidationsSpec class ZoneValidationsSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ResultHelpers with ResultHelpers

View File

@ -22,8 +22,9 @@ import org.joda.time.DateTime
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.concurrent.ScalaFutures.whenReady import org.scalatest.concurrent.ScalaFutures.whenReady
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.xbill.DNS import org.xbill.DNS
import org.xbill.DNS.{Name, ZoneTransferIn} import org.xbill.DNS.{Name, ZoneTransferIn}
import vinyldns.api.domain.dns.DnsConversions import vinyldns.api.domain.dns.DnsConversions
@ -37,7 +38,7 @@ import vinyldns.core.domain.record.NameSort.NameSort
import vinyldns.core.domain.record.RecordType.RecordType import vinyldns.core.domain.record.RecordType.RecordType
import vinyldns.core.domain.zone.{Zone, ZoneConnection, ZoneStatus} import vinyldns.core.domain.zone.{Zone, ZoneConnection, ZoneStatus}
class ZoneViewLoaderSpec extends WordSpec with Matchers with MockitoSugar with DnsConversions { class ZoneViewLoaderSpec extends AnyWordSpec with Matchers with MockitoSugar with DnsConversions {
val testZoneName = "vinyldns." val testZoneName = "vinyldns."
val testZoneConnection: Option[ZoneConnection] = Some( val testZoneConnection: Option[ZoneConnection] = Some(

View File

@ -17,13 +17,14 @@
package vinyldns.api.domain.zone package vinyldns.api.domain.zone
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.VinylDNSTestHelpers import vinyldns.api.VinylDNSTestHelpers
import vinyldns.api.domain.record.RecordSetChangeGenerator import vinyldns.api.domain.record.RecordSetChangeGenerator
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
import vinyldns.core.domain.zone.Zone import vinyldns.core.domain.zone.Zone
class ZoneViewSpec extends WordSpec with Matchers with VinylDNSTestHelpers { class ZoneViewSpec extends AnyWordSpec with Matchers with VinylDNSTestHelpers {
val testZone = Zone("vinyldns.", "test@test.com") val testZone = Zone("vinyldns.", "test@test.com")

View File

@ -20,8 +20,9 @@ import cats.effect._
import org.joda.time.DateTime import org.joda.time.DateTime
import org.mockito.Matchers.any import org.mockito.Matchers.any
import org.mockito.Mockito.{doReturn, verify} import org.mockito.Mockito.{doReturn, verify}
import org.scalatest.{BeforeAndAfterEach, WordSpec} import org.scalatest.BeforeAndAfterEach
import org.scalatest.mockito.MockitoSugar import org.scalatest.wordspec.AnyWordSpec
import org.scalatestplus.mockito.MockitoSugar
import vinyldns.api.CatsHelpers import vinyldns.api.CatsHelpers
import vinyldns.api.repository.InMemoryBatchChangeRepository import vinyldns.api.repository.InMemoryBatchChangeRepository
import vinyldns.core.domain.batch._ import vinyldns.core.domain.batch._
@ -31,7 +32,7 @@ import vinyldns.core.notifier.{AllNotifiers, Notification, Notifier}
import scala.concurrent.ExecutionContext import scala.concurrent.ExecutionContext
class BatchChangeHandlerSpec class BatchChangeHandlerSpec
extends WordSpec extends AnyWordSpec
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach
with CatsHelpers { with CatsHelpers {

View File

@ -21,8 +21,10 @@ import org.joda.time.DateTime
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import org.xbill.DNS import org.xbill.DNS
import vinyldns.api.domain.dns.DnsConnection import vinyldns.api.domain.dns.DnsConnection
import vinyldns.api.domain.dns.DnsProtocol.{NoError, NotAuthorized, Refused, TryAgain} import vinyldns.api.domain.dns.DnsProtocol.{NoError, NotAuthorized, Refused, TryAgain}
@ -43,7 +45,7 @@ import scala.concurrent.ExecutionContext
import cats.effect.ContextShift import cats.effect.ContextShift
class RecordSetChangeHandlerSpec class RecordSetChangeHandlerSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -20,14 +20,15 @@ import cats.effect._
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.TestZoneData.zoneChangePending import vinyldns.core.TestZoneData.zoneChangePending
import vinyldns.core.domain.record.RecordSetRepository import vinyldns.core.domain.record.RecordSetRepository
import vinyldns.core.domain.zone.ZoneRepository.DuplicateZoneError import vinyldns.core.domain.zone.ZoneRepository.DuplicateZoneError
import vinyldns.core.domain.zone._ import vinyldns.core.domain.zone._
class ZoneChangeHandlerSpec extends WordSpec with Matchers with MockitoSugar { class ZoneChangeHandlerSpec extends AnyWordSpec with Matchers with MockitoSugar {
trait Fixture { trait Fixture {
val mockZoneRepo = mock[ZoneRepository] val mockZoneRepo = mock[ZoneRepository]

View File

@ -21,8 +21,10 @@ import org.joda.time.DateTime
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.Matchers.any import org.mockito.Matchers.any
import org.mockito.Mockito.{doReturn, reset, times, verify} import org.mockito.Mockito.{doReturn, reset, times, verify}
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.api.VinylDNSTestHelpers import vinyldns.api.VinylDNSTestHelpers
import vinyldns.api.domain.record.RecordSetChangeGenerator import vinyldns.api.domain.record.RecordSetChangeGenerator
import vinyldns.api.domain.zone.{DnsZoneViewLoader, VinylDNSZoneViewLoader, ZoneView} import vinyldns.api.domain.zone.{DnsZoneViewLoader, VinylDNSZoneViewLoader, ZoneView}
@ -34,7 +36,7 @@ import vinyldns.core.domain.zone.ZoneRepository.DuplicateZoneError
import vinyldns.core.domain.zone._ import vinyldns.core.domain.zone._
class ZoneSyncHandlerSpec class ZoneSyncHandlerSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -21,11 +21,12 @@ import cats.scalatest.EitherMatchers
import com.codahale.metrics.ScheduledReporter import com.codahale.metrics.ScheduledReporter
import com.typesafe.config.ConfigFactory import com.typesafe.config.ConfigFactory
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.VinylDNSConfig import vinyldns.api.VinylDNSConfig
class APIMetricsSpec extends WordSpec with Matchers with MockitoSugar with EitherMatchers { class APIMetricsSpec extends AnyWordSpec with Matchers with MockitoSugar with EitherMatchers {
"APIMetricsSettings" should { "APIMetricsSettings" should {
"succeed with valid config" in { "succeed with valid config" in {

View File

@ -15,8 +15,10 @@
*/ */
package vinyldns.api.notifier.email package vinyldns.api.notifier.email
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.mockito.MockitoSugar import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import org.scalatestplus.mockito.MockitoSugar
import vinyldns.api.CatsHelpers import vinyldns.api.CatsHelpers
import javax.mail.{Provider, Session, Transport, URLName} import javax.mail.{Provider, Session, Transport, URLName}
import java.util.Properties import java.util.Properties
@ -56,7 +58,7 @@ class MockTransport(session: Session, urlname: URLName) extends Transport(sessio
} }
class EmailNotifierSpec class EmailNotifierSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -15,8 +15,10 @@
*/ */
package vinyldns.api.notifier.sns package vinyldns.api.notifier.sns
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.mockito.MockitoSugar import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import org.scalatestplus.mockito.MockitoSugar
import vinyldns.api.CatsHelpers import vinyldns.api.CatsHelpers
import vinyldns.core.domain.membership.UserRepository import vinyldns.core.domain.membership.UserRepository
import vinyldns.core.notifier.Notification import vinyldns.core.notifier.Notification
@ -42,7 +44,7 @@ import com.amazonaws.services.sns.model.PublishRequest
import com.amazonaws.services.sns.model.PublishResult import com.amazonaws.services.sns.model.PublishResult
class SnsNotifierSpec class SnsNotifierSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -18,8 +18,9 @@ package vinyldns.api.repository
import cats.scalatest.ValidatedMatchers import cats.scalatest.ValidatedMatchers
import com.typesafe.config.{Config, ConfigFactory} import com.typesafe.config.{Config, ConfigFactory}
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.batch.BatchChangeRepository import vinyldns.core.domain.batch.BatchChangeRepository
import vinyldns.core.domain.membership.{ import vinyldns.core.domain.membership.{
GroupChangeRepository, GroupChangeRepository,
@ -32,7 +33,7 @@ import vinyldns.core.domain.zone.{ZoneChangeRepository, ZoneRepository}
import vinyldns.core.repository.{DataStore, DataStoreConfig, RepositoriesConfig} import vinyldns.core.repository.{DataStore, DataStoreConfig, RepositoriesConfig}
class ApiDataAccessorProviderSpec class ApiDataAccessorProviderSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with ValidatedMatchers { with ValidatedMatchers {

View File

@ -19,15 +19,16 @@ package vinyldns.api.repository
import java.util.UUID import java.util.UUID
import cats.effect.IO import cats.effect.IO
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import vinyldns.core.domain.membership._ import vinyldns.core.domain.membership._
import vinyldns.core.domain.zone.{Zone, ZoneRepository} import vinyldns.core.domain.zone.{Zone, ZoneRepository}
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
class TestDataLoaderSpec extends WordSpec with Matchers with MockitoSugar { class TestDataLoaderSpec extends AnyWordSpec with Matchers with MockitoSugar {
val userRepo: UserRepository = mock[UserRepository] val userRepo: UserRepository = mock[UserRepository]
doReturn(IO.pure(okUser)).when(userRepo).save(any[User]) doReturn(IO.pure(okUser)).when(userRepo).save(any[User])

View File

@ -19,12 +19,13 @@ package vinyldns.api.route
import cats.scalatest.{ValidatedMatchers, ValidatedValues} import cats.scalatest.{ValidatedMatchers, ValidatedValues}
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s.{Extraction, Serializer => json4sSerializer} import org.json4s.{Extraction, Serializer => json4sSerializer}
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.record.RecordType import vinyldns.core.domain.record.RecordType
import vinyldns.core.domain.zone.AccessLevel import vinyldns.core.domain.zone.AccessLevel
class ACLRuleInfoSerializerSpec class ACLRuleInfoSerializerSpec
extends WordSpec extends AnyWordSpec
with ACLJsonProtocol with ACLJsonProtocol
with Matchers with Matchers
with ValidatedMatchers with ValidatedMatchers

View File

@ -17,9 +17,10 @@
package vinyldns.api.route package vinyldns.api.route
import akka.http.scaladsl.model.{ContentTypes, HttpEntity, HttpRequest} import akka.http.scaladsl.model.{ContentTypes, HttpEntity, HttpRequest}
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class Aws4AuthenticatorSpec extends WordSpec with Matchers { class Aws4AuthenticatorSpec extends AnyWordSpec with Matchers {
"getting canonical headers" should { "getting canonical headers" should {
"pull the content type" in { "pull the content type" in {

View File

@ -23,7 +23,8 @@ import org.joda.time.DateTime
import org.json4s.Extraction._ import org.json4s.Extraction._
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain._ import vinyldns.api.domain._
import vinyldns.api.domain.batch.BatchTransformations.{AddChangeForValidation, ChangeForValidation} import vinyldns.api.domain.batch.BatchTransformations.{AddChangeForValidation, ChangeForValidation}
import vinyldns.api.domain.batch.ChangeInputType._ import vinyldns.api.domain.batch.ChangeInputType._
@ -43,7 +44,7 @@ import vinyldns.core.domain.record.RecordType._
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
class BatchChangeJsonProtocolSpec class BatchChangeJsonProtocolSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with BatchChangeJsonProtocol with BatchChangeJsonProtocol
with ValidatedValues with ValidatedValues

View File

@ -27,8 +27,10 @@ import org.joda.time.DateTime
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.json4s.jackson.JsonMethods._ import org.json4s.jackson.JsonMethods._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.api.domain.batch._ import vinyldns.api.domain.batch._
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
import vinyldns.core.domain.BatchChangeIsEmpty import vinyldns.core.domain.BatchChangeIsEmpty
@ -39,7 +41,7 @@ import vinyldns.core.domain.record.RecordType._
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
class BatchChangeRoutingSpec() class BatchChangeRoutingSpec()
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with MockitoSugar with MockitoSugar
with VinylDNSJsonProtocol with VinylDNSJsonProtocol
@ -542,12 +544,10 @@ class BatchChangeRoutingSpec()
"return a 400 BadRequest for scheduled change disabled" in { "return a 400 BadRequest for scheduled change disabled" in {
val scheduledDisabledRequest = buildValidBatchChangeInputJson("scheduledDisabledRequest") val scheduledDisabledRequest = buildValidBatchChangeInputJson("scheduledDisabledRequest")
Post("/zones/batchrecordchanges").withEntity( Post("/zones/batchrecordchanges").withEntity(
HttpEntity(ContentTypes.`application/json`, scheduledDisabledRequest) HttpEntity(ContentTypes.`application/json`, scheduledDisabledRequest)
) ~> ) ~>
Route.seal(batchChangeRoute) ~> check { Route.seal(batchChangeRoute) ~> check {
response.entity.toString should include(ScheduledChangesDisabled.message) response.entity.toString should include(ScheduledChangesDisabled.message)
status shouldBe BadRequest status shouldBe BadRequest
} }

View File

@ -19,10 +19,11 @@ package vinyldns.api.route
import akka.actor.ActorSystem import akka.actor.ActorSystem
import akka.http.scaladsl.model.StatusCodes import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.testkit.ScalatestRouteTest import akka.http.scaladsl.testkit.ScalatestRouteTest
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class BlueGreenRoutingSpec class BlueGreenRoutingSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with BlueGreenRoute with BlueGreenRoute
with Matchers { with Matchers {

View File

@ -20,11 +20,12 @@ import cats.scalatest.ValidatedMatchers
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.json4s.jackson.JsonMethods._ import org.json4s.jackson.JsonMethods._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain.membership.UserId import vinyldns.api.domain.membership.UserId
class CreateGroupInputSerializerSpec class CreateGroupInputSerializerSpec
extends WordSpec extends AnyWordSpec
with MembershipJsonProtocol with MembershipJsonProtocol
with Matchers with Matchers
with ValidatedMatchers { with ValidatedMatchers {

View File

@ -20,11 +20,12 @@ import cats.scalatest.{ValidatedMatchers, ValidatedValues}
import org.joda.time.DateTime import org.joda.time.DateTime
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.membership.GroupStatus import vinyldns.core.domain.membership.GroupStatus
class GroupSerializerSpec class GroupSerializerSpec
extends WordSpec extends AnyWordSpec
with MembershipJsonProtocol with MembershipJsonProtocol
with Matchers with Matchers
with ValidatedMatchers with ValidatedMatchers

View File

@ -19,14 +19,16 @@ package vinyldns.api.route
import akka.http.scaladsl.model.StatusCodes import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.testkit.ScalatestRouteTest import akka.http.scaladsl.testkit.ScalatestRouteTest
import org.mockito.Mockito.doReturn import org.mockito.Mockito.doReturn
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, OneInstancePerTest, WordSpec} import org.scalatest.OneInstancePerTest
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import cats.effect._ import cats.effect._
import vinyldns.core.health.HealthCheck.HealthCheckError import vinyldns.core.health.HealthCheck.HealthCheckError
import vinyldns.core.health.HealthService import vinyldns.core.health.HealthService
class HealthCheckRoutingSpec class HealthCheckRoutingSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with HealthCheckRoute with HealthCheckRoute
with OneInstancePerTest with OneInstancePerTest

View File

@ -22,7 +22,8 @@ import org.json4s._
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s.jackson.JsonMethods._ import org.json4s.jackson.JsonMethods._
import org.scalatest.Matchers import org.scalatest.Matchers
import org.scalatest.WordSpec import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import cats.implicits._ import cats.implicits._
@ -49,7 +50,7 @@ case class Pet(typ: PetType, name: String)
case class User(name: String, pet: Option[Pet], home: Home, typ: UserType) case class User(name: String, pet: Option[Pet], home: Home, typ: UserType)
class JsonValidationSpec class JsonValidationSpec
extends WordSpec extends AnyWordSpec
with JsonValidation with JsonValidation
with ScalatestRouteTest with ScalatestRouteTest
with Matchers { with Matchers {

View File

@ -26,8 +26,10 @@ import org.json4s.jackson.JsonMethods._
import org.mockito.ArgumentCaptor import org.mockito.ArgumentCaptor
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api.domain.membership._ import vinyldns.api.domain.membership._
import vinyldns.api.domain.zone.NotAuthorizedError import vinyldns.api.domain.zone.NotAuthorizedError
@ -38,7 +40,7 @@ import vinyldns.core.domain.membership.LockStatus.LockStatus
import vinyldns.core.domain.membership.{Group, LockStatus} import vinyldns.core.domain.membership.{Group, LockStatus}
class MembershipRoutingSpec class MembershipRoutingSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with VinylDNSJsonProtocol with VinylDNSJsonProtocol
with VinylDNSRouteTestHelper with VinylDNSRouteTestHelper

View File

@ -19,9 +19,10 @@ package vinyldns.api.route
import akka.actor.ActorSystem import akka.actor.ActorSystem
import akka.http.scaladsl.model.StatusCodes import akka.http.scaladsl.model.StatusCodes
import akka.http.scaladsl.testkit.ScalatestRouteTest import akka.http.scaladsl.testkit.ScalatestRouteTest
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class PingRoutingSpec extends WordSpec with ScalatestRouteTest with PingRoute with Matchers { class PingRoutingSpec extends AnyWordSpec with ScalatestRouteTest with PingRoute with Matchers {
def actorRefFactory: ActorSystem = system def actorRefFactory: ActorSystem = system

View File

@ -20,12 +20,14 @@ import akka.http.scaladsl.model.{HttpProtocol, HttpResponse, StatusCodes}
import akka.http.scaladsl.testkit.ScalatestRouteTest import akka.http.scaladsl.testkit.ScalatestRouteTest
import io.prometheus.client.CollectorRegistry import io.prometheus.client.CollectorRegistry
import io.prometheus.client.dropwizard.DropwizardExports import io.prometheus.client.dropwizard.DropwizardExports
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.core.VinylDNSMetrics import vinyldns.core.VinylDNSMetrics
class PrometheusRoutingSpec class PrometheusRoutingSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with PrometheusRoute with PrometheusRoute
with BeforeAndAfterEach with BeforeAndAfterEach

View File

@ -23,7 +23,8 @@ import org.joda.time.DateTime
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.json4s.jackson.JsonMethods._ import org.json4s.jackson.JsonMethods._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api.domain.record.{ListRecordSetChangesResponse, RecordSetServiceAlgebra} import vinyldns.api.domain.record.{ListRecordSetChangesResponse, RecordSetServiceAlgebra}
import vinyldns.api.domain.zone._ import vinyldns.api.domain.zone._
@ -39,7 +40,7 @@ import vinyldns.core.domain.zone._
import scala.util.Random import scala.util.Random
class RecordSetRoutingSpec class RecordSetRoutingSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with VinylDNSJsonProtocol with VinylDNSJsonProtocol
with VinylDNSRouteTestHelper with VinylDNSRouteTestHelper

View File

@ -22,10 +22,12 @@ import akka.http.scaladsl.testkit.ScalatestRouteTest
import cats.effect.{ContextShift, IO} import cats.effect.{ContextShift, IO}
import fs2.concurrent.SignallingRef import fs2.concurrent.SignallingRef
import org.scalatest._ import org.scalatest._
import org.scalatest.mockito.MockitoSugar import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatestplus.mockito.MockitoSugar
class StatusRoutingSpec class StatusRoutingSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with StatusRoute with StatusRoute
with OneInstancePerTest with OneInstancePerTest

View File

@ -20,11 +20,12 @@ import cats.scalatest.ValidatedMatchers
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.json4s.jackson.JsonMethods._ import org.json4s.jackson.JsonMethods._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain.membership.UserId import vinyldns.api.domain.membership.UserId
class UpdateGroupInputSerializerSpec class UpdateGroupInputSerializerSpec
extends WordSpec extends AnyWordSpec
with MembershipJsonProtocol with MembershipJsonProtocol
with Matchers with Matchers
with ValidatedMatchers { with ValidatedMatchers {

View File

@ -21,14 +21,15 @@ import akka.http.scaladsl.server.RequestContext
import cats.effect._ import cats.effect._
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain.auth.AuthPrincipalProvider import vinyldns.api.domain.auth.AuthPrincipalProvider
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
import vinyldns.core.crypto.CryptoAlgebra import vinyldns.core.crypto.CryptoAlgebra
import vinyldns.core.domain.auth.AuthPrincipal import vinyldns.core.domain.auth.AuthPrincipal
class VinylDNSAuthenticatorSpec extends WordSpec with Matchers with MockitoSugar { class VinylDNSAuthenticatorSpec extends AnyWordSpec with Matchers with MockitoSugar {
private val mockAuthenticator = mock[Aws4Authenticator] private val mockAuthenticator = mock[Aws4Authenticator]
private val mockAuthPrincipalProvider = mock[AuthPrincipalProvider] private val mockAuthPrincipalProvider = mock[AuthPrincipalProvider]

View File

@ -24,15 +24,17 @@ import akka.http.scaladsl.testkit.ScalatestRouteTest
import nl.grons.metrics.scala.{Histogram, Meter} import nl.grons.metrics.scala.{Histogram, Meter}
import org.mockito.Matchers._ import org.mockito.Matchers._
import org.mockito.Mockito._ import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, OneInstancePerTest, WordSpec} import org.scalatest.{BeforeAndAfterEach, OneInstancePerTest}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain.zone.ZoneServiceAlgebra import vinyldns.api.domain.zone.ZoneServiceAlgebra
import vinyldns.core.route.Monitor import vinyldns.core.route.Monitor
import scala.util.Failure import scala.util.Failure
class VinylDNSDirectivesSpec class VinylDNSDirectivesSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with Matchers with Matchers
with MockitoSugar with MockitoSugar

View File

@ -20,7 +20,8 @@ import cats.scalatest.ValidatedValues
import org.joda.time.DateTime import org.joda.time.DateTime
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.VinylDNSTestHelpers import vinyldns.api.VinylDNSTestHelpers
import vinyldns.core.domain.record._ import vinyldns.core.domain.record._
import vinyldns.core.domain.zone.{CreateZoneInput, UpdateZoneInput, ZoneConnection} import vinyldns.core.domain.zone.{CreateZoneInput, UpdateZoneInput, ZoneConnection}
@ -28,7 +29,7 @@ import vinyldns.core.TestRecordSetData._
import vinyldns.core.domain.Fqdn import vinyldns.core.domain.Fqdn
class VinylDNSJsonProtocolSpec class VinylDNSJsonProtocolSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with VinylDNSJsonProtocol with VinylDNSJsonProtocol
with ValidatedValues with ValidatedValues

View File

@ -18,9 +18,15 @@ package vinyldns.api.route
import akka.http.scaladsl.model.{ContentTypes, HttpEntity, HttpResponse, StatusCodes} import akka.http.scaladsl.model.{ContentTypes, HttpEntity, HttpResponse, StatusCodes}
import akka.http.scaladsl.server.Directives.{complete, extractUnmatchedPath} import akka.http.scaladsl.server.Directives.{complete, extractUnmatchedPath}
import akka.http.scaladsl.server.{MalformedRequestContentRejection, RejectionHandler} import akka.http.scaladsl.server.{MalformedRequestContentRejection, RejectionHandler}
import akka.http.scaladsl.testkit.ScalatestRouteTest
import org.json4s.MappingException import org.json4s.MappingException
trait VinylDNSRouteTestHelper { trait VinylDNSRouteTestHelper { this: ScalatestRouteTest =>
import scala.concurrent.duration._
import akka.http.scaladsl.testkit.RouteTestTimeout
implicit val testTimeout = RouteTestTimeout(10.seconds)
implicit def validationRejectionHandler: RejectionHandler = implicit def validationRejectionHandler: RejectionHandler =
RejectionHandler RejectionHandler
.newBuilder() .newBuilder()

View File

@ -21,12 +21,14 @@ import akka.http.scaladsl.model._
import akka.http.scaladsl.model.headers.RawHeader import akka.http.scaladsl.model.headers.RawHeader
import akka.http.scaladsl.server.Route import akka.http.scaladsl.server.Route
import akka.http.scaladsl.server.directives.LogEntry import akka.http.scaladsl.server.directives.LogEntry
import org.scalatest.mockito.MockitoSugar import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, OneInstancePerTest, WordSpec} import org.scalatest.OneInstancePerTest
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.auth.AuthPrincipal import vinyldns.core.domain.auth.AuthPrincipal
class VinylDNSServiceSpec class VinylDNSServiceSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with OneInstancePerTest with OneInstancePerTest

View File

@ -23,7 +23,9 @@ import akka.http.scaladsl.testkit.ScalatestRouteTest
import org.json4s.JsonDSL._ import org.json4s.JsonDSL._
import org.json4s._ import org.json4s._
import org.json4s.jackson.JsonMethods._ import org.json4s.jackson.JsonMethods._
import org.scalatest.{Matchers, OneInstancePerTest, WordSpec} import org.scalatest.OneInstancePerTest
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.Interfaces._ import vinyldns.api.Interfaces._
import vinyldns.api.crypto.Crypto import vinyldns.api.crypto.Crypto
import vinyldns.api.domain.zone.{ZoneServiceAlgebra, _} import vinyldns.api.domain.zone.{ZoneServiceAlgebra, _}
@ -34,7 +36,7 @@ import vinyldns.core.domain.record.RecordType
import vinyldns.core.domain.zone._ import vinyldns.core.domain.zone._
class ZoneRoutingSpec class ZoneRoutingSpec
extends WordSpec extends AnyWordSpec
with ScalatestRouteTest with ScalatestRouteTest
with VinylDNSJsonProtocol with VinylDNSJsonProtocol
with VinylDNSRouteTestHelper with VinylDNSRouteTestHelper

View File

@ -19,16 +19,17 @@ package vinyldns.core.crypto
import java.lang.reflect.InvocationTargetException import java.lang.reflect.InvocationTargetException
import com.typesafe.config.{Config, ConfigException, ConfigFactory} import com.typesafe.config.{Config, ConfigException, ConfigFactory}
import org.scalatest.{Matchers, WordSpec}
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class TestCrypto(config: Config) extends CryptoAlgebra { class TestCrypto(config: Config) extends CryptoAlgebra {
val testMe: String = config.getString("test-me") val testMe: String = config.getString("test-me")
def encrypt(value: String): String = value def encrypt(value: String): String = value
def decrypt(value: String): String = value def decrypt(value: String): String = value
} }
class CryptoAlgebraSpec extends WordSpec with Matchers { class CryptoAlgebraSpec extends AnyWordSpec with Matchers {
private val conf = private val conf =
""" """

View File

@ -17,9 +17,10 @@
package vinyldns.core.crypto package vinyldns.core.crypto
import com.typesafe.config._ import com.typesafe.config._
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class JavaCryptoSpec extends WordSpec with Matchers { class JavaCryptoSpec extends AnyWordSpec with Matchers {
val unencryptedString = val unencryptedString =
s"""Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore s"""Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore

View File

@ -17,9 +17,10 @@
package vinyldns.core.crypto package vinyldns.core.crypto
import com.typesafe.config.ConfigFactory import com.typesafe.config.ConfigFactory
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class NoOpCryptoSpec extends WordSpec with Matchers { class NoOpCryptoSpec extends AnyWordSpec with Matchers {
private val conf = private val conf =
""" """

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.batch package vinyldns.core.domain.batch
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.domain.record.{AData, RecordType} import vinyldns.core.domain.record.{AData, RecordType}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class BatchChangeSpec extends WordSpec with Matchers { class BatchChangeSpec extends AnyWordSpec with Matchers {
private val pendingChange = SingleAddChange( private val pendingChange = SingleAddChange(
Some("zoneid"), Some("zoneid"),
Some("zonename"), Some("zonename"),

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.batch package vinyldns.core.domain.batch
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.domain.record.{AData, RecordType} import vinyldns.core.domain.record.{AData, RecordType}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class BatchChangeSummarySpec extends WordSpec with Matchers { class BatchChangeSummarySpec extends AnyWordSpec with Matchers {
private val pendingChange = SingleAddChange( private val pendingChange = SingleAddChange(
Some("zoneid"), Some("zoneid"),
Some("zonename"), Some("zonename"),

View File

@ -15,10 +15,11 @@
*/ */
package vinyldns.core.domain.membership package vinyldns.core.domain.membership
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.TestMembershipData._ import vinyldns.core.TestMembershipData._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class GroupSpec extends WordSpec with Matchers { class GroupSpec extends AnyWordSpec with Matchers {
"Group" should { "Group" should {
"correctly adds a user as a member" in { "correctly adds a user as a member" in {
val newGroup = emptyGroup.addMember(okUser) val newGroup = emptyGroup.addMember(okUser)

View File

@ -17,9 +17,11 @@
package vinyldns.core.domain.membership package vinyldns.core.domain.membership
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{EitherValues, Matchers, WordSpec} import org.scalatest.EitherValues
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class UserChangeSpec extends WordSpec with Matchers with EitherMatchers with EitherValues { class UserChangeSpec extends AnyWordSpec with Matchers with EitherMatchers with EitherValues {
private val newUser = User("foo", "key", "secret") private val newUser = User("foo", "key", "secret")
private val currentDate = DateTime.now private val currentDate = DateTime.now

View File

@ -15,10 +15,11 @@
*/ */
package vinyldns.core.domain.membership package vinyldns.core.domain.membership
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.domain.membership.UserChangeType.UnknownUserChangeType import vinyldns.core.domain.membership.UserChangeType.UnknownUserChangeType
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class UserChangeTypeSpec extends WordSpec with Matchers { class UserChangeTypeSpec extends AnyWordSpec with Matchers {
"fromString" should { "fromString" should {
"succeed for Create" in { "succeed for Create" in {
UserChangeType.fromString("create") shouldBe Right(UserChangeType.Create) UserChangeType.fromString("create") shouldBe Right(UserChangeType.Create)

View File

@ -16,9 +16,10 @@
package vinyldns.core.domain.record package vinyldns.core.domain.record
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class ChangeSetSpec extends WordSpec with Matchers { class ChangeSetSpec extends AnyWordSpec with Matchers {
"ChangeSet" should { "ChangeSet" should {
"convert status fromInt properly" in { "convert status fromInt properly" in {

View File

@ -16,10 +16,11 @@
package vinyldns.core.domain.record package vinyldns.core.domain.record
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.domain.record.DnsSecAlgorithm._ import vinyldns.core.domain.record.DnsSecAlgorithm._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class RecordDataSpec extends WordSpec with Matchers { class RecordDataSpec extends AnyWordSpec with Matchers {
"DigestType" should { "DigestType" should {
"Properly convert from int" in { "Properly convert from int" in {

View File

@ -16,11 +16,12 @@
package vinyldns.core.domain.record package vinyldns.core.domain.record
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.TestRecordSetData._ import vinyldns.core.TestRecordSetData._
import vinyldns.core.domain.Fqdn import vinyldns.core.domain.Fqdn
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class RecordSetSpec extends WordSpec with Matchers { class RecordSetSpec extends AnyWordSpec with Matchers {
"RecordSetHelpers" should { "RecordSetHelpers" should {
"toString" should { "toString" should {

View File

@ -18,8 +18,10 @@ package vinyldns.core.domain.zone
import org.scalatest._ import org.scalatest._
import vinyldns.core.TestZoneData._ import vinyldns.core.TestZoneData._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class ZoneACLSpec extends WordSpec with Matchers { class ZoneACLSpec extends AnyWordSpec with Matchers {
"ZoneACL" should { "ZoneACL" should {
"add a new ACL rule" in { "add a new ACL rule" in {

View File

@ -17,9 +17,10 @@
package vinyldns.core.domain.zone package vinyldns.core.domain.zone
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec} import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class ZoneChangeSpec extends WordSpec with Matchers { class ZoneChangeSpec extends AnyWordSpec with Matchers {
val zoneCreate: ZoneChange = ZoneChange( val zoneCreate: ZoneChange = ZoneChange(
Zone("test", "test"), Zone("test", "test"),

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.zone package vinyldns.core.domain.zone
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.crypto.CryptoAlgebra import vinyldns.core.crypto.CryptoAlgebra
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class ZoneConnectionSpec extends WordSpec with Matchers with EitherMatchers { class ZoneConnectionSpec extends AnyWordSpec with Matchers with EitherMatchers {
val testCrypto = new CryptoAlgebra { val testCrypto = new CryptoAlgebra {
def encrypt(value: String): String = "encrypted!" def encrypt(value: String): String = "encrypted!"

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.zone package vinyldns.core.domain.zone
import org.joda.time.DateTime import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.TestZoneData._ import vinyldns.core.TestZoneData._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class ZoneSpec extends WordSpec with Matchers { class ZoneSpec extends AnyWordSpec with Matchers {
"Zone" should { "Zone" should {
"toString should output a zone properly" in { "toString should output a zone properly" in {

View File

@ -17,10 +17,11 @@
package vinyldns.core.health package vinyldns.core.health
import cats.effect._ import cats.effect._
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.health.HealthCheck._ import vinyldns.core.health.HealthCheck._
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class HealthServiceSpec extends WordSpec with Matchers { class HealthServiceSpec extends AnyWordSpec with Matchers {
"Checking Status" should { "Checking Status" should {
val successCheck: HealthCheck = IO.unit.attempt.asHealthCheck val successCheck: HealthCheck = IO.unit.attempt.asHealthCheck

View File

@ -17,15 +17,16 @@
package vinyldns.core.notifier package vinyldns.core.notifier
import cats.scalatest.{EitherMatchers, EitherValues, ValidatedMatchers} import cats.scalatest.{EitherMatchers, EitherValues, ValidatedMatchers}
import org.scalatest.mockito._ import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec}
import org.mockito.Mockito._ import org.mockito.Mockito._
import cats.effect.IO import cats.effect.IO
import org.scalatest.BeforeAndAfterEach import org.scalatest.BeforeAndAfterEach
import cats.effect.ContextShift import cats.effect.ContextShift
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class AllNotifiersSpec class AllNotifiersSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with EitherValues with EitherValues

View File

@ -18,8 +18,7 @@ package vinyldns.core.notifier
import cats.scalatest.{EitherMatchers, EitherValues, ValidatedMatchers} import cats.scalatest.{EitherMatchers, EitherValues, ValidatedMatchers}
import com.typesafe.config.{Config, ConfigFactory} import com.typesafe.config.{Config, ConfigFactory}
import org.scalatest.mockito._ import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.domain.membership.UserRepository import vinyldns.core.domain.membership.UserRepository
import cats.effect.IO import cats.effect.IO
import org.mockito.Mockito._ import org.mockito.Mockito._
@ -27,6 +26,8 @@ import org.mockito.Mockito._
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
import org.scalatest.BeforeAndAfterEach import org.scalatest.BeforeAndAfterEach
import cats.effect.ContextShift import cats.effect.ContextShift
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
object MockNotifierProvider extends MockitoSugar { object MockNotifierProvider extends MockitoSugar {
@ -48,7 +49,7 @@ class FailingProvider extends NotifierProvider {
} }
class NotifierLoaderSpec class NotifierLoaderSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with MockitoSugar with MockitoSugar
with EitherValues with EitherValues

View File

@ -17,13 +17,15 @@
package vinyldns.core.protobuf package vinyldns.core.protobuf
import cats.scalatest.EitherMatchers import cats.scalatest.EitherMatchers
import org.scalatest.{EitherValues, Matchers, WordSpec} import org.scalatest.EitherValues
import vinyldns.core.domain.{HighValueDomainError, SingleChangeError, ZoneDiscoveryError} import vinyldns.core.domain.{HighValueDomainError, SingleChangeError, ZoneDiscoveryError}
import vinyldns.core.domain.batch.{SingleAddChange, SingleChangeStatus, SingleDeleteRRSetChange} import vinyldns.core.domain.batch.{SingleAddChange, SingleChangeStatus, SingleDeleteRRSetChange}
import vinyldns.core.domain.record.{AData, RecordType} import vinyldns.core.domain.record.{AData, RecordType}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class BatchChangeProtobufConversionsSpec class BatchChangeProtobufConversionsSpec
extends WordSpec extends AnyWordSpec
with Matchers with Matchers
with BatchChangeProtobufConversions with BatchChangeProtobufConversions
with EitherMatchers with EitherMatchers

View File

@ -16,10 +16,11 @@
package vinyldns.core.protobuf package vinyldns.core.protobuf
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.domain.membership.{Group, GroupChange, GroupChangeType} import vinyldns.core.domain.membership.{Group, GroupChange, GroupChangeType}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class GroupProtobufConversionsSpec extends WordSpec with Matchers with GroupProtobufConversions { class GroupProtobufConversionsSpec extends AnyWordSpec with Matchers with GroupProtobufConversions {
"Converting groups to protobufs" should { "Converting groups to protobufs" should {
"works with all fields present" in { "works with all fields present" in {

Some files were not shown because too many files have changed in this diff Show More