module Testlib.Ports where import Testlib.Types hiding (port) import Prelude data PortNamespace = NginzSSL | NginzHttp2 | FederatorExternal | ServiceInternal Service deriving (Int -> PortNamespace -> ShowS [PortNamespace] -> ShowS PortNamespace -> String (Int -> PortNamespace -> ShowS) -> (PortNamespace -> String) -> ([PortNamespace] -> ShowS) -> Show PortNamespace forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> PortNamespace -> ShowS showsPrec :: Int -> PortNamespace -> ShowS $cshow :: PortNamespace -> String show :: PortNamespace -> String $cshowList :: [PortNamespace] -> ShowS showList :: [PortNamespace] -> ShowS Show, PortNamespace -> PortNamespace -> Bool (PortNamespace -> PortNamespace -> Bool) -> (PortNamespace -> PortNamespace -> Bool) -> Eq PortNamespace forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: PortNamespace -> PortNamespace -> Bool == :: PortNamespace -> PortNamespace -> Bool $c/= :: PortNamespace -> PortNamespace -> Bool /= :: PortNamespace -> PortNamespace -> Bool Eq) port :: (Num a) => PortNamespace -> BackendName -> a port :: forall a. Num a => PortNamespace -> BackendName -> a port PortNamespace NginzSSL BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8443 BackendName bn port PortNamespace NginzHttp2 BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8099 BackendName bn port PortNamespace FederatorExternal BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8098 BackendName bn port (ServiceInternal Service BackgroundWorker) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8089 BackendName bn port (ServiceInternal Service Brig) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8082 BackendName bn port (ServiceInternal Service Cannon) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8083 BackendName bn port (ServiceInternal Service Cargohold) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8084 BackendName bn port (ServiceInternal Service FederatorInternal) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8097 BackendName bn port (ServiceInternal Service Galley) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8085 BackendName bn port (ServiceInternal Service Gundeck) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8086 BackendName bn port (ServiceInternal Service Nginz) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8080 BackendName bn port (ServiceInternal Service Spar) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8088 BackendName bn port (ServiceInternal Service Stern) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8091 BackendName bn port (ServiceInternal Service WireServerEnterprise) BackendName bn = Int -> BackendName -> a forall a. Num a => Int -> BackendName -> a mkPort Int 8079 BackendName bn portForDyn :: (Num a) => PortNamespace -> Int -> a portForDyn :: forall a. Num a => PortNamespace -> Int -> a portForDyn PortNamespace ns Int i = PortNamespace -> BackendName -> a forall a. Num a => PortNamespace -> BackendName -> a port PortNamespace ns (Int -> BackendName DynamicBackend Int i) mkPort :: (Num a) => Int -> BackendName -> a mkPort :: forall a. Num a => Int -> BackendName -> a mkPort Int basePort BackendName bn = let i :: Int i = case BackendName bn of BackendName BackendA -> Int 0 BackendName BackendB -> Int 1 (DynamicBackend Int k) -> Int 1 Int -> Int -> Int forall a. Num a => a -> a -> a + Int k in Int -> a forall a b. (Integral a, Num b) => a -> b fromIntegral Int basePort a -> a -> a forall a. Num a => a -> a -> a + (Int -> a forall a b. (Integral a, Num b) => a -> b fromIntegral Int i) a -> a -> a forall a. Num a => a -> a -> a * a 1000 internalServicePorts :: (Num a) => BackendName -> Service -> a internalServicePorts :: forall a. Num a => BackendName -> Service -> a internalServicePorts BackendName backend Service service = PortNamespace -> BackendName -> a forall a. Num a => PortNamespace -> BackendName -> a port (Service -> PortNamespace ServiceInternal Service service) BackendName backend