public UsingCookies(IAnalyzerConfiguration analyzerConfiguration) { PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule); ElementAccessTracker = new CSharpElementAccessTracker(analyzerConfiguration, rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); }
public UsingCookies(IAnalyzerConfiguration analyzerConfiguration) : base(RspecStrings.ResourceManager) { PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, Rule); ElementAccessTracker = new CSharpElementAccessTracker(analyzerConfiguration, Rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, Rule); InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, Rule); }
internal /*for testing*/ ExecutingSqlQueries(IAnalyzerConfiguration analyzerConfiguration) : base(RspecStrings.ResourceManager) { InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, Rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, Rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, Rule); AssignmentFinder = new CSharpAssignmentFinder(); }
public void ConstArgumentForParameter_CS() { var testInput = @" namespace NS { public class Base { private Base(string a, string b, bool c, int d, object e) {} private void Usage(string notAConst) { new Base(notAConst, ""myConst"", true, 4, new object()); } } } "; var context = CreateContext <CSharpSyntax.ObjectCreationExpressionSyntax>(testInput, AnalyzerLanguage.CSharp); var tracker = new CSharpObjectCreationTracker(null, null); tracker.ConstArgumentForParameter(context, "a").Should().BeNull(); tracker.ConstArgumentForParameter(context, "b").Should().Be("myConst"); tracker.ConstArgumentForParameter(context, "c").Should().Be(true); tracker.ConstArgumentForParameter(context, "d").Should().Be(4); tracker.ConstArgumentForParameter(context, "e").Should().BeNull(); tracker.ConstArgumentForParameter(context, "nonExistingParameterName").Should().BeNull(); }
internal /*for testing*/ ControllingPermissions(IAnalyzerConfiguration analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule); MethodDeclarationTracker = new CSharpMethodDeclarationTracker(analyzerConfiguration, rule); BaseTypeTracker = new CSharpBaseTypeTracker(analyzerConfiguration, rule); }
public void AndCondition() { var tracker = new CSharpObjectCreationTracker(); CSharpObjectCreationTracker.Condition trueCondition = x => true; CSharpObjectCreationTracker.Condition falseCondition = x => false; tracker.And(trueCondition, trueCondition)(null).Should().BeTrue(); tracker.And(trueCondition, falseCondition)(null).Should().BeFalse(); tracker.And(falseCondition, trueCondition)(null).Should().BeFalse(); tracker.And(falseCondition, falseCondition)(null).Should().BeFalse(); }
public void ObjectCreationConditionForUndefinedSymbol() { const string testInput = @" public class Base { private void Usage(string notAConst) { new Undefined(true); } }"; var context = CreateContext <CSharpSyntax.ObjectCreationExpressionSyntax>(testInput, AnalyzerLanguage.CSharp); var tracker = new CSharpObjectCreationTracker(); tracker.ArgumentAtIndexIs(0, KnownType.System_Boolean)(context).Should().BeFalse(); tracker.WhenDerivesFrom(KnownType.System_Exception)(context).Should().BeFalse(); tracker.WhenImplements(KnownType.System_IDisposable)(context).Should().BeFalse(); tracker.WhenDerivesOrImplementsAny(KnownType.System_Boolean)(context).Should().BeFalse(); tracker.MatchConstructor(KnownType.System_Boolean)(context).Should().BeFalse(); }
public void ObjectCreationConditionForNonconstructorSymbols() { const string testInput = @" using System; public class Base : Exception, IDisposable { private void Method(bool b) { } public void Dispose() { } public void Usage() { Method(true); } }"; var context = CreateContext <CSharpSyntax.InvocationExpressionSyntax>(testInput, AnalyzerLanguage.CSharp); // Created with wrong syntax var tracker = new CSharpObjectCreationTracker(); tracker.ArgumentAtIndexIs(0, KnownType.System_Boolean)(context).Should().BeTrue(); // Doesn't care about symbol type tracker.WhenDerivesFrom(KnownType.System_Exception)(context).Should().BeFalse(); tracker.WhenImplements(KnownType.System_IDisposable)(context).Should().BeFalse(); tracker.WhenDerivesOrImplementsAny(KnownType.System_Exception)(context).Should().BeFalse(); tracker.MatchConstructor(KnownType.System_Boolean)(context).Should().BeFalse(); }
internal CookieShouldBeHttpOnly(IAnalyzerConfiguration analyzerConfiguration) : base(analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); }
internal /*for testing*/ SocketsCreation(IAnalyzerConfiguration analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); }
internal CreatingHashAlgorithms(IAnalyzerConfiguration analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); }
public EncryptionAlgorithmsShouldBeSecure() : base(RspecStrings.ResourceManager) { InvocationTracker = new CSharpInvocationTracker(AnalyzerConfiguration.AlwaysEnabled, Rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(AnalyzerConfiguration.AlwaysEnabled, Rule); ObjectCreationTracker = new CSharpObjectCreationTracker(AnalyzerConfiguration.AlwaysEnabled, Rule); }
internal /*for testing*/ ExecutingSqlQueries(IAnalyzerConfiguration analyzerConfiguration) { InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); }
internal /*for testing*/ DoNotHardcodeCredentials(IAnalyzerConfiguration analyzerConfiguration) : base(RspecStrings.ResourceManager, analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, Rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, Rule); }
internal CommandPath(IAnalyzerConfiguration configuration) : base(RspecStrings.ResourceManager) { InvocationTracker = new CSharpInvocationTracker(configuration, Rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(configuration, Rule); ObjectCreationTracker = new CSharpObjectCreationTracker(configuration, Rule); }
internal /*for testing*/ CreatingHashAlgorithms(IAnalyzerConfiguration analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); BaseTypeTracker = new CSharpBaseTypeTracker(analyzerConfiguration, rule); }
public UsingRegularExpressions(IAnalyzerConfiguration analyzerConfiguration) : base(RspecStrings.ResourceManager) { InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, Rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, Rule); }
internal /*for testing*/ SendingHttpRequests(IAnalyzerConfiguration analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); }
public UsingRegularExpressions(IAnalyzerConfiguration analyzerConfiguration) { InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); }
public ConfiguringLoggers(IAnalyzerConfiguration analyzerConfiguration) { InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule); }
public EncryptionAlgorithmsShouldBeSecure() { InvocationTracker = new CSharpInvocationTracker(AnalyzerConfiguration.AlwaysEnabled, rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(AnalyzerConfiguration.AlwaysEnabled, rule); ObjectCreationTracker = new CSharpObjectCreationTracker(AnalyzerConfiguration.AlwaysEnabled, rule); }
internal /*for testing*/ DoNotHardcodeCredentials(IAnalyzerConfiguration analyzerConfiguration) : base(analyzerConfiguration) { ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule); }
internal /*for testing*/ HandlingFiles(IAnalyzerConfiguration analyzerConfiguration) { InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); }
/*for testing*/ internal ExecutingOsCommands(IAnalyzerConfiguration analyzerConfiguration) { InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule); PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule); ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule); }