public void WithHttpClientFactory() { var credential = ImpersonatedCredential.Create(CreateSourceCredential(), new ImpersonatedCredential.Initializer("principal")); var factory = new HttpClientFactory(); var credentialWithFactory = Assert.IsType <ImpersonatedCredential>(((IGoogleCredential)credential).WithHttpClientFactory(factory)); Assert.NotSame(credential, credentialWithFactory); Assert.NotSame(credential.HttpClient, credentialWithFactory.HttpClient); Assert.NotSame(credential.HttpClientFactory, credentialWithFactory.HttpClientFactory); Assert.Same(factory, credentialWithFactory.HttpClientFactory); }
private static ImpersonatedCredential CreateImpersonatedCredentialForBody(object body, bool serializeBody = true, HttpStatusCode status = HttpStatusCode.OK, Action <HttpRequestMessage> requestValidator = null) { var sourceCredential = CreateSourceCredential(); var messageHandler = new FakeHttpMessageHandler( status, serializeBody ? NewtonsoftJsonSerializer.Instance.Serialize(body) : body.ToString(), requestValidator); return(ImpersonatedCredential.Create( sourceCredential, new ImpersonatedCredential.Initializer("principal") { Scopes = new string[] { "scope" }, Clock = _clock, HttpClientFactory = new MockHttpClientFactory(messageHandler) })); }
public void Create_InvalidSourceCredential() => Assert.Throws <InvalidOperationException>(() => ImpersonatedCredential.Create( GoogleCredential.FromComputeCredential(), new ImpersonatedCredential.Initializer("principal")));