c

munit

Http4sHttpRoutesSuite

abstract class Http4sHttpRoutesSuite extends Http4sSuite[Unit]

Base class for suites testing HttpRoutes.

To use this class you'll need to provide the routes being tested by overriding routes.

Example:
  1. import cats.effect.IO
    
    import org.http4s.HttpRoutes
    import org.http4s.client.dsl.io._
    import org.http4s.dsl.io._
    import org.http4s.syntax.all._
    
    class MyHttpRoutesSuite extends munit.Http4sHttpRoutesSuite[String] {
    
     override val routes: HttpRoutes[IO] = HttpRoutes.of {
       case GET -> Root / "hello" => Ok("Hello!")
     }
    
     test(GET(uri"hello")) { response =>
       assertIO(response.as[String], "Hello!")
     }
    
    }
Linear Supertypes
Http4sSuite[Unit], CatsEffectSuite, CatsEffectFunFixtures, CatsEffectAssertions, FunSuite, ValueTransforms, SuiteTransforms, TestTransforms, TestOptionsConversions, FunFixtures, Assertions, CompileErrorMacro, Suite, PlatformSuite, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Http4sHttpRoutesSuite
  2. Http4sSuite
  3. CatsEffectSuite
  4. CatsEffectFunFixtures
  5. CatsEffectAssertions
  6. FunSuite
  7. ValueTransforms
  8. SuiteTransforms
  9. TestTransforms
  10. TestOptionsConversions
  11. FunFixtures
  12. Assertions
  13. CompileErrorMacro
  14. Suite
  15. PlatformSuite
  16. AnyRef
  17. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Http4sHttpRoutesSuite()

Type Members

  1. final type AfterEach = GenericAfterEach[TestValue]
    Definition Classes
    Suite
  2. final type BeforeEach = GenericBeforeEach[TestValue]
    Definition Classes
    Suite
  3. abstract class Fixture[T] extends AnyRef
    Definition Classes
    Suite
  4. class FunFixture[T] extends AnyRef
    Definition Classes
    FunFixtures
  5. implicit class Http4sMUnitTestCreatorOps extends AnyRef
  6. implicit class MUnitCatsAssertionsForIOBooleanOps extends AnyRef
    Definition Classes
    CatsEffectAssertions
  7. implicit class MUnitCatsAssertionsForIOOps[A] extends AnyRef
    Definition Classes
    CatsEffectAssertions
  8. implicit class MUnitCatsAssertionsForSyncIOOps[A] extends AnyRef
    Definition Classes
    CatsEffectAssertions
  9. final class SuiteTransform extends (List[FunSuite.Test]) => List[FunSuite.Test]
    Definition Classes
    SuiteTransforms
  10. implicit class SyncIOFunFixtureOps[T] extends AnyRef
    Definition Classes
    CatsEffectFunFixtures
  11. final type Test = GenericTest[TestValue]
    Definition Classes
    Suite
  12. final class TestTransform extends (FunSuite.Test) => FunSuite.Test
    Definition Classes
    TestTransforms
  13. final type TestValue = Future[Any]
    Definition Classes
    FunSuite → Suite
  14. final class ValueTransform extends (Any) => Option[Future[Any]]
    Definition Classes
    ValueTransforms
  15. case class Http4sMUnitTestCreator(request: ContextRequest[IO, A], followingRequests: List[(String, (Response[IO]) => IO[ContextRequest[IO, A]])] = Nil, testOptions: TestOptions = TestOptions(""), config: Http4sMUnitConfig = Http4sMUnitConfig.default) extends Product with Serializable
    Definition Classes
    Http4sSuite

