/// <summary> /// Handles external language delete request /// </summary> /// <param name="parameters">Request parameters</param> /// <param name="requestContext">Request Context</param> /// <returns></returns> public async Task HandleExternalLanguageDeleteRequest(ExternalLanguageDeleteRequestParams parameters, RequestContext <ExternalLanguageDeleteResponseParams> requestContext) { Logger.Write(TraceEventType.Verbose, "HandleExternalLanguageDeleteRequest"); try { ConnectionInfo connInfo; ConnectionServiceInstance.TryFindConnection( parameters.OwnerUri, out connInfo); ExternalLanguageDeleteResponseParams response = new ExternalLanguageDeleteResponseParams { }; if (connInfo == null) { await requestContext.SendError(new Exception(SR.ConnectionServiceDbErrorDefaultNotConnected(parameters.OwnerUri))); } else { using (IDbConnection dbConnection = ConnectionService.OpenSqlConnection(connInfo)) { ExternalLanguageOperations.DeleteLanguage(dbConnection, parameters.LanguageName); } await requestContext.SendResult(response); } } catch (Exception e) { // Exception related to run task will be captured here await requestContext.SendError(e); } }
public async void VerifyExternalLanguageDeleteRequest() { ExternalLanguage language = new ExternalLanguage { Name = "name" }; Mock <ExternalLanguageOperations> operations = new Mock <ExternalLanguageOperations>(); operations.Setup(x => x.DeleteLanguage(It.IsAny <IDbConnection>(), language.Name)); ExternalLanguageService service = new ExternalLanguageService() { ExternalLanguageOperations = operations.Object }; await VerifyRequst <ExternalLanguageDeleteResponseParams>( test : async(requestContext, connectionUrl) => { ExternalLanguageDeleteRequestParams requestParams = new ExternalLanguageDeleteRequestParams { OwnerUri = connectionUrl, LanguageName = language.Name }; await service.HandleExternalLanguageDeleteRequest(requestParams, requestContext); return(null); }, verify : (actual => { Assert.NotNull(actual); })); }
public async void VerifyExternalLanguageDeleteRequestFailures() { ExternalLanguage language = new ExternalLanguage { Name = "name" }; Mock <ExternalLanguageOperations> operations = new Mock <ExternalLanguageOperations>(); operations.Setup(x => x.DeleteLanguage(It.IsAny <IDbConnection>(), language.Name)).Throws(new Exception("Error")); ExternalLanguageService service = new ExternalLanguageService() { ExternalLanguageOperations = operations.Object }; await VerifyError <ExternalLanguageDeleteResponseParams>( test : async(requestContext, connectionUrl) => { ExternalLanguageDeleteRequestParams requestParams = new ExternalLanguageDeleteRequestParams { OwnerUri = connectionUrl, LanguageName = language.Name }; await service.HandleExternalLanguageDeleteRequest(requestParams, requestContext); return(null); }); }
public async void VerifyExternalLanguageDeleteRequestConnectionFailures() { ExternalLanguage language = new ExternalLanguage { Name = "name" }; Mock <ExternalLanguageOperations> operations = new Mock <ExternalLanguageOperations>(); ExternalLanguageService service = new ExternalLanguageService() { ExternalLanguageOperations = operations.Object }; await VerifyError <ExternalLanguageDeleteResponseParams>( test : async(requestContext, connectionUrl) => { ExternalLanguageDeleteRequestParams requestParams = new ExternalLanguageDeleteRequestParams { OwnerUri = "invalid connection", LanguageName = language.Name }; await service.HandleExternalLanguageDeleteRequest(requestParams, requestContext); return(null); }); }