public async void TestGetAccessToken()
        {
            const string TOKEN              = "ABC";
            const string URI                = "https://example.com/token";
            var          facmoq             = StringClientFactoryMock(TOKEN, out var handlerMock);
            var          gegevensdienstMock = new Mock <IGegevensdienst>();

            gegevensdienstMock.Setup(geg => geg.TokenEndpointUri).Returns(new System.Uri(URI));

            var t = await PGOOAuth.GetAccessToken(
                gegevensdienst : gegevensdienstMock.Object,
                authorizationCode : "test123",
                redirectUri : "https://pgo.example.com/redir",
                httpClientFactory : facmoq
                );

            Assert.Equal(TOKEN, t);

            handlerMock.Protected().Verify(
                "SendAsync",
                Times.Exactly(1),
                ItExpr.IsAny <HttpRequestMessage>(),
                ItExpr.IsAny <CancellationToken>()
                );

            handlerMock.Protected().Verify(
                "SendAsync",
                Times.Exactly(1),
                ItExpr.Is <HttpRequestMessage>(req => req.Method == HttpMethod.Post && req.RequestUri.ToString().StartsWith(URI)),
                ItExpr.IsAny <CancellationToken>()
                );
        }
        public void TestMakeAuthUri()
        {
            const string ZANAAM    = "za@medmij";
            const string ID        = "5";
            const string SCOPE     = "za~5";
            const string ZAAUTH    = "https://za.example.com/auth";
            const string PGO_REDIR = "https://pgo.example.com/my-endpoint";
            const string PGO_ID    = "pgo.example.com";

            var gegevensdienstMock = new Mock <IGegevensdienst>();

            gegevensdienstMock.Setup(geg => geg.Zorgaanbiedernaam).Returns(ZANAAM);
            gegevensdienstMock.Setup(geg => geg.Id).Returns(ID);
            gegevensdienstMock.Setup(geg => geg.AuthorizationEndpointUri).Returns(new System.Uri(ZAAUTH));

            var url = PGOOAuth.MakeAuthUri(
                gegevensdienst: gegevensdienstMock.Object,
                clientId: PGO_ID,
                redirectUri: PGO_REDIR,
                state: "abc"
                );

            Assert.StartsWith(ZAAUTH, url.ToString());
            Assert.Contains($"client_id={PGO_ID}", url.Query);
            Assert.Contains($"scope={SCOPE}", url.Query);
        }