/// <summary> /// Handles config view request /// </summary> /// <param name="parameters">Request parameters</param> /// <param name="requestContext">Request Context</param> /// <returns></returns> public async Task HandleServerConfigViewRequest(ServerConfigViewRequestParams parameters, RequestContext <ServerConfigViewResponseParams> requestContext) { Logger.Write(TraceEventType.Verbose, "HandleServerConfigViewRequest"); try { ConnectionInfo connInfo; ConnectionServiceInstance.TryFindConnection( parameters.OwnerUri, out connInfo); if (connInfo == null) { await requestContext.SendError(new Exception(SR.ProfilerConnectionNotFound)); } else { var serverConnection = ConnectionService.OpenServerConnection(connInfo); ServerConfigProperty serverConfig = GetConfig(serverConnection, parameters.ConfigNumber); await requestContext.SendResult(new ServerConfigViewResponseParams { ConfigProperty = serverConfig }); } } catch (Exception e) { // Exception related to run task will be captured here await requestContext.SendError(e); } }
public async void VerifyUpdatingConfigs() { using (SelfCleaningTempFile queryTempFile = new SelfCleaningTempFile()) { var connectionResult = await LiveConnectionHelper.InitLiveConnectionInfoAsync("master", queryTempFile.FilePath); List <ServerConfigProperty> configs = await GetAllConfigs(); Assert.NotNull(configs); Assert.True(configs.Count > 0); ServerConfigProperty sampleConfig = configs[0]; ServerConfigViewResponseParams result = null; ServerConfigUpdateResponseParams updateResult = null; int newValue = sampleConfig.ConfigValue == sampleConfig.Minimum ? sampleConfig.Maximum : sampleConfig.Minimum; var requestContext = RequestContextMocks.Create <ServerConfigViewResponseParams>(r => result = r).AddErrorHandling(null); var updateRequestContext = RequestContextMocks.Create <ServerConfigUpdateResponseParams>(r => updateResult = r).AddErrorHandling(null); ServerConfigViewRequestParams requestParams = new ServerConfigViewRequestParams { OwnerUri = connectionResult.ConnectionInfo.OwnerUri, ConfigNumber = sampleConfig.Number }; ServerConfigUpdateRequestParams updateRequestParams = new ServerConfigUpdateRequestParams { OwnerUri = connectionResult.ConnectionInfo.OwnerUri, ConfigNumber = sampleConfig.Number, ConfigValue = newValue }; await ServerConfigService.Instance.HandleServerConfigViewRequest(requestParams, requestContext.Object); Assert.NotNull(result); Assert.Equal(result.ConfigProperty.ConfigValue, sampleConfig.ConfigValue); await ServerConfigService.Instance.HandleServerConfigUpdateRequest(updateRequestParams, updateRequestContext.Object); Assert.NotNull(updateResult); Assert.Equal(updateResult.ConfigProperty.ConfigValue, newValue); updateRequestParams.ConfigValue = sampleConfig.ConfigValue; await ServerConfigService.Instance.HandleServerConfigUpdateRequest(updateRequestParams, updateRequestContext.Object); Assert.NotNull(updateResult); Assert.Equal(updateResult.ConfigProperty.ConfigValue, sampleConfig.ConfigValue); ServerConfigService.Instance.ConnectionServiceInstance.Disconnect(new DisconnectParams { OwnerUri = queryTempFile.FilePath, Type = ServiceLayer.Connection.ConnectionType.Default }); } }
public async void VerifyConfigViewRequestSendErrorGivenInvalidConnection() { ServerConfigViewResponseParams result = null; var requestContext = RequestContextMocks.Create <ServerConfigViewResponseParams>(r => result = r).AddErrorHandling(null); requestContext.Setup(x => x.SendError(It.IsAny <Exception>())).Returns(System.Threading.Tasks.Task.FromResult(true)); ServerConfigViewRequestParams requestParams = new ServerConfigViewRequestParams { OwnerUri = "invalid uri" }; await ServerConfigService.Instance.HandleServerConfigViewRequest(requestParams, requestContext.Object); requestContext.Verify(x => x.SendError(It.IsAny <Exception>())); }