@@ -37,11 +37,10 @@ def check_excel_files_exist(excel_folder: Path, domain: str):
3737 For "ics-attack", also checks for the existence of the assets file.
3838 """
3939 assert (excel_folder / f"{ domain } .xlsx" ).exists ()
40- # TODO: add in check for assets for ICS after ATT&CK v14 is released
4140 if domain == "ics-attack" :
4241 # Only ICS has Assets
4342 assert (excel_folder / f"{ domain } -assets.xlsx" ).exists ()
44- assert (excel_folder / f"{ domain } -datasources .xlsx" ).exists ()
43+ assert (excel_folder / f"{ domain } -datacomponents .xlsx" ).exists ()
4544 assert (excel_folder / f"{ domain } -campaigns.xlsx" ).exists ()
4645 assert (excel_folder / f"{ domain } -groups.xlsx" ).exists ()
4746 assert (excel_folder / f"{ domain } -matrices.xlsx" ).exists ()
@@ -50,6 +49,9 @@ def check_excel_files_exist(excel_folder: Path, domain: str):
5049 assert (excel_folder / f"{ domain } -software.xlsx" ).exists ()
5150 assert (excel_folder / f"{ domain } -tactics.xlsx" ).exists ()
5251 assert (excel_folder / f"{ domain } -techniques.xlsx" ).exists ()
52+ # TODO: add in check for analytics/detection strategies after ATT&CK v18 is released
53+ # assert (excel_folder / f"{domain}-analytics.xlsx").exists()
54+ # assert (excel_folder / f"{domain}-detectionstrategies.xlsx").exists()
5355
5456
5557def test_enterprise_latest (tmp_path : Path , memstore_enterprise_latest : stix2 .MemoryStore ):
@@ -85,7 +87,7 @@ def test_ics_latest(tmp_path: Path, memstore_ics_latest: stix2.MemoryStore):
8587 check_excel_files_exist (excel_folder = excel_folder , domain = domain )
8688
8789
88- def test_enterprise_legacy (tmp_path : Path ):
90+ def test_enterprise_legacy_v9 (tmp_path : Path ):
8991 """Test enterprise v9.0 to excel spreadsheet functionality."""
9092 logger .debug (f"{ tmp_path = } " )
9193 version = "v9.0"
@@ -101,3 +103,22 @@ def test_enterprise_legacy(tmp_path: Path):
101103 assert (excel_folder / f"enterprise-attack-{ version } -mitigations.xlsx" ).exists ()
102104 assert (excel_folder / f"enterprise-attack-{ version } -matrices.xlsx" ).exists ()
103105 assert (excel_folder / f"enterprise-attack-{ version } -groups.xlsx" ).exists ()
106+
107+
108+ def test_enterprise_legacy_v17 (tmp_path : Path ):
109+ """Test enterprise v17.0 to excel spreadsheet functionality."""
110+ logger .debug (f"{ tmp_path = } " )
111+ version = "v17.0"
112+
113+ attackToExcel .export (domain = "enterprise-attack" , version = version , output_dir = str (tmp_path ))
114+
115+ excel_folder = tmp_path / f"enterprise-attack-{ version } "
116+ assert (excel_folder / f"enterprise-attack-{ version } .xlsx" ).exists ()
117+ assert (excel_folder / f"enterprise-attack-{ version } -techniques.xlsx" ).exists ()
118+ assert (excel_folder / f"enterprise-attack-{ version } -tactics.xlsx" ).exists ()
119+ assert (excel_folder / f"enterprise-attack-{ version } -software.xlsx" ).exists ()
120+ assert (excel_folder / f"enterprise-attack-{ version } -relationships.xlsx" ).exists ()
121+ assert (excel_folder / f"enterprise-attack-{ version } -mitigations.xlsx" ).exists ()
122+ assert (excel_folder / f"enterprise-attack-{ version } -matrices.xlsx" ).exists ()
123+ assert (excel_folder / f"enterprise-attack-{ version } -groups.xlsx" ).exists ()
124+ assert (excel_folder / f"enterprise-attack-{ version } -datasources.xlsx" ).exists ()
0 commit comments