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