Example #1
0
 public UsingCookies(IAnalyzerConfiguration analyzerConfiguration)
 {
     PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule);
     ElementAccessTracker  = new CSharpElementAccessTracker(analyzerConfiguration, rule);
     ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule);
     InvocationTracker     = new CSharpInvocationTracker(analyzerConfiguration, rule);
 }
Example #2
0
 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();
 }
 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);
 }
Example #5
0
        public void InvocationConditionForUndefinedMethod()
        {
            var context = CreateContext <CSharpSyntax.InvocationExpressionSyntax>(TestInputCS, "Undefined", AnalyzerLanguage.CSharp, 1);
            var tracker = new CSharpInvocationTracker();

            tracker.MethodIsStatic()(context).Should().BeFalse();
            tracker.MethodIsExtension()(context).Should().BeFalse();
            tracker.MethodHasParameters(0)(context).Should().BeFalse();
            tracker.MethodReturnTypeIs(KnownType.Void)(context).Should().BeFalse();
        }
Example #6
0
        public void ArgumentAtIndexEquals_CS()
        {
            var context = CreateContext <CSharpSyntax.InvocationExpressionSyntax>(TestInputCS, "MyMethod", AnalyzerLanguage.CSharp);
            var tracker = new CSharpInvocationTracker(null, null);

            tracker.ArgumentAtIndexEquals(0, "myConst")(context).Should().BeFalse();
            tracker.ArgumentAtIndexEquals(1, "myConst")(context).Should().BeTrue();
            tracker.ArgumentAtIndexEquals(1, "foo")(context).Should().BeFalse();
            tracker.ArgumentAtIndexEquals(2, "true")(context).Should().BeFalse();   // Not a string
            tracker.ArgumentAtIndexEquals(42, "myConst")(context).Should().BeFalse();
        }
        public void IsIHeadersDictionary(int invocationsToSkip, bool expectedValue)
        {
            var context = CreateContext <CSharpSyntax.InvocationExpressionSyntax>(IsIHeadersDictionaryCode,
                                                                                  "MethodName",
                                                                                  AnalyzerLanguage.CSharp,
                                                                                  invocationsToSkip,
                                                                                  new[] { CoreMetadataReference.MicrosoftExtensionsPrimitives });
            var sut = new CSharpInvocationTracker();

            sut.IsIHeadersDictionary()(context).Should().Be(expectedValue);
        }
Example #8
0
        public void ArgumentAtIndexIsConstant_CS()
        {
            var context = CreateContext <CSharpSyntax.InvocationExpressionSyntax>(TestInputCS, "MyMethod", AnalyzerLanguage.CSharp);
            var tracker = new CSharpInvocationTracker();

            tracker.ArgumentAtIndexIsConstant(0)(context).Should().BeFalse();
            tracker.ArgumentAtIndexIsConstant(1)(context).Should().BeTrue();
            tracker.ArgumentAtIndexIsConstant(2)(context).Should().BeTrue();
            tracker.ArgumentAtIndexIsConstant(3)(context).Should().BeTrue();
            tracker.ArgumentAtIndexIsConstant(4)(context).Should().BeFalse();
            tracker.ArgumentAtIndexIsConstant(42)(context).Should().BeFalse();
        }
Example #9
0
        public void ConstArgumentForParameter_CS()
        {
            var context = CreateContext <CSharpSyntax.InvocationExpressionSyntax>(TestInputCS, "MyMethod", AnalyzerLanguage.CSharp);
            var tracker = new CSharpInvocationTracker();

            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();
        }
Example #10
0
        public void ArgumentIsBoolConstant_CS()
        {
            var context = CreateContext <CSharpSyntax.InvocationExpressionSyntax>(TestInputCS, "MyMethod", AnalyzerLanguage.CSharp);
            var tracker = new CSharpInvocationTracker();

            tracker.ArgumentIsBoolConstant("a", true)(context).Should().Be(false);
            tracker.ArgumentIsBoolConstant("a", false)(context).Should().Be(false);
            tracker.ArgumentIsBoolConstant("c", true)(context).Should().Be(true);
            tracker.ArgumentIsBoolConstant("c", false)(context).Should().Be(false);
            tracker.ArgumentIsBoolConstant("nonExistingParameterName", true)(context).Should().Be(false);
            tracker.ArgumentIsBoolConstant("nonExistingParameterName", false)(context).Should().Be(false);
        }
Example #11
0
 public UsingRegularExpressions(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker     = new CSharpInvocationTracker(analyzerConfiguration, rule);
     ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, 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);
 }
Example #14
0
 internal CommandPath(IAnalyzerConfiguration configuration) : base(RspecStrings.ResourceManager)
 {
     InvocationTracker     = new CSharpInvocationTracker(configuration, Rule);
     PropertyAccessTracker = new CSharpPropertyAccessTracker(configuration, Rule);
     ObjectCreationTracker = new CSharpObjectCreationTracker(configuration, Rule);
 }
Example #15
0
 internal /*for testing*/ DynamicExecution(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule);
 }
Example #16
0
 internal /*for testing*/ ReadingStandardInput(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker     = new CSharpInvocationTracker(analyzerConfiguration, rule);
     PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule);
 }
 internal /*for testing*/ DeliveringDebugFeaturesInProduction(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule);
 }
Example #18
0
 public ExpandingArchives(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule);
 }
 internal /*for testing*/ SendingHttpRequests(IAnalyzerConfiguration analyzerConfiguration)
 {
     ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule);
     InvocationTracker     = new CSharpInvocationTracker(analyzerConfiguration, rule);
 }
Example #20
0
 public EncryptionAlgorithmsShouldBeSecure()
 {
     InvocationTracker     = new CSharpInvocationTracker(AnalyzerConfiguration.AlwaysEnabled, rule);
     PropertyAccessTracker = new CSharpPropertyAccessTracker(AnalyzerConfiguration.AlwaysEnabled, rule);
     ObjectCreationTracker = new CSharpObjectCreationTracker(AnalyzerConfiguration.AlwaysEnabled, rule);
 }
Example #21
0
 internal /*for testing*/ ExecutingXPath(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, Rule);
 }
Example #22
0
 internal /*for testing*/ EncryptingData(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker = new CSharpInvocationTracker(analyzerConfiguration, rule);
     BaseTypeTracker   = new CSharpBaseTypeTracker(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);
 }
Example #25
0
 public JwtSigned() : base(RspecStrings.ResourceManager)
 {
     InvocationTracker = new CSharpInvocationTracker(AnalyzerConfiguration.AlwaysEnabled, verifyingRule);
 }
 internal CreatingHashAlgorithms(IAnalyzerConfiguration analyzerConfiguration)
 {
     ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule);
     InvocationTracker     = new CSharpInvocationTracker(analyzerConfiguration, rule);
 }
Example #27
0
 public ConfiguringLoggers(IAnalyzerConfiguration analyzerConfiguration)
 {
     InvocationTracker     = new CSharpInvocationTracker(analyzerConfiguration, rule);
     ObjectCreationTracker = new CSharpObjectCreationTracker(analyzerConfiguration, rule);
     PropertyAccessTracker = new CSharpPropertyAccessTracker(analyzerConfiguration, rule);
 }
Example #28
0
 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);
 }