Abstract Value Members

  1. abstract val routes: HttpRoutes[IO]

    The HTTP routes being tested

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def afterAll(): Unit
    Definition Classes
    Suite
  5. def afterEach(context: AfterEach): Unit
    Definition Classes
    Suite
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def assert(cond: => Boolean, clue: => Any)(implicit loc: Location): Unit
    Definition Classes
    Assertions
  8. def assertEquals[A, B](obtained: A, expected: B, clue: => Any)(implicit loc: Location, ev: <:<[B, A]): Unit
    Definition Classes
    Assertions
  9. def assertEqualsDouble(obtained: Double, expected: Double, delta: Double, clue: => Any)(implicit loc: Location): Unit
    Definition Classes
    Assertions
  10. def assertEqualsFloat(obtained: Float, expected: Float, delta: Float, clue: => Any)(implicit loc: Location): Unit
    Definition Classes
    Assertions
  11. def assertIO[A, B](obtained: IO[A], returns: B, clue: => Any)(implicit loc: Location, ev: <:<[B, A]): IO[Unit]
    Definition Classes
    CatsEffectAssertions
  12. def assertIOBoolean(obtained: IO[Boolean], clue: => Any)(implicit loc: Location): IO[Unit]
    Attributes
    protected
    Definition Classes
    CatsEffectAssertions
  13. def assertNoDiff(obtained: String, expected: String, clue: => Any)(implicit loc: Location): Unit
    Definition Classes
    Assertions
  14. def assertNotEquals[A, B](obtained: A, expected: B, clue: => Any)(implicit loc: Location, ev: =:=[A, B]): Unit
    Definition Classes
    Assertions
  15. def assertSyncIO[A, B](obtained: SyncIO[A], returns: B, clue: => Any)(implicit loc: Location, ev: <:<[B, A]): SyncIO[Unit]
    Definition Classes
    CatsEffectAssertions
  16. def assume(cond: Boolean, clue: => Any)(implicit loc: Location): Unit
    Definition Classes
    Assertions
  17. def beforeAll(): Unit
    Definition Classes
    Suite
  18. def beforeEach(context: BeforeEach): Unit
    Definition Classes
    Suite
  19. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  20. def clue[T](c: Clue[T]): T
    Definition Classes
    Assertions
  21. def clues(clue: Clue[_]*): Clues
    Definition Classes
    Assertions
  22. macro def compileErrors(code: String): String
    Definition Classes
    CompileErrorMacro
  23. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  25. def fail(message: String, clues: Clues)(implicit loc: Location): Nothing
    Definition Classes
    Assertions
  26. def fail(message: String, cause: Throwable)(implicit loc: Location): Nothing
    Definition Classes
    Assertions
  27. def failComparison(message: String, obtained: Any, expected: Any, clues: Clues)(implicit loc: Location): Nothing
    Definition Classes
    Assertions
  28. def failSuite(message: String, clues: Clues)(implicit loc: Location): Nothing
    Definition Classes
    Assertions
  29. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  30. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  31. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  32. def http4sMUnitBodyPrettifier(body: String): String

    Allows pretiffing the response's body before outputting it to logs.

    Allows pretiffing the response's body before outputting it to logs.

    By default it will try to parse it as JSON and apply a code highlight if munitAnsiColors is true.

    body

    the response's body to prettify

    returns

    the prettified version of the response's body

    Definition Classes
    Http4sSuite
  33. def http4sMUnitFunFixture: SyncIO[FunFixture[(ContextRequest[IO, Unit]) => Resource[IO, Response[IO]]]]

    Base fixture used to obtain a response from a request.

    Base fixture used to obtain a response from a request. Can be re-implemented if you want to override the default behaviour of a suite.

    Definition Classes
    Http4sHttpRoutesSuiteHttp4sSuite
  34. def http4sMUnitNameCreator(request: ContextRequest[IO, Unit], followingRequests: List[String], testOptions: TestOptions, config: Http4sMUnitConfig): String

    Allows altering the name of the generated tests.

    Allows altering the name of the generated tests.

    By default it will generate test names like:

    // GET -> users/42
    test(GET(uri"users" / 42))
    
    // GET -> users (All users)
    test(GET(uri"users")).alias("All users")
    
    // GET -> users as user-1
    test(GET(uri"users").as("user-1"))
    
    // GET -> users - executed 10 times with 2 in parallel
    test(GET(uri"users")).repeat(10).parallel(2)
    
    // GET -> users (retrieve the list of users and get the first user from the list)
    test(GET(uri"users"))
       .alias("retrieve the list of users")
       .andThen("get the first user from the list")(_.as[List[User]].flatMap {
         case Nil               => fail("The list of users should not be empty")
         case (head: User) :: _ => GET(uri"users" / head.id.show)
       })
    request

    the test's request

    followingRequests

    the following request' aliases

    testOptions

    the options for the current test

    config

    the configuration for this test

    returns

    the test's name

    Definition Classes
    Http4sSuite
  35. def intercept[T <: Throwable](body: => Any)(implicit T: ClassTag[T], loc: Location): T
    Definition Classes
    Assertions
  36. def interceptIO[T <: Throwable](io: IO[Any])(implicit T: ClassTag[T], loc: Location): IO[T]
    Definition Classes
    CatsEffectAssertions
  37. def interceptMessage[T <: Throwable](expectedExceptionMessage: String)(body: => Any)(implicit T: ClassTag[T], loc: Location): T
    Definition Classes
    Assertions
  38. def interceptMessageIO[T <: Throwable](expectedExceptionMessage: String)(io: IO[Any])(implicit T: ClassTag[T], loc: Location): IO[T]
    Definition Classes
    CatsEffectAssertions
  39. def interceptMessageSyncIO[T <: Throwable](expectedExceptionMessage: String)(io: SyncIO[Any])(implicit T: ClassTag[T], loc: Location): SyncIO[T]
    Definition Classes
    CatsEffectAssertions
  40. def interceptSyncIO[T <: Throwable](io: SyncIO[Any])(implicit T: ClassTag[T], loc: Location): SyncIO[T]
    Definition Classes
    CatsEffectAssertions
  41. def isCI: Boolean
    Definition Classes
    SuiteTransforms
  42. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  43. def munitAnsiColors: Boolean
    Definition Classes
    Assertions
  44. def munitCaptureClues[T](thunk: => T): (T, Clues)
    Definition Classes
    Assertions
  45. implicit def munitContextShift: ContextShift[IO]
    Definition Classes
    CatsEffectSuite
  46. def munitExecutionContext: ExecutionContext
    Definition Classes
    Suite
  47. final def munitFailTransform: TestTransform
    Definition Classes
    TestTransforms
  48. def munitFixtures: Seq[Fixture[_]]
    Definition Classes
    Suite
  49. def munitFlakyOK: Boolean
    Definition Classes
    TestTransforms
  50. final def munitFlakyTransform: TestTransform
    Definition Classes
    TestTransforms
  51. final def munitFutureTransform: ValueTransform
    Definition Classes
    ValueTransforms
  52. def munitIgnore: Boolean
    Definition Classes
    SuiteTransforms
  53. final def munitIgnoreSuiteTransform: SuiteTransform
    Definition Classes
    SuiteTransforms
  54. val munitLines: Lines
    Definition Classes
    Assertions
  55. final def munitOnlySuiteTransform: SuiteTransform
    Definition Classes
    SuiteTransforms
  56. def munitPrint(clue: => Any): String
    Definition Classes
    Assertions
  57. final def munitSuiteTransform(tests: List[Test]): List[Test]
    Definition Classes
    SuiteTransforms
  58. def munitSuiteTransforms: List[SuiteTransform]
    Definition Classes
    SuiteTransforms
  59. final def munitTestTransform(test: Test): Test
    Definition Classes
    TestTransforms
  60. def munitTestTransforms: List[TestTransform]
    Definition Classes
    TestTransforms
  61. def munitTests(): Seq[Test]
    Definition Classes
    FunSuite → Suite
  62. final val munitTestsBuffer: ListBuffer[Test]
    Definition Classes
    FunSuite
  63. def munitTimeout: Duration
    Definition Classes
    FunSuite
  64. implicit def munitTimer: Timer[IO]
    Definition Classes
    CatsEffectSuite
  65. final def munitValueTransform(testValue: => Any): Future[Any]
    Definition Classes
    ValueTransforms
  66. def munitValueTransforms: List[ValueTransform]
    Definition Classes
    CatsEffectSuite → ValueTransforms
  67. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  68. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  69. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  70. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  71. def test(request: IO[Request[IO]]): Http4sMUnitTestCreator

    Declares a test for the provided request.

    Declares a test for the provided request. That request will be executed using the routes provided in routes.

    Examples:
    1. test(GET(uri"users" / 42)) { response =>
         // test body
      }
    2. ,
    3. test(POST(json, uri"users")).alias("Create a new user") { response =>
         // test body
      }
    4. ,
    5. test(GET(uri"users" / 42)).flaky { response =>
         // test body
      }
  72. def test(options: TestOptions)(body: => Any)(implicit loc: Location): Unit
    Definition Classes
    FunSuite
  73. def test(name: String)(body: => Any)(implicit loc: Location): Unit
    Definition Classes
    FunSuite
  74. implicit def testOptionsFromString(name: String)(implicit loc: Location): TestOptions
    Definition Classes
    TestOptionsConversions
  75. def toString(): String
    Definition Classes
    AnyRef → Any
  76. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  77. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  78. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  79. object FunFixture
    Definition Classes
    FunFixtures
  80. object ResourceFixture
    Definition Classes
    CatsEffectFunFixtures

Inherited from Http4sSuite[Unit]

Inherited from CatsEffectSuite

Inherited from CatsEffectFunFixtures

Inherited from CatsEffectAssertions

Inherited from FunSuite

Inherited from ValueTransforms

Inherited from SuiteTransforms

Inherited from TestTransforms

Inherited from TestOptionsConversions

Inherited from FunFixtures

Inherited from Assertions

Inherited from CompileErrorMacro

Inherited from Suite

Inherited from PlatformSuite

Inherited from AnyRef

Inherited from Any

Ungrouped