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
tmp.out
.vscode
project/metals.sbt

View File

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

View File

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

View File

@ -12,46 +12,13 @@ resolvers ++= additionalResolvers
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
lazy val sharedSettings = Seq(
organization := "vinyldns",
scalaVersion := "2.12.9",
scalaVersion := "2.12.11",
organizationName := "Comcast Cable Communications Management, LLC",
startYear := Some(2018),
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 in (Compile, doc) += "-no-link-warnings",
// Use wart remover to eliminate code badness
@ -93,7 +60,7 @@ lazy val apiSettings = Seq(
"-Dlogback.configurationFile=test/logback.xml",
s"""-Dvinyldns.base-version=${(version in ThisBuild).value}"""
),
coverageExcludedPackages := ".*Boot.*"
coverageExcludedPackages := "Boot.*"
)
lazy val apiAssemblySettings = Seq(
@ -113,7 +80,7 @@ lazy val apiAssemblySettings = Seq(
)
lazy val apiDockerSettings = Seq(
dockerBaseImage := "openjdk:8u191-jdk-alpine3.9",
dockerBaseImage := "adoptopenjdk/openjdk11:jdk-11.0.7_10-alpine",
dockerUsername := Some("vinyldns"),
packageName in Docker := "api",
dockerExposedPorts := Seq(9000),
@ -140,7 +107,7 @@ lazy val apiDockerSettings = Seq(
)
lazy val portalDockerSettings = Seq(
dockerBaseImage := "openjdk:8u191-jdk-alpine3.9",
dockerBaseImage := "adoptopenjdk/openjdk11:jdk-11.0.7_10-alpine",
dockerUsername := Some("vinyldns"),
packageName in Docker := "portal",
dockerExposedPorts := Seq(9001),
@ -215,8 +182,7 @@ lazy val allApiSettings = Revolver.settings ++ Defaults.itSettings ++
apiAssemblySettings ++
testSettings ++
apiPublishSettings ++
apiDockerSettings ++
scalaStyleSettings
apiDockerSettings
lazy val api = (project in file("modules/api"))
.enablePlugins(JavaAppPackaging, AutomateHeaderPlugin)
@ -236,8 +202,6 @@ lazy val root = (project in file(".")).enablePlugins(DockerComposePlugin, Automa
.settings(sharedSettings)
.settings(
inConfig(IntegrationTest)(scalafmtConfigSettings),
(scalastyleConfig in Test) := baseDirectory.value / "scalastyle-test-config.xml",
(scalastyleConfig in IntegrationTest) := baseDirectory.value / "scalastyle-test-config.xml",
killDocker := {
import scala.sys.process._
"./bin/remove-vinyl-containers.sh" !
@ -284,7 +248,6 @@ lazy val core = (project in file("modules/core")).enablePlugins(AutomateHeaderPl
.settings(corePublishSettings)
.settings(testSettings)
.settings(libraryDependencies ++= coreDependencies ++ commonTestDependencies.map(_ % "test"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings(
organization := "io.vinyldns"
)
@ -299,7 +262,6 @@ lazy val dynamodb = (project in file("modules/dynamodb"))
.settings(testSettings)
.settings(Defaults.itSettings)
.settings(libraryDependencies ++= dynamoDBDependencies ++ commonTestDependencies.map(_ % "test, it"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings(
organization := "io.vinyldns",
parallelExecution in Test := true,
@ -317,7 +279,6 @@ lazy val mysql = (project in file("modules/mysql"))
.settings(testSettings)
.settings(Defaults.itSettings)
.settings(libraryDependencies ++= mysqlDependencies ++ commonTestDependencies.map(_ % "test, it"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings(
organization := "io.vinyldns"
).dependsOn(core % "compile->compile;test->test")
@ -333,7 +294,6 @@ lazy val sqs = (project in file("modules/sqs"))
.settings(testSettings)
.settings(Defaults.itSettings)
.settings(libraryDependencies ++= sqsDependencies ++ commonTestDependencies.map(_ % "test, it"))
.settings(scalaStyleCompile ++ scalaStyleTest)
.settings(
organization := "io.vinyldns",
).dependsOn(core % "compile->compile;test->test")
@ -352,7 +312,7 @@ lazy val portal = (project in file("modules/portal")).enablePlugins(PlayScala, A
name := "portal",
libraryDependencies ++= portalDependencies,
routesGenerator := InjectedRoutesGenerator,
coverageExcludedPackages := "<empty>;views.html.*;router.*",
coverageExcludedPackages := "<empty>;views.html.*;router.*;controllers\\.javascript.*;.*Reverse.*",
javaOptions in Test += "-Dconfig.file=conf/application-test.conf",
// 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 " +
"mysql/headerCheck mysql/test:headerCheck mysql/it:headerCheck " +
"sqs/headerCheck sqs/test:headerCheck sqs/it: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/headerCheck portal/test:headerCheck; " +
"portal/createJsHeaders;portal/checkJsHeaders;" +
"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 VINYLDNS_VERSION
@ -10,7 +10,7 @@ COPY .jvmopts /vinyldns
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

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 VINYLDNS_VERSION
@ -20,7 +20,7 @@ RUN apt-get update \
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

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

View File

@ -17,7 +17,8 @@
package vinyldns.api.domain.batch
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.core.TestMembershipData._
import vinyldns.core.domain.batch.{
@ -33,7 +34,7 @@ class BatchChangeRepositoryIntegrationSpec
extends MySqlApiIntegrationSpec
with MySqlIntegrationSpec
with Matchers
with WordSpecLike {
with AnyWordSpecLike {
import vinyldns.api.domain.DomainValidations._

View File

@ -16,7 +16,8 @@
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 vinyldns.api.domain.dns.DnsProtocol.{DnsResponse, NoError}
import vinyldns.api.domain.record.RecordSetChangeGenerator
@ -25,7 +26,7 @@ import vinyldns.api.ResultHelpers
import vinyldns.core.TestRecordSetData.{aaaa, ds}
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 testZone = Zone(

View File

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

View File

@ -16,12 +16,13 @@
package vinyldns.api.domain.zone
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.core.domain.zone.ConfiguredDnsConnections
import vinyldns.core.health.HealthCheck.HealthCheckError
class ZoneConnectionValidatorIntegrationSpec extends WordSpec with Matchers with EitherMatchers {
class ZoneConnectionValidatorIntegrationSpec extends AnyWordSpec with Matchers with EitherMatchers {
"ZoneConnectionValidatorIntegrationSpec" should {
"have a valid health check if we can connect to DNS backend" in {
val check = new ZoneConnectionValidator(VinylDNSConfig.configuredDnsConnections)

View File

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

View File

@ -16,11 +16,12 @@
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 vinyldns.core.domain.zone.{Zone, ZoneConnection}
class ZoneViewLoaderIntegrationSpec extends WordSpec with Matchers {
class ZoneViewLoaderIntegrationSpec extends AnyWordSpec with Matchers {
"ZoneViewLoader" should {
"return a ZoneView upon success" in {
DnsZoneViewLoader(Zone("vinyldns.", "test@test.com"))

View File

@ -20,7 +20,8 @@ import com.typesafe.config.{Config, ConfigFactory}
import vinyldns.core.notifier._
import vinyldns.api.MySqlApiIntegrationSpec
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.record.RecordType
import vinyldns.core.domain.record.AData
@ -36,7 +37,7 @@ class EmailNotifierIntegrationSpec
extends MySqlApiIntegrationSpec
with MySqlIntegrationSpec
with Matchers
with WordSpecLike
with AnyWordSpecLike
with BeforeAndAfterEach {
import vinyldns.api.domain.DomainValidations._

View File

@ -20,7 +20,8 @@ import com.typesafe.config.{Config, ConfigFactory}
import vinyldns.core.notifier._
import vinyldns.api.MySqlApiIntegrationSpec
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.record.RecordType
import vinyldns.core.domain.record.AData
@ -39,7 +40,7 @@ class SnsNotifierIntegrationSpec
extends MySqlApiIntegrationSpec
with MySqlIntegrationSpec
with Matchers
with WordSpecLike {
with AnyWordSpecLike {
import vinyldns.api.domain.DomainValidations._

View File

@ -17,10 +17,12 @@
package vinyldns.api
import akka.actor.ActorSystem
import cats.effect.{ContextShift, IO}
import cats.effect.{Blocker, ContextShift, IO}
import cats.implicits._
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 com.comcast.ip4s._
import net.ceedubs.ficus.Ficus._
@ -51,7 +53,9 @@ object VinylDNSConfig {
.asScala
.toList
.map { configKey =>
loadConfigF[IO, DataStoreConfig](vinyldnsConfig, configKey)
Blocker[IO].use(
ConfigSource.fromConfig(vinyldnsConfig).at(configKey).loadF[IO, DataStoreConfig](_)
)
}
.parSequence
@ -61,14 +65,18 @@ object VinylDNSConfig {
.asScala
.toList
.map { configKey =>
loadConfigF[IO, NotifierConfig](vinyldnsConfig, configKey)
Blocker[IO].use(
ConfigSource.fromConfig(vinyldnsConfig).at(configKey).loadF[IO, NotifierConfig](_)
)
}
.parSequence
lazy val restConfig: Config = vinyldnsConfig.getConfig("rest")
lazy val monitoringConfig: Config = vinyldnsConfig.getConfig("monitoring")
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 system: ActorSystem = ActorSystem("VinylDNS", VinylDNSConfig.config)
lazy val approvedNameServers: List[Regex] =
@ -111,7 +119,7 @@ object VinylDNSConfig {
.getConfigList("backends")
.asScala
.map {
pureconfig.loadConfigOrThrow[DnsBackend]
ConfigSource.fromConfig(_).loadOrThrow[DnsBackend]
}
.toList
.map(_.encrypted(Crypto.instance))
@ -122,7 +130,14 @@ object VinylDNSConfig {
}
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] =
if (vinyldnsConfig.hasPath(key)) {
@ -136,12 +151,21 @@ object VinylDNSConfig {
.getOrElse(false)
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
// (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] =
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
.as[Option[Boolean]]("scheduled-changes-enabled")

View File

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

View File

@ -17,18 +17,22 @@
package vinyldns.api.metrics
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.{Metric, MetricFilter, ScheduledReporter, Slf4jReporter}
import com.typesafe.config.Config
import org.slf4j.LoggerFactory
import pureconfig.module.catseffect.loadConfigF
import pureconfig._
import pureconfig.generic.auto._
import pureconfig.module.catseffect.syntax._
import vinyldns.core.VinylDNSMetrics
final case class MemoryMetricsSettings(logEnabled: Boolean, logSeconds: Int)
final case class APIMetricsSettings(memory: MemoryMetricsSettings)
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
private val logReporter = Slf4jReporter
@ -53,5 +57,7 @@ object APIMetrics {
}
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.domain.membership.UserRepository
import pureconfig.module.catseffect.loadConfigF
import cats.effect.IO
import pureconfig._
import pureconfig.generic.auto._
import pureconfig.module.catseffect.syntax._
import cats.effect.{Blocker, ContextShift, IO}
import javax.mail.Session
class EmailNotifierProvider extends NotifierProvider {
import EmailNotifierConfig._
private implicit val cs: ContextShift[IO] =
IO.contextShift(scala.concurrent.ExecutionContext.global)
def load(config: NotifierConfig, userRepository: UserRepository): IO[Notifier] =
for {
emailConfig <- loadConfigF[IO, EmailNotifierConfig](config.settings)
emailConfig <- Blocker[IO].use(
ConfigSource.fromConfig(config.settings).loadF[IO, EmailNotifierConfig](_)
)
session <- createSession(emailConfig)
} yield new EmailNotifier(emailConfig, session, userRepository)
def createSession(config: EmailNotifierConfig): IO[Session] = IO {
Session.getInstance(config.smtp)
}
}

View File

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

View File

@ -21,7 +21,8 @@ import cats.data.ValidatedNel
import cats.effect._
import cats.implicits._
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.duration._
@ -71,7 +72,7 @@ trait ResultHelpers {
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](
value: ValidatedNel[DomainValidationError, A]

View File

@ -16,12 +16,13 @@
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.core.domain.zone.ZoneConnection
import vinyldns.core.repository.RepositoryName._
class VinylDNSConfigSpec extends WordSpec with Matchers {
class VinylDNSConfigSpec extends AnyWordSpec with Matchers {
"VinylDNSConfig" should {
"load the rest config" in {

View File

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

View File

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

View File

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

View File

@ -18,8 +18,9 @@ package vinyldns.api.domain.access
import cats.scalatest.EitherMatchers
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.domain.zone.{NotAuthorizedError, RecordSetInfo, RecordSetListInfo}
import vinyldns.core.TestMembershipData._
@ -30,9 +31,10 @@ import vinyldns.core.domain.auth.AuthPrincipal
import vinyldns.core.domain.membership.User
import vinyldns.core.domain.record._
import vinyldns.core.domain.zone.{ACLRule, AccessLevel, Zone, ZoneACL}
import org.scalatestplus.mockito.MockitoSugar
class AccessValidationsSpec
extends WordSpecLike
extends AnyWordSpec
with Matchers
with MockitoSugar
with ResultHelpers

View File

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

View File

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

View File

@ -19,7 +19,8 @@ package vinyldns.api.domain.batch
import cats.data.NonEmptyList
import cats.implicits._
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.domain.batch.BatchTransformations._
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.zone.Zone
class BatchChangeConverterSpec extends WordSpec with Matchers with CatsHelpers {
class BatchChangeConverterSpec extends AnyWordSpec with Matchers with CatsHelpers {
private def makeSingleAddChange(
name: String,

View File

@ -18,14 +18,15 @@ package vinyldns.api.domain.batch
import cats.data.NonEmptyList
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.core.domain.{DomainValidationErrorType, Fqdn, SingleChangeError, ZoneDiscoveryError}
import vinyldns.core.domain.batch._
import vinyldns.core.domain.record.RecordType._
import vinyldns.core.domain.record.{AAAAData, AData, CNAMEData}
class BatchChangeInputSpec extends WordSpec with Matchers {
class BatchChangeInputSpec extends AnyWordSpec with Matchers {
"BatchChangeInput" should {
"ensure trailing dot on A, AAAA, and CNAME fqdn" in {
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
import org.scalatest.{Matchers, WordSpec}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.CatsHelpers
import vinyldns.api.domain.batch.BatchChangeInterfaces._
import cats.effect._
import cats.implicits._
import vinyldns.core.domain.{BatchChangeIsEmpty, ChangeLimitExceeded}
class BatchChangeInterfacesSpec extends WordSpec with Matchers with CatsHelpers {
class BatchChangeInterfacesSpec extends AnyWordSpec with Matchers with CatsHelpers {
"toBatchResult" should {
"work with either success input" in {

View File

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

View File

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

View File

@ -16,11 +16,12 @@
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.core.domain.zone.Zone
class BatchTransformationsSpec extends WordSpec with Matchers {
class BatchTransformationsSpec extends AnyWordSpec with Matchers {
"ExistingZones" should {
val ip4base1 = Zone("1.2.3.in-addr.arpa.", "test")

View File

@ -16,9 +16,10 @@
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 {
"Succeed with valid input" in {
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.Matchers._
import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec}
import org.scalatest.BeforeAndAfterEach
import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.xbill.DNS
import org.xbill.DNS.{Lookup, Name}
import vinyldns.api.ResultHelpers
@ -37,7 +39,7 @@ import vinyldns.core.domain.zone.{Zone, ZoneConnection}
import scala.collection.JavaConverters._
class DnsConnectionSpec
extends WordSpec
extends AnyWordSpec
with Matchers
with MockitoSugar
with ResultHelpers

View File

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

View File

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

View File

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

View File

@ -16,13 +16,14 @@
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.TestRecordSetData._
import vinyldns.core.TestZoneData.okZone
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 = "@")

View File

@ -16,14 +16,15 @@
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.core.TestRecordSetData._
import vinyldns.core.TestZoneData._
import vinyldns.core.domain.Fqdn
import vinyldns.core.domain.record._
class RecordSetHelpersSpec extends WordSpec with Matchers {
class RecordSetHelpersSpec extends AnyWordSpec with Matchers {
"RecordSetHelpers" should {
"matches" should {

View File

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

View File

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

View File

@ -19,8 +19,10 @@ package vinyldns.api.domain.zone
import cats.scalatest.{EitherMatchers, EitherValues}
import org.joda.time.DateTime
import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{BeforeAndAfterEach, Matchers, WordSpec}
import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.scalatest.BeforeAndAfterEach
import vinyldns.api.Interfaces._
import vinyldns.api.domain.dns.DnsConnection
import vinyldns.api.domain.dns.DnsProtocol.TypeNotFound
@ -33,7 +35,7 @@ import vinyldns.core.domain.zone.{ConfiguredDnsConnections, DnsBackend, Zone, Zo
import scala.concurrent.duration._
class ZoneConnectionValidatorSpec
extends WordSpec
extends AnyWordSpec
with Matchers
with MockitoSugar
with BeforeAndAfterEach
@ -58,7 +60,7 @@ class ZoneConnectionValidatorSpec
case "error." => IO.raiseError(new RuntimeException("transfer connection failure!"))
case "timeout." =>
IO {
Thread.sleep(100)
Thread.sleep(200)
mockZoneView
}
case _ =>
@ -241,25 +243,6 @@ class ZoneConnectionValidatorSpec
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 {
val backend = DnsBackend("some-test-backend", testDefaultConnection, testDefaultConnection)
val underTest =

View File

@ -18,7 +18,8 @@ package vinyldns.api.domain.zone
import cats.scalatest.ValidatedMatchers
import com.comcast.ip4s._
import org.scalatest.{Matchers, WordSpec}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.core.domain.{
DomainValidationError,
Fqdn,
@ -28,7 +29,7 @@ import vinyldns.core.domain.{
import vinyldns.core.domain.record._
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._

View File

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

View File

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

View File

@ -22,8 +22,9 @@ import org.joda.time.DateTime
import org.mockito.Matchers._
import org.mockito.Mockito._
import org.scalatest.concurrent.ScalaFutures.whenReady
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{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.{Name, ZoneTransferIn}
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.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 testZoneConnection: Option[ZoneConnection] = Some(

View File

@ -17,13 +17,14 @@
package vinyldns.api.domain.zone
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.domain.record.RecordSetChangeGenerator
import vinyldns.core.domain.record._
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")

View File

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

View File

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

View File

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

View File

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

View File

@ -21,11 +21,12 @@ import cats.scalatest.EitherMatchers
import com.codahale.metrics.ScheduledReporter
import com.typesafe.config.ConfigFactory
import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec}
import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
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 {
"succeed with valid config" in {

View File

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

View File

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

View File

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

View File

@ -19,15 +19,16 @@ package vinyldns.api.repository
import java.util.UUID
import cats.effect.IO
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec}
import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import org.mockito.Matchers._
import org.mockito.Mockito._
import vinyldns.core.domain.membership._
import vinyldns.core.domain.zone.{Zone, ZoneRepository}
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]
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 org.json4s.JsonDSL._
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.zone.AccessLevel
class ACLRuleInfoSerializerSpec
extends WordSpec
extends AnyWordSpec
with ACLJsonProtocol
with Matchers
with ValidatedMatchers

View File

@ -17,9 +17,10 @@
package vinyldns.api.route
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 {
"pull the content type" in {

View File

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

View File

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

View File

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

View File

@ -20,11 +20,12 @@ import cats.scalatest.ValidatedMatchers
import org.json4s.JsonDSL._
import org.json4s._
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
class CreateGroupInputSerializerSpec
extends WordSpec
extends AnyWordSpec
with MembershipJsonProtocol
with Matchers
with ValidatedMatchers {

View File

@ -20,11 +20,12 @@ import cats.scalatest.{ValidatedMatchers, ValidatedValues}
import org.joda.time.DateTime
import org.json4s.JsonDSL._
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
class GroupSerializerSpec
extends WordSpec
extends AnyWordSpec
with MembershipJsonProtocol
with Matchers
with ValidatedMatchers

View File

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

View File

@ -22,7 +22,8 @@ import org.json4s._
import org.json4s.JsonDSL._
import org.json4s.jackson.JsonMethods._
import org.scalatest.Matchers
import org.scalatest.WordSpec
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
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)
class JsonValidationSpec
extends WordSpec
extends AnyWordSpec
with JsonValidation
with ScalatestRouteTest
with Matchers {

View File

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

View File

@ -19,9 +19,10 @@ package vinyldns.api.route
import akka.actor.ActorSystem
import akka.http.scaladsl.model.StatusCodes
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

View File

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

View File

@ -23,7 +23,8 @@ import org.joda.time.DateTime
import org.json4s.JsonDSL._
import org.json4s._
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.domain.record.{ListRecordSetChangesResponse, RecordSetServiceAlgebra}
import vinyldns.api.domain.zone._
@ -39,7 +40,7 @@ import vinyldns.core.domain.zone._
import scala.util.Random
class RecordSetRoutingSpec
extends WordSpec
extends AnyWordSpec
with ScalatestRouteTest
with VinylDNSJsonProtocol
with VinylDNSRouteTestHelper

View File

@ -22,10 +22,12 @@ import akka.http.scaladsl.testkit.ScalatestRouteTest
import cats.effect.{ContextShift, IO}
import fs2.concurrent.SignallingRef
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
extends WordSpec
extends AnyWordSpec
with ScalatestRouteTest
with StatusRoute
with OneInstancePerTest

View File

@ -20,11 +20,12 @@ import cats.scalatest.ValidatedMatchers
import org.json4s.JsonDSL._
import org.json4s._
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
class UpdateGroupInputSerializerSpec
extends WordSpec
extends AnyWordSpec
with MembershipJsonProtocol
with Matchers
with ValidatedMatchers {

View File

@ -21,14 +21,15 @@ import akka.http.scaladsl.server.RequestContext
import cats.effect._
import org.mockito.Matchers._
import org.mockito.Mockito._
import org.scalatest.mockito.MockitoSugar
import org.scalatest.{Matchers, WordSpec}
import org.scalatestplus.mockito.MockitoSugar
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
import vinyldns.api.domain.auth.AuthPrincipalProvider
import vinyldns.core.TestMembershipData._
import vinyldns.core.crypto.CryptoAlgebra
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 mockAuthPrincipalProvider = mock[AuthPrincipalProvider]

View File

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

View File

@ -20,7 +20,8 @@ import cats.scalatest.ValidatedValues
import org.joda.time.DateTime
import org.json4s.JsonDSL._
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.core.domain.record._
import vinyldns.core.domain.zone.{CreateZoneInput, UpdateZoneInput, ZoneConnection}
@ -28,7 +29,7 @@ import vinyldns.core.TestRecordSetData._
import vinyldns.core.domain.Fqdn
class VinylDNSJsonProtocolSpec
extends WordSpec
extends AnyWordSpec
with Matchers
with VinylDNSJsonProtocol
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.server.Directives.{complete, extractUnmatchedPath}
import akka.http.scaladsl.server.{MalformedRequestContentRejection, RejectionHandler}
import akka.http.scaladsl.testkit.ScalatestRouteTest
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 =
RejectionHandler
.newBuilder()

View File

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

View File

@ -23,7 +23,9 @@ import akka.http.scaladsl.testkit.ScalatestRouteTest
import org.json4s.JsonDSL._
import org.json4s._
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.crypto.Crypto
import vinyldns.api.domain.zone.{ZoneServiceAlgebra, _}
@ -34,7 +36,7 @@ import vinyldns.core.domain.record.RecordType
import vinyldns.core.domain.zone._
class ZoneRoutingSpec
extends WordSpec
extends AnyWordSpec
with ScalatestRouteTest
with VinylDNSJsonProtocol
with VinylDNSRouteTestHelper

View File

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

View File

@ -17,9 +17,10 @@
package vinyldns.core.crypto
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 =
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
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 =
"""

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.batch
import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec}
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(
Some("zoneid"),
Some("zonename"),

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.batch
import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec}
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(
Some("zoneid"),
Some("zonename"),

View File

@ -15,10 +15,11 @@
*/
package vinyldns.core.domain.membership
import org.scalatest.{Matchers, WordSpec}
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 {
"correctly adds a user as a member" in {
val newGroup = emptyGroup.addMember(okUser)

View File

@ -17,9 +17,11 @@
package vinyldns.core.domain.membership
import cats.scalatest.EitherMatchers
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 currentDate = DateTime.now

View File

@ -15,10 +15,11 @@
*/
package vinyldns.core.domain.membership
import org.scalatest.{Matchers, WordSpec}
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 {
"succeed for Create" in {
UserChangeType.fromString("create") shouldBe Right(UserChangeType.Create)

View File

@ -16,9 +16,10 @@
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 {
"convert status fromInt properly" in {

View File

@ -16,10 +16,11 @@
package vinyldns.core.domain.record
import org.scalatest.{Matchers, WordSpec}
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 {
"Properly convert from int" in {

View File

@ -16,11 +16,12 @@
package vinyldns.core.domain.record
import org.scalatest.{Matchers, WordSpec}
import vinyldns.core.TestRecordSetData._
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 {
"toString" should {

View File

@ -18,8 +18,10 @@ package vinyldns.core.domain.zone
import org.scalatest._
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 {
"add a new ACL rule" in {

View File

@ -17,9 +17,10 @@
package vinyldns.core.domain.zone
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(
Zone("test", "test"),

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.zone
import cats.scalatest.EitherMatchers
import org.scalatest.{Matchers, WordSpec}
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 {
def encrypt(value: String): String = "encrypted!"

View File

@ -17,10 +17,11 @@
package vinyldns.core.domain.zone
import org.joda.time.DateTime
import org.scalatest.{Matchers, WordSpec}
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 {
"toString should output a zone properly" in {

View File

@ -17,10 +17,11 @@
package vinyldns.core.health
import cats.effect._
import org.scalatest.{Matchers, WordSpec}
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 {
val successCheck: HealthCheck = IO.unit.attempt.asHealthCheck

View File

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

View File

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

View File

@ -17,13 +17,15 @@
package vinyldns.core.protobuf
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.batch.{SingleAddChange, SingleChangeStatus, SingleDeleteRRSetChange}
import vinyldns.core.domain.record.{AData, RecordType}
import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpec
class BatchChangeProtobufConversionsSpec
extends WordSpec
extends AnyWordSpec
with Matchers
with BatchChangeProtobufConversions
with EitherMatchers

View File

@ -16,10 +16,11 @@
package vinyldns.core.protobuf
import org.scalatest.{Matchers, WordSpec}
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 {
"works with all fields present" in {

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