Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 /// <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));
 }
Esempio n. 4
0
        /// <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);
        }