module Test.Cargohold.Metrics where
import Data.String.Conversions
import Testlib.Prelude
testPrometheusMetrics :: (HasCallStack) => App ()
testPrometheusMetrics :: HasCallStack => App ()
testPrometheusMetrics = do
req <- Domain -> Service -> Versioned -> String -> App Request
forall user.
(HasCallStack, MakesValue user) =>
user -> Service -> Versioned -> String -> App Request
baseRequest Domain
OwnDomain Service
Cargohold Versioned
Unversioned String
"i/metrics"
resp <- submit "GET" req
withResponse resp $ \Response
r -> do
Response
r.status Int -> Int -> App ()
forall a. (MakesValue a, HasCallStack) => a -> Int -> App ()
`shouldMatchInt` Int
200
ByteString -> String
forall a b. ConvertibleStrings a b => a -> b
cs Response
r.body HasCallStack => String -> String -> App ()
String -> String -> App ()
`shouldContainString` String
"TYPE http_request_duration_seconds histogram"