Skip to content

Commit

Permalink
and the tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cjllanwarne committed Dec 12, 2023
1 parent b232209 commit c844ff7
Show file tree
Hide file tree
Showing 35 changed files with 87 additions and 154 deletions.
4 changes: 2 additions & 2 deletions core/src/main/scala/org/broadinstitute/dsde/rawls/Boot.scala
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ object Boot extends IOApp with LazyLogging {
val gcsConfig = conf.getConfig("gcs")

// we need an ActorSystem to host our application in
implicit val system = ActorSystem("rawls")
implicit val materializer = ActorMaterializer()
implicit val system: ActorSystem = ActorSystem("rawls")
implicit val materializer: ActorMaterializer = ActorMaterializer()

val slickDataSource = DataSource(DatabaseConfig.forConfig[JdbcProfile]("slick", conf))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ import com.typesafe.config.Config

import java.util.concurrent._
import java.util.concurrent.atomic.AtomicInteger
import scala.concurrent.ExecutionContextExecutor
import scala.concurrent.{ExecutionContext, ExecutionContextExecutor}

/**
* Created by dvoet on 10/9/15.
*/
object TestExecutionContext {
implicit val testExecutionContext = new TestExecutionContext()
implicit val testExecutionContext: TestExecutionContext = new TestExecutionContext()
}
class TestExecutionContext() extends ExecutionContextExecutor {
val pool = Executors.newCachedThreadPool()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ class HttpExecutionServiceDAOSpec
with MockitoTestUtils
with RawlsStatsDTestUtils {

implicit val materializer = ActorMaterializer()
implicit override val patienceConfig = PatienceConfig(timeout = scaled(Span(10, Seconds)))
implicit val materializer: ActorMaterializer = ActorMaterializer()
implicit override val patienceConfig: PatienceConfig = PatienceConfig(timeout = scaled(Span(10, Seconds)))

val mockServer = RemoteServicesMockServer()
val userInfo = UserInfo(RawlsUserEmail("owner-access"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class HttpSamDAOSpec
with Matchers
with BeforeAndAfterAll {

implicit val materializer = ActorMaterializer()
implicit val materializer: ActorMaterializer = ActorMaterializer()
val mockServer = RemoteServicesMockServer()

override def beforeAll(): Unit = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import scala.jdk.CollectionConverters._
import scala.language.postfixOps

class SubmissionCostServiceSpec extends AnyFlatSpec with RawlsTestUtils {
implicit val actorSystem = ActorSystem("SubmissionCostServiceSpec")
implicit val actorSystem: ActorSystem = ActorSystem("SubmissionCostServiceSpec")
val mockBigQueryDAO = new MockGoogleBigQueryDAO
val submissionCostService = SubmissionCostService.constructor(
"fakeTableName",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import akka.http.scaladsl.model.headers.OAuth2BearerToken
import akka.testkit.TestKit
import org.broadinstitute.dsde.rawls.model.UserInfo
import org.mockito.ArgumentMatchers.any
import org.mockito.Mockito.{doReturn, spy, when, RETURNS_SMART_NULLS}
import org.mockito.Mockito.{RETURNS_SMART_NULLS, doReturn, spy, when}
import org.scalatest.flatspec.AnyFlatSpecLike

import scala.concurrent.{Await, ExecutionContext, Future}
import scala.concurrent.{Await, ExecutionContext, ExecutionContextExecutor, Future}
import scala.concurrent.duration.DurationInt
import scala.language.postfixOps

class DrsHubResolverSpec extends TestKit(ActorSystem("DrsHubResolverSpec")) with AnyFlatSpecLike {
implicit val executionContext = ExecutionContext.global
implicit val executionContext: ExecutionContextExecutor = ExecutionContext.global

val mockDrsHubResolver = spy(new DrsHubResolver("[email protected]"))
val mockUserInfo = mock[UserInfo](RETURNS_SMART_NULLS)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class DriverComponentSpec extends TestDriverComponentWithFlatSpecAndMatchers wit
// validateAttributeName
// createBatches

implicit val getWorkflowRecord = GetResult { r =>
implicit val getWorkflowRecord: GetResult[WorkflowRecord] = GetResult { r =>
WorkflowRecord(r.<<, r.<<, r.<<, r.<<, r.<<, r.<<, r.<<, r.<<, r.<<)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,7 @@ import com.typesafe.scalalogging.LazyLogging
import nl.grons.metrics4.scala.{Counter, DefaultInstrumented, MetricName}
import org.broadinstitute.dsde.rawls.TestExecutionContext
import org.broadinstitute.dsde.rawls.config.WDLParserConfig
import org.broadinstitute.dsde.rawls.dataaccess.MockCromwellSwaggerClient.{
makeToolInputParameter,
makeToolOutputParameter,
makeValueType,
makeWorkflowDescription
}
import org.broadinstitute.dsde.rawls.dataaccess.MockCromwellSwaggerClient.{makeToolInputParameter, makeToolOutputParameter, makeValueType, makeWorkflowDescription}
import slick.basic.DatabaseConfig
import slick.jdbc.JdbcProfile
import slick.jdbc.MySQLProfile.api._
Expand All @@ -35,7 +30,7 @@ import org.scalatest.matchers.should.Matchers
import java.sql.SQLTransactionRollbackException
import java.util.UUID
import scala.concurrent.duration._
import scala.concurrent.{Await, Future}
import scala.concurrent.{Await, ExecutionContext, Future}
import scala.language.{implicitConversions, postfixOps}

// initialize database tables and connection pool only once
Expand Down Expand Up @@ -63,7 +58,7 @@ object DbResource extends LazyLogging {
trait TestDriverComponent extends DriverComponent with DataAccess with DefaultInstrumented {
this: Suite =>

implicit override val executionContext = TestExecutionContext.testExecutionContext
implicit override val executionContext: TestExecutionContext = TestExecutionContext.testExecutionContext

// Implicit counters are required for certain methods on WorkflowComponent and SubmissionComponent
override lazy val metricBaseName = MetricName("test")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ class DataRepoEntityExpressionValidatorSpec
AgoraMethod("dsde", "three_step", 1)
)

implicit override val patienceConfig = PatienceConfig(timeout = scaled(Span(10, Seconds)))
implicit override val patienceConfig: PatienceConfig = PatienceConfig(timeout = scaled(Span(10, Seconds)))

"validateMCExpressions" should "validate expressions in a MethodConfiguration with a root entity" in {
val validationResults =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@ import org.scalatest.flatspec.AnyFlatSpec
import org.scalatest.matchers.should.Matchers

import java.util.UUID
import scala.concurrent.ExecutionContext
import scala.util.Failure

class DataRepoEntityProviderBuilderSpec
extends AnyFlatSpec
with DataRepoEntityProviderSpecSupport
with TestDriverComponent
with Matchers {
implicit override val executionContext = TestExecutionContext.testExecutionContext
implicit override val executionContext: TestExecutionContext = TestExecutionContext.testExecutionContext
val defaultEntityRequestArguments =
EntityRequestArguments(workspace, testContext, Some(DataReferenceName("referenceName")))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,12 @@ import org.broadinstitute.dsde.rawls.dataaccess.MockBigQueryServiceFactory
import org.broadinstitute.dsde.rawls.dataaccess.MockBigQueryServiceFactory.{createKeyList, createTestTableResult}
import org.broadinstitute.dsde.rawls.dataaccess.slick.TestDriverComponent
import org.broadinstitute.dsde.rawls.entities.EntityRequestArguments
import org.broadinstitute.dsde.rawls.entities.exceptions.{
DataEntityException,
EntityTypeNotFoundException,
UnsupportedEntityOperationException
}
import org.broadinstitute.dsde.rawls.entities.exceptions.{DataEntityException, EntityTypeNotFoundException, UnsupportedEntityOperationException}
import org.broadinstitute.dsde.rawls.model._
import org.scalatest.flatspec.AsyncFlatSpec
import org.scalatest.matchers.should.Matchers

import scala.concurrent.ExecutionContext
import scala.jdk.CollectionConverters._

class DataRepoEntityProviderQueryEntitiesSpec
Expand All @@ -25,7 +22,7 @@ class DataRepoEntityProviderQueryEntitiesSpec
with TestDriverComponent
with Matchers {

implicit override val executionContext = TestExecutionContext.testExecutionContext
implicit override val executionContext: TestExecutionContext = TestExecutionContext.testExecutionContext

val defaultEntityRequestArguments =
EntityRequestArguments(workspace, testContext, Some(DataReferenceName("referenceName")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,27 +14,10 @@ import org.broadinstitute.dsde.rawls.entities.EntityRequestArguments
import org.broadinstitute.dsde.rawls.entities.base.ExpressionEvaluationContext
import org.broadinstitute.dsde.rawls.entities.base.ExpressionEvaluationSupport.ExpressionAndResult
import org.broadinstitute.dsde.rawls.entities.datarepo.DataRepoBigQuerySupport._
import org.broadinstitute.dsde.rawls.entities.exceptions.{
DataEntityException,
EntityNotFoundException,
EntityTypeNotFoundException
}
import org.broadinstitute.dsde.rawls.entities.exceptions.{DataEntityException, EntityNotFoundException, EntityTypeNotFoundException}
import org.broadinstitute.dsde.rawls.expressions.parser.antlr.ParsedEntityLookupExpression
import org.broadinstitute.dsde.rawls.jobexec.MethodConfigResolver.{GatherInputsResult, MethodInput}
import org.broadinstitute.dsde.rawls.model.{
AttributeBoolean,
AttributeName,
AttributeNumber,
AttributeString,
AttributeValue,
AttributeValueRawJson,
DataReferenceName,
Entity,
EntityTypeMetadata,
GoogleProjectId,
SubmissionValidationEntityInputs,
SubmissionValidationValue
}
import org.broadinstitute.dsde.rawls.model.{AttributeBoolean, AttributeName, AttributeNumber, AttributeString, AttributeValue, AttributeValueRawJson, DataReferenceName, Entity, EntityTypeMetadata, GoogleProjectId, SubmissionValidationEntityInputs, SubmissionValidationValue}
import org.broadinstitute.dsde.rawls.{RawlsExceptionWithErrorReport, TestExecutionContext}
import org.mockserver.integration.ClientAndServer.startClientAndServer
import org.mockserver.model.Header
Expand All @@ -43,7 +26,7 @@ import org.mockserver.model.HttpResponse.response
import org.scalatest.flatspec.AsyncFlatSpec
import org.scalatest.matchers.should.Matchers

import scala.concurrent.Await
import scala.concurrent.{Await, ExecutionContext}
import scala.concurrent.duration.Duration
import scala.jdk.CollectionConverters._
import scala.util.{Random, Success}
Expand All @@ -54,7 +37,7 @@ class DataRepoEntityProviderSpec
with TestDriverComponent
with Matchers {

implicit override val executionContext = TestExecutionContext.testExecutionContext
implicit override val executionContext: TestExecutionContext = TestExecutionContext.testExecutionContext

behavior of "DataRepoEntityProvider.googleProject"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ import scala.concurrent.duration.Duration

class CaseSensitivitySpec extends AnyFreeSpec with Matchers with TestDriverComponent with ScalaFutures {

implicit val actorSystem = ActorSystem() // needed for stream materialization
implicit val actorSystem: ActorSystem = ActorSystem() // needed for stream materialization

// ===================================================================================================================
// exemplar data used in multiple tests
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.broadinstitute.dsde.rawls.fastpass
import akka.actor.PoisonPill
import akka.http.scaladsl.model.headers.OAuth2BearerToken
import akka.http.scaladsl.testkit.ScalatestRouteTest
import cats.effect.IO
import com.typesafe.config.ConfigFactory
import org.broadinstitute.dsde.rawls.{RawlsException, RawlsTestUtils}
import org.broadinstitute.dsde.rawls.billing.BillingProfileManagerDAOImpl
Expand All @@ -26,19 +27,14 @@ import org.broadinstitute.dsde.rawls.serviceperimeter.ServicePerimeterService
import org.broadinstitute.dsde.rawls.user.UserService
import org.broadinstitute.dsde.rawls.util.MockitoTestUtils
import org.broadinstitute.dsde.rawls.webservice._
import org.broadinstitute.dsde.rawls.workspace.{
MultiCloudWorkspaceAclManager,
MultiCloudWorkspaceService,
RawlsWorkspaceAclManager,
WorkspaceService
}
import org.broadinstitute.dsde.rawls.workspace.{MultiCloudWorkspaceAclManager, MultiCloudWorkspaceService, RawlsWorkspaceAclManager, WorkspaceService}
import org.broadinstitute.dsde.workbench.dataaccess.{NotificationDAO, PubSubNotificationDAO}
import org.broadinstitute.dsde.workbench.google.mock.{MockGoogleBigQueryDAO, MockGoogleIamDAO, MockGoogleStorageDAO}
import org.broadinstitute.dsde.workbench.model.WorkbenchEmail
import org.broadinstitute.dsde.workbench.model.google.iam.IamMemberTypes.IamMemberType
import org.broadinstitute.dsde.workbench.model.google.iam._
import org.broadinstitute.dsde.workbench.model.google.{GcsBucketName, GoogleProject}
import org.broadinstitute.dsde.workbench.openTelemetry.FakeOpenTelemetryMetricsInterpreter
import org.broadinstitute.dsde.workbench.openTelemetry.{FakeOpenTelemetryMetricsInterpreter, OpenTelemetryMetrics}
import org.mockito.ArgumentMatchers._
import org.mockito.Mockito._
import org.mockito.{ArgumentMatchers, Mockito}
Expand Down Expand Up @@ -107,7 +103,7 @@ class FastPassMonitorSpec
with SubmissionApiService
with MockUserInfoDirectivesWithUser {
val ctx1 = RawlsRequestContext(UserInfo(user.userEmail, OAuth2BearerToken("foo"), 0, user.userSubjectId))
implicit val openTelemetry = FakeOpenTelemetryMetricsInterpreter
implicit val openTelemetry: OpenTelemetryMetrics[IO] = FakeOpenTelemetryMetricsInterpreter

lazy val workspaceService: WorkspaceService = workspaceServiceConstructor(ctx1)
lazy val userService: UserService = userServiceConstructor(ctx1)
Expand Down Expand Up @@ -325,7 +321,7 @@ class FastPassMonitorSpec
}

"FastPassMonitor" should "remove expired fastpass grants" in withTestDataServicesFastPassGrantPeriodZero { services =>
implicit val openTelemetry = FakeOpenTelemetryMetricsInterpreter
implicit val openTelemetry: OpenTelemetryMetrics[IO] = FakeOpenTelemetryMetricsInterpreter

val fastPassMonitor =
system.actorOf(FastPassMonitor.props(services.slickDataSource, services.googleIamDAO, services.googleStorageDAO))
Expand Down Expand Up @@ -388,7 +384,7 @@ class FastPassMonitorSpec
}

it should "continue cleaning up even if it encounters an error" in withTestDataServicesFastPassGrantPeriodZero {
implicit val openTelemetry = FakeOpenTelemetryMetricsInterpreter
implicit val openTelemetry: OpenTelemetryMetrics[IO] = FakeOpenTelemetryMetricsInterpreter
services =>
when(
services.googleStorageDAO.removeIamRoles(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.broadinstitute.dsde.rawls.fastpass
import akka.actor.PoisonPill
import akka.http.scaladsl.model.headers.OAuth2BearerToken
import akka.http.scaladsl.testkit.ScalatestRouteTest
import cats.effect.IO
import com.google.api.services.iam.v1.model.Role
import com.typesafe.config.ConfigFactory
import org.broadinstitute.dsde.rawls.billing.BillingProfileManagerDAOImpl
Expand All @@ -27,12 +28,7 @@ import org.broadinstitute.dsde.rawls.user.UserService
import org.broadinstitute.dsde.rawls.util.MockitoTestUtils
import org.broadinstitute.dsde.rawls.webservice._
import org.broadinstitute.dsde.rawls.workspace.WorkspaceService.BUCKET_GET_PERMISSION
import org.broadinstitute.dsde.rawls.workspace.{
MultiCloudWorkspaceAclManager,
MultiCloudWorkspaceService,
RawlsWorkspaceAclManager,
WorkspaceService
}
import org.broadinstitute.dsde.rawls.workspace.{MultiCloudWorkspaceAclManager, MultiCloudWorkspaceService, RawlsWorkspaceAclManager, WorkspaceService}
import org.broadinstitute.dsde.rawls.{RawlsException, RawlsExceptionWithErrorReport, RawlsTestUtils}
import org.broadinstitute.dsde.workbench.dataaccess.{NotificationDAO, PubSubNotificationDAO}
import org.broadinstitute.dsde.workbench.google.HttpGoogleIamDAO.toProjectPolicy
Expand All @@ -42,7 +38,7 @@ import org.broadinstitute.dsde.workbench.model.google.iam.IamMemberTypes.IamMemb
import org.broadinstitute.dsde.workbench.model.google.iam._
import org.broadinstitute.dsde.workbench.model.google.{GcsBucketName, GoogleProject, IamPermission}
import org.broadinstitute.dsde.workbench.model.{WorkbenchEmail, WorkbenchUserId}
import org.broadinstitute.dsde.workbench.openTelemetry.FakeOpenTelemetryMetricsInterpreter
import org.broadinstitute.dsde.workbench.openTelemetry.{FakeOpenTelemetryMetricsInterpreter, OpenTelemetryMetrics}
import org.mockito.ArgumentMatchers._
import org.mockito.Mockito._
import org.mockito.{ArgumentMatchers, Mockito}
Expand All @@ -53,7 +49,7 @@ import org.scalatest.prop.TableDrivenPropertyChecks
import org.scalatest.{BeforeAndAfterAll, OneInstancePerTest, OptionValues}

import java.sql.Timestamp
import java.time.{Duration => JavaDuration, LocalDateTime, OffsetDateTime, ZoneOffset}
import java.time.{LocalDateTime, OffsetDateTime, ZoneOffset, Duration => JavaDuration}
import java.util.UUID
import java.util.concurrent.TimeUnit
import scala.collection.JavaConverters._
Expand Down Expand Up @@ -137,7 +133,7 @@ class FastPassServiceSpec
with SubmissionApiService
with MockUserInfoDirectivesWithUser {
val ctx1 = RawlsRequestContext(UserInfo(user.userEmail, OAuth2BearerToken("foo"), 0, user.userSubjectId))
implicit val openTelemetry = FakeOpenTelemetryMetricsInterpreter
implicit val openTelemetry: OpenTelemetryMetrics[IO] = FakeOpenTelemetryMetricsInterpreter

lazy val workspaceService: WorkspaceService = workspaceServiceConstructor(ctx1)
lazy val userService: UserService = userServiceConstructor(ctx1)
Expand Down Expand Up @@ -1408,7 +1404,7 @@ class FastPassServiceSpec
)
)
val config = FastPassConfig(true, JavaDuration.ZERO, JavaDuration.ZERO)
implicit val openTelemetry = FakeOpenTelemetryMetricsInterpreter
implicit val openTelemetry: OpenTelemetryMetrics[IO] = FakeOpenTelemetryMetricsInterpreter
val iamDAO = spy(new MockGoogleIamDAO)
val storageDAO = spy(new MockGoogleStorageDAO)
val gcsDAO = spy(new MockGoogleServicesDAO("groupsPrefix"))
Expand Down Expand Up @@ -1446,7 +1442,7 @@ class FastPassServiceSpec
)
)
val config = FastPassConfig(true, JavaDuration.ZERO, JavaDuration.ZERO)
implicit val openTelemetry = FakeOpenTelemetryMetricsInterpreter
implicit val openTelemetry: OpenTelemetryMetrics[IO] = FakeOpenTelemetryMetricsInterpreter
val iamDAO = spy(new MockGoogleIamDAO)
val storageDAO = spy(new MockGoogleStorageDAO)
val gcsDAO = spy(new MockGoogleServicesDAO("groupsPrefix"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class SubmissionMonitorSpec(_system: ActorSystem)

def this() = this(ActorSystem("WorkflowMonitorSpec"))

implicit val materializer = ActorMaterializer()
implicit val materializer: ActorMaterializer = ActorMaterializer()

val testDbName = "SubmissionMonitorSpec"
val mockServer = RemoteServicesMockServer()
Expand Down
Loading

0 comments on commit c844ff7

Please sign in to comment.