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); }