public void CheckMethodApplicationLifecycleHook_Returns_Null_For_Incorrect_Params() { var methodDeclaration = SyntaxFactory.MethodDeclaration( SyntaxFactory.PredefinedType(SyntaxFactory.Token(SyntaxKind.VoidKeyword)), SyntaxFactory.Identifier(BeginRequestMethodName)); var result = LifecycleManagerService.CheckMethodApplicationLifecycleHook(methodDeclaration); Assert.IsNull(result); }
public void CheckMethodApplicationLifecycleHook_Returns_Null_For_Incorrect_Name() { var methodDeclaration = SyntaxFactory .MethodDeclaration( SyntaxFactory.PredefinedType(SyntaxFactory.Token(SyntaxKind.VoidKeyword)), SyntaxFactory.Identifier(IncorrectMethodName)) .AddParameterListParameters( SyntaxFactory.Parameter(SyntaxFactory.Identifier(SenderParamName)).WithType(SyntaxFactory.ParseTypeName(SenderParamType)), SyntaxFactory.Parameter(SyntaxFactory.Identifier(EventArgsParamName)).WithType(SyntaxFactory.ParseTypeName(EventArgsParamType))); var result = LifecycleManagerService.CheckMethodApplicationLifecycleHook(methodDeclaration); Assert.IsNull(result); }
public void CheckMethodApplicationLifecycleHook_Returns_Correct_Lifecycle_Hook() { var methodDeclaration = SyntaxFactory .MethodDeclaration( SyntaxFactory.PredefinedType(SyntaxFactory.Token(SyntaxKind.VoidKeyword)), SyntaxFactory.Identifier(BeginRequestMethodName)) .AddParameterListParameters( SyntaxFactory.Parameter(SyntaxFactory.Identifier(SenderParamName)).WithType(SyntaxFactory.ParseTypeName(SenderParamType)), SyntaxFactory.Parameter(SyntaxFactory.Identifier(EventArgsParamName)).WithType(SyntaxFactory.ParseTypeName(EventArgsParamType))); var result = LifecycleManagerService.CheckMethodApplicationLifecycleHook(methodDeclaration); Assert.AreEqual(WebFormsAppLifecycleEvent.BeginRequest, result); }
private void ProcessMethods(IEnumerable <MethodDeclarationSyntax> orignalMethods) { foreach (var method in orignalMethods) { try { var lifecycleEvent = LifecycleManagerService.CheckMethodApplicationLifecycleHook(method); if (lifecycleEvent != null) { HandleLifecycleMethod(method, (WebFormsAppLifecycleEvent)lifecycleEvent); } else if (method.IsEventHandler(ApplicationStartMethodName)) { var newStatements = method.Body.Statements // Make a note of where these lines came from .AddComment(string.Format(Constants.CodeOriginCommentTemplate, ApplicationStartMethodName)) // Add blank line before new statements to give some separation from previous statements .Prepend(CodeSyntaxHelper.GetBlankLine()); _configureMethodStatements = _configureMethodStatements.Concat(newStatements); } else if (method.IsEventHandler(ApplicationEndMethodName) || method.IsEventHandler(SessionStartMethodName) || method.IsEventHandler(SessionEndMethodName)) { CommentOutMethod(method); } else { _keepableMethods = _keepableMethods.Append(method); } } catch (Exception e) { LogHelper.LogError(e, $"{Rules.Config.Constants.WebFormsErrorTag}Failed to process {method.Identifier} method in {OriginalClassName} class at {_fullPath}"); } } // We added all discovered middleware methods as lambdas so global has been // processed as a middleware source _lifecycleManager.NotifyMiddlewareSourceProcessed(); }