@@ -38,6 +38,7 @@ import {
3838 withTmpDir ,
3939 BuildMode ,
4040} from "./util" ;
41+ import { RepositoryProperties , RepositoryPropertyName } from "./feature-flags/properties" ;
4142
4243setupTests ( test ) ;
4344
@@ -1005,6 +1006,7 @@ interface OverlayDatabaseModeTestSetup {
10051006 codeqlVersion : string ;
10061007 gitRoot : string | undefined ;
10071008 codeScanningConfig : configUtils . UserConfig ;
1009+ repositoryProperties ?: RepositoryProperties | undefined ;
10081010}
10091011
10101012const defaultOverlayDatabaseModeTestSetup : OverlayDatabaseModeTestSetup = {
@@ -1092,6 +1094,7 @@ const getOverlayDatabaseModeMacro = test.macro({
10921094 tempDir , // sourceRoot
10931095 setup . buildMode ,
10941096 setup . codeScanningConfig ,
1097+ setup . repositoryProperties || { } ,
10951098 logger ,
10961099 ) ;
10971100
@@ -1180,6 +1183,21 @@ test(
11801183 } ,
11811184) ;
11821185
1186+ test (
1187+ getOverlayDatabaseModeMacro ,
1188+ "Overlay analysis disabled by repository property overrides overlay-base database on default branch when feature enabled" ,
1189+ {
1190+ languages : [ KnownLanguage . javascript ] ,
1191+ features : [ Feature . OverlayAnalysis , Feature . OverlayAnalysisJavascript ] ,
1192+ isDefaultBranch : true ,
1193+ repositoryProperties : { [ RepositoryPropertyName . DISABLE_OVERLAY_ANALYSIS ] : "true" } ,
1194+ } ,
1195+ {
1196+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1197+ useOverlayDatabaseCaching : false ,
1198+ } ,
1199+ )
1200+
11831201test (
11841202 getOverlayDatabaseModeMacro ,
11851203 "Overlay-base database on default branch when feature enabled with custom analysis" ,
@@ -1214,6 +1232,24 @@ test(
12141232 } ,
12151233) ;
12161234
1235+ test (
1236+ getOverlayDatabaseModeMacro ,
1237+ "Overlay analysis disabled by repository property overrides overlay-base database on default branch when code-scanning feature enabled" ,
1238+ {
1239+ languages : [ KnownLanguage . javascript ] ,
1240+ features : [
1241+ Feature . OverlayAnalysis ,
1242+ Feature . OverlayAnalysisCodeScanningJavascript ,
1243+ ] ,
1244+ isDefaultBranch : true ,
1245+ repositoryProperties : { [ RepositoryPropertyName . DISABLE_OVERLAY_ANALYSIS ] : "true" } ,
1246+ } ,
1247+ {
1248+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1249+ useOverlayDatabaseCaching : false ,
1250+ } ,
1251+ )
1252+
12171253test (
12181254 getOverlayDatabaseModeMacro ,
12191255 "No overlay-base database on default branch when code-scanning feature enabled with disable-default-queries" ,
@@ -1350,6 +1386,21 @@ test(
13501386 } ,
13511387) ;
13521388
1389+ test (
1390+ getOverlayDatabaseModeMacro ,
1391+ "Overlay analysis disabled by repository property overrides overlay analysis on PR when feature enabled" ,
1392+ {
1393+ languages : [ KnownLanguage . javascript ] ,
1394+ features : [ Feature . OverlayAnalysis , Feature . OverlayAnalysisJavascript ] ,
1395+ isPullRequest : true ,
1396+ repositoryProperties : { [ RepositoryPropertyName . DISABLE_OVERLAY_ANALYSIS ] : "true" } ,
1397+ } ,
1398+ {
1399+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1400+ useOverlayDatabaseCaching : false ,
1401+ } ,
1402+ )
1403+
13531404test (
13541405 getOverlayDatabaseModeMacro ,
13551406 "Overlay analysis on PR when feature enabled with custom analysis" ,
@@ -1532,6 +1583,34 @@ test(
15321583 } ,
15331584) ;
15341585
1586+ test (
1587+ getOverlayDatabaseModeMacro ,
1588+ "Overlay analysis disabled by repository property overrides PR analysis by env for other-org" ,
1589+ {
1590+ overlayDatabaseEnvVar : "overlay" ,
1591+ repositoryOwner : "other-org" ,
1592+ repositoryProperties : { [ RepositoryPropertyName . DISABLE_OVERLAY_ANALYSIS ] : "true" } ,
1593+ } ,
1594+ {
1595+ overlayDatabaseMode : OverlayDatabaseMode . None ,
1596+ useOverlayDatabaseCaching : false ,
1597+ } ,
1598+ )
1599+
1600+ test (
1601+ getOverlayDatabaseModeMacro ,
1602+ "Disable overlay analysis repository property must be true to disable overlay analysis" ,
1603+ {
1604+ overlayDatabaseEnvVar : "overlay" ,
1605+ repositoryOwner : "other-org" ,
1606+ repositoryProperties : { [ RepositoryPropertyName . DISABLE_OVERLAY_ANALYSIS ] : "false" } ,
1607+ } ,
1608+ {
1609+ overlayDatabaseMode : OverlayDatabaseMode . Overlay ,
1610+ useOverlayDatabaseCaching : false ,
1611+ } ,
1612+ )
1613+
15351614test (
15361615 getOverlayDatabaseModeMacro ,
15371616 "Overlay PR analysis by feature flag for dsp-testing" ,
0 commit comments