diff --git a/changelog.d/5-internal/api-version-endpoint b/changelog.d/5-internal/api-version-endpoint new file mode 100644 index 0000000000..600d93bd70 --- /dev/null +++ b/changelog.d/5-internal/api-version-endpoint @@ -0,0 +1 @@ +Add tests for additional information returned by `GET /api-version` diff --git a/services/brig/src/Brig/User/API/Auth.hs b/services/brig/src/Brig/User/API/Auth.hs index fdd67fd5fd..fac06ef4d3 100644 --- a/services/brig/src/Brig/User/API/Auth.hs +++ b/services/brig/src/Brig/User/API/Auth.hs @@ -61,6 +61,8 @@ import Wire.Swagger as Doc (pendingLoginError) routesPublic :: Routes Doc.ApiBuilder (Handler r) () routesPublic = do + -- Note: this endpoint should always remain available at its unversioned + -- path, since the login cookie hardcodes @/access@ as a path. post "/access" (continue renewH) $ accept "application" "json" .&. tokenRequest diff --git a/services/brig/test/integration/API/Version.hs b/services/brig/test/integration/API/Version.hs index eefdf7879c..f6914e2410 100644 --- a/services/brig/test/integration/API/Version.hs +++ b/services/brig/test/integration/API/Version.hs @@ -19,6 +19,7 @@ module API.Version (tests) where import Bilge import Bilge.Assert +import Brig.Options import Imports import qualified Network.Wai.Utilities.Error as Wai import Test.Tasty @@ -26,13 +27,14 @@ import Test.Tasty.HUnit import Util import Wire.API.Routes.Version -tests :: Manager -> Brig -> TestTree -tests p brig = +tests :: Manager -> Opts -> Brig -> TestTree +tests p opts brig = testGroup "version" [ test p "GET /api-version" $ testVersion brig, test p "GET /v1/api-version" $ testVersionV1 brig, - test p "GET /v500/api-version" $ testUnsupportedVersion brig + test p "GET /v500/api-version" $ testUnsupportedVersion brig, + test p "GET /api-version (federation info)" $ testFederationDomain opts brig ] testVersion :: Brig -> Http () @@ -57,3 +59,13 @@ testUnsupportedVersion brig = do responseJsonError =<< get (brig . path "/v500/api-version") Brig -> Http () +testFederationDomain opts brig = do + let domain = setFederationDomain (optSettings opts) + vinfo <- + responseJsonError =<< get (brig . path "/api-version") + Blank.getEnv "INTEGRATION_FEDERATION_TESTS" internalApi <- API.Internal.tests brigOpts mg db b (brig iConf) gd g - let versionApi = API.Version.tests mg b + let versionApi = API.Version.tests mg brigOpts b let mlsApi = MLS.tests mg b brigOpts