public async Task GetAnonApplicationTokenShouldWorkWithNullLoggingContext() { // Given var input = new AnonymousApplicationTokenInput(); // When AnonymousApplicationTokenResource token = await m_application.GetAnonApplicationTokenAsync(null, input).ConfigureAwait(false); // Then Assert.IsNotNull(token); }
public async Task GetAnonApplicationTokenShouldThrowIfInputNull() { // Given AnonymousApplicationTokenInput input = null; // When await m_application.GetAnonApplicationTokenAsync(m_loggingContext, input).ConfigureAwait(false); // Then // Exception is thrown }
public async Task GetAnonApplicationTokenShouldReturnToken() { // Given var input = new AnonymousApplicationTokenInput(); // When AnonymousApplicationTokenResource token = await m_application.GetAnonApplicationTokenAsync(m_loggingContext, input); // Then Assert.IsNotNull(token); }
public async Task GetAnonApplicationTokenShouldThrowIfServerResponseMalformed() { // Given m_restfulClient.OverrideResponse(new Uri(DataUrls.AnonToken), HttpMethod.Post, HttpStatusCode.OK, "AnonApplicationToken_Malformed.json"); var input = new AnonymousApplicationTokenInput(); // When await m_application.GetAnonApplicationTokenAsync(m_loggingContext, input).ConfigureAwait(false); // Then // Exception is thrown }
public async Task GetAnonApplicationTokenShouldMakeHttpRequest() { // Given Assert.IsFalse(m_restfulClient.RequestsProcessed("POST " + DataUrls.AnonToken)); var input = new AnonymousApplicationTokenInput(); // When await m_application.GetAnonApplicationTokenAsync(m_loggingContext, input).ConfigureAwait(false); // Then Assert.IsTrue(m_restfulClient.RequestsProcessed("POST " + DataUrls.AnonToken)); }
public SkypeAnonTokenInfo GetAnonymousToken(AnonymousApplicationTokenInput tokenInput) { if (!_isInitialized) { InitializeEndpoint(); } var anonToken = _applicationEndpoint.Application.GetAnonApplicationTokenAsync(_loggingContext, tokenInput).Result; return(new SkypeAnonTokenInfo { AnonToken = anonToken.AuthToken, DiscoverUrl = anonToken.AnonymousApplicationsDiscover.Href }); }
public async Task GetAnonApplicationTokenShouldThrowIfUrlNotAvailable() { // Given m_restfulClient.OverrideResponse(new Uri(DataUrls.Application), HttpMethod.Get, HttpStatusCode.OK, "Application_NoGetAnonApplicationToken.json"); await m_application.RefreshAndInitializeAsync(m_loggingContext).ConfigureAwait(false); var input = new AnonymousApplicationTokenInput(); // When await m_application.GetAnonApplicationTokenAsync(m_loggingContext, input).ConfigureAwait(false); // Then // Exception is thrown }
private async Task <IAnonymousApplicationToken> GetAnonApplicationTokenAsync(LoggingContext loggingContext, string meetingUrl, string allowedOrigins, string applicationSessionId) { var input = new AnonymousApplicationTokenInput() { MeetingUrl = meetingUrl, AllowedOrigins = allowedOrigins, ApplicationSessionId = applicationSessionId }; #pragma warning disable CS0618 // Type or member is obsolete AnonymousApplicationTokenResource anonymousApplicationToken = await GetAnonApplicationTokenAsync(loggingContext, input).ConfigureAwait(false); #pragma warning restore CS0618 // Type or member is obsolete return(new AnonymousApplicationToken(RestfulClient, anonymousApplicationToken, BaseUri, UriHelper.CreateAbsoluteUri(BaseUri, anonymousApplicationToken.SelfUri), this)); }
public override async Task <T> ExecuteCoreWithResultAsync <T>() { AnonymousToken result = null; Logger.Instance.Information(string.Format("[GetAnonTokenJob] stared: LoggingContext: {0}", LoggingContext.JobId)); try { GetAnonTokenInput getAnonTokenInput = this.JobInput as GetAnonTokenInput; if (getAnonTokenInput == null) { throw new InvalidOperationException("Failed to get valid GetAnonTokenInput intance"); } AnonymousApplicationTokenInput anoninput = new AnonymousApplicationTokenInput() { AllowedOrigins = getAnonTokenInput.AllowedOrigins, ApplicationSessionId = getAnonTokenInput.ApplicationSessionId, MeetingUrl = getAnonTokenInput.MeetingUrl }; var tokenResources = await AzureApplication.ApplicationEndpoint.Application.GetAnonApplicationTokenAsync(LoggingContext, anoninput).ConfigureAwait(false); if (tokenResources != null) { result = new AnonymousToken { DiscoverUri = tokenResources.AnonymousApplicationsDiscover.Href, ExpireTime = tokenResources.AuthTokenExpiryTime, Token = tokenResources.AuthToken, TenantEndpointId = AzureApplication.ApplicationEndpoint.ApplicationEndpointId.ToString() }; } } catch (CapabilityNotAvailableException ex) { Logger.Instance.Error("Failed to get anon token.", ex); throw; } catch (RemotePlatformServiceException ex) { Logger.Instance.Error("Failed to get anon token.", ex); throw; } return(result as T); }
// All obsolete methods will be removed when releasing 1.0.0 // We are keeping methods for prerelease as we don't want to break our partners every week :) public async Task <AnonymousApplicationTokenResource> GetAnonApplicationTokenAsync(LoggingContext loggingContext, AnonymousApplicationTokenInput input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } Logger.Instance.Information("Calling Application.RefreshAsync"); await this.RefreshAsync(loggingContext).ConfigureAwait(false); Logger.Instance.Information("Start to fetching anonToken"); string href = PlatformResource?.AnonymousApplicationTokens?.Href; if (href == null) { throw new CapabilityNotAvailableException("Link to get anonymous tokens is not available."); } Uri url = UriHelper.CreateAbsoluteUri(this.BaseUri, href); HttpResponseMessage httpResponse = await this.PostRelatedPlatformResourceAsync(url, input, new ResourceJsonMediaTypeFormatter(), loggingContext).ConfigureAwait(false); try { //Does it neccessary to create a helper class from Common layer to do deserialize? Stream platformResourceStream = await httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false); return(MediaTypeFormattersHelper.ReadContentWithType(typeof(AnonymousApplicationTokenResource), httpResponse.Content.Headers.ContentType, platformResourceStream) as AnonymousApplicationTokenResource); } catch (Exception ex) { Logger.Instance.Error("Failed to diserialize anon token "); throw new RemotePlatformServiceException("Not get valid anon token resource from server, deserialize failure.", ex); } }