diff --git a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs index bde0f483..a843ba33 100644 --- a/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs +++ b/src/ZB.MOM.WW.ScadaBridge.CentralUI/Components/Pages/Design/TransportExport.razor.cs @@ -318,6 +318,11 @@ public partial class TransportExport : ComponentBase { if (!string.IsNullOrEmpty(db.ConnectionString)) count++; } + foreach (var dc in resolved.DataConnections) + { + if (!string.IsNullOrEmpty(dc.PrimaryConfiguration)) count++; + if (!string.IsNullOrEmpty(dc.BackupConfiguration)) count++; + } return count; } diff --git a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Pages/Design/TransportExportPageTests.cs b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Pages/Design/TransportExportPageTests.cs index ccb9bbbb..d78af6e6 100644 --- a/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Pages/Design/TransportExportPageTests.cs +++ b/tests/ZB.MOM.WW.ScadaBridge.CentralUI.Tests/Pages/Design/TransportExportPageTests.cs @@ -438,4 +438,80 @@ public class TransportExportPageTests : BunitContext var filename = TransportExportPage.BuildFilename("dev/cluster a", fixedTime); Assert.Equal("scadabundle-dev-cluster-a-2026-05-24-134522.scadabundle", filename); } + + // ───────────────────────────────────────────────────────────────────── + // Test 7 (M8 C2-SECRET-1): CountSecrets includes site data-connection + // PrimaryConfiguration and BackupConfiguration fields in the banner total. + // ───────────────────────────────────────────────────────────────────── + [Fact] + public void CountSecrets_includes_data_connection_primary_and_backup_configurations() + { + // One data connection with both fields populated — expect 2 secrets counted. + var dcBoth = new DataConnection { Id = 1, SiteId = 10, Name = "PlcA", Protocol = "OpcUa", + PrimaryConfiguration = "{\"endpoint\":\"opc.tcp://plc-a:4840\"}", BackupConfiguration = "{\"endpoint\":\"opc.tcp://plc-a-backup:4840\"}" }; + + var resolved = new ResolvedExport( + TemplateFolders: Array.Empty(), + Templates: Array.Empty