public void ShareURLNonSuccessStatusCodesShouldThrowException(HttpStatusCode httpStatusCode) { Mock <HttpMessageHandler> handlerMock = SetupMockMessageHandler( httpStatusCode, "{\"status\":\"bad\""); var engine = new YotiClientEngine(new HttpClient(handlerMock.Object)); DynamicScenario dynamicScenario = TestTools.ShareUrl.CreateStandardDynamicScenario(); var aggregateException = Assert.ThrowsException <AggregateException>(() => { engine.CreateShareURLAsync(SdkId, _keyPair, new Uri(Constants.Api.DefaultYotiApiUrl), dynamicScenario).Wait(); }); Assert.IsTrue(TestTools.Exceptions.IsExceptionInAggregateException <DynamicShareException>(aggregateException)); }
public async Task CreateShareURLAsyncShouldReturnCorrectValues() { string shareUrl = @"https://yoti.com/shareurl"; string refId = "NpdmVVGC-28356678-c236-4518-9de4-7a93009ccaf0-c5f92f2a-5539-453e-babc-9b06e1d6b7de"; Mock <HttpMessageHandler> handlerMock = SetupMockMessageHandler( HttpStatusCode.OK, "{\"qrcode\":\"" + shareUrl + "\",\"ref_id\":\"" + refId + "\"}"); var engine = new YotiClientEngine(new HttpClient(handlerMock.Object)); DynamicScenario dynamicScenario = TestTools.ShareUrl.CreateStandardDynamicScenario(); ShareUrlResult shareUrlResult = await engine.CreateShareURLAsync(SdkId, _keyPair, new Uri(Constants.Api.DefaultYotiApiUrl), dynamicScenario); Assert.IsNotNull(shareUrlResult); Assert.AreEqual(new Uri(shareUrl), shareUrlResult.Url); Assert.AreEqual(refId, shareUrlResult.RefId); }
/// <summary> /// Asynchronously initiate a sharing process based on a <see cref="DynamicScenario"/>. /// </summary> /// <param name="dynamicScenario"> /// Details of the device's callback endpoint, <see /// cref="Yoti.Auth.ShareUrl.Policy.DynamicPolicy"/> and extensions for the application /// </param> /// <returns><see cref="ShareUrlResult"/> containing a Sharing URL and Reference ID</returns> public async Task <ShareUrlResult> CreateShareUrlAsync(DynamicScenario dynamicScenario) { return(await _yotiClientEngine.CreateShareURLAsync(_sdkId, _keyPair, ApiUri, dynamicScenario).ConfigureAwait(false)); }
/// <summary> /// Initiate a sharing process based on a <see cref="DynamicScenario"/>. /// </summary> /// <param name="dynamicScenario"> /// Details of the device's callback endpoint, <see /// cref="Yoti.Auth.ShareUrl.Policy.DynamicPolicy"/> and extensions for the application /// </param> /// <returns><see cref="ShareUrlResult"/> containing a Sharing URL and Reference ID</returns> public ShareUrlResult CreateShareUrl(DynamicScenario dynamicScenario) { Task <ShareUrlResult> task = Task.Run(async() => await CreateShareUrlAsync(dynamicScenario).ConfigureAwait(false)); return(task.Result); }
public void Startup() { _someHeaders.Add("Key", "Value"); _someDynamicScenario = TestTools.ShareUrl.CreateStandardDynamicScenario(); }
public async Task <ShareUrlResult> CreateShareURLAsync(string sdkId, AsymmetricCipherKeyPair keyPair, Uri apiUrl, DynamicScenario dynamicScenario) { ShareUrlResult result = await Task.Run(async() => await DynamicSharingService.CreateShareURL( _httpClient, apiUrl, sdkId, keyPair, dynamicScenario).ConfigureAwait(false)) .ConfigureAwait(false); return(result); }