@@ -3,6 +3,7 @@ import semmle.python.dataflow.new.DataFlow
33import semmle.python.Concepts
44import TestUtilities.InlineExpectationsTest
55private import semmle.python.dataflow.new.internal.PrintNode
6+ private import codeql.threatmodels.ThreatModels
67
78module SystemCommandExecutionTest implements TestSig {
89 string getARelevantTag ( ) { result = "getCommand" }
@@ -632,6 +633,22 @@ module XmlParsingTest implements TestSig {
632633 }
633634}
634635
636+ module ThreatModelSourceTest implements TestSig {
637+ string getARelevantTag ( ) {
638+ exists ( string kind | knownThreatModel ( kind ) | result = "threatModelSource" + "[" + kind + "]" )
639+ }
640+
641+ predicate hasActualResult ( Location location , string element , string tag , string value ) {
642+ exists ( location .getFile ( ) .getRelativePath ( ) ) and
643+ exists ( ThreatModelSource src | not src .getThreatModel ( ) = "remote" |
644+ location = src .getLocation ( ) and
645+ element = src .toString ( ) and
646+ value = prettyNodeForInlineTest ( src ) and
647+ tag = "threatModelSource[" + src .getThreatModel ( ) + "]"
648+ )
649+ }
650+ }
651+
635652import MakeTest< MergeTests5< MergeTests5< SystemCommandExecutionTest , DecodingTest , EncodingTest , LoggingTest ,
636653 CodeExecutionTest > ,
637654 MergeTests5< SqlConstructionTest , SqlExecutionTest , XPathConstructionTest , XPathExecutionTest ,
@@ -642,4 +659,4 @@ import MakeTest<MergeTests5<MergeTests5<SystemCommandExecutionTest, DecodingTest
642659 MergeTests5< FileSystemAccessTest , FileSystemWriteAccessTest , PathNormalizationTest ,
643660 SafeAccessCheckTest , PublicKeyGenerationTest > ,
644661 MergeTests5< CryptographicOperationTest , HttpClientRequestTest , CsrfProtectionSettingTest ,
645- CsrfLocalProtectionSettingTest , XmlParsingTest > > >
662+ CsrfLocalProtectionSettingTest , MergeTests < XmlParsingTest , ThreatModelSourceTest > > > >
0 commit comments