docs: backfill XML documentation across 756 files
v2-ci / build (push) Failing after 1m43s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
v2-ci / build (push) Failing after 1m43s
v2-ci / unit-tests (tests/Core/ZB.MOM.WW.OtOpcUa.Cluster.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.ControlPlane.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Runtime.Tests) (push) Has been skipped
v2-ci / unit-tests (tests/Server/ZB.MOM.WW.OtOpcUa.Security.Tests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.Host.IntegrationTests) (push) Has been skipped
v2-ci / integration (tests/Server/ZB.MOM.WW.OtOpcUa.OpcUaServer.IntegrationTests) (push) Has been skipped
Adds <summary>, <param>, <typeparam>, and <inheritdoc/> tags to public members surfaced by commentchecker — resolves 5,847 of 5,869 issues (99.6%) across three /fixdocs passes.
This commit is contained in:
@@ -23,20 +23,46 @@ public sealed class DeployWatcherTests
|
||||
private sealed class FakeDeployWatchSource : IGalaxyDeployWatchSource
|
||||
{
|
||||
private readonly Func<int, Channel<DeployEvent>> _channelFactory;
|
||||
|
||||
/// <summary>
|
||||
/// Gets the list of last-seen deployment times from each watch iteration.
|
||||
/// </summary>
|
||||
public List<DateTimeOffset?> LastSeenTimes { get; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// Gets the number of times WatchAsync has been called.
|
||||
/// </summary>
|
||||
public int CallCount { get; private set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a function that can throw an exception on specific iterations.
|
||||
/// </summary>
|
||||
public Func<int, Exception?>? ThrowOnIteration { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="FakeDeployWatchSource"/> class with a single channel.
|
||||
/// </summary>
|
||||
/// <param name="channel">The deploy event channel to use for all iterations.</param>
|
||||
public FakeDeployWatchSource(Channel<DeployEvent> channel)
|
||||
{
|
||||
_channelFactory = _ => channel;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="FakeDeployWatchSource"/> class with a channel factory.
|
||||
/// </summary>
|
||||
/// <param name="channelFactory">A factory function that creates channels for each iteration.</param>
|
||||
public FakeDeployWatchSource(Func<int, Channel<DeployEvent>> channelFactory)
|
||||
{
|
||||
_channelFactory = channelFactory;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Watches for deploy events asynchronously.
|
||||
/// </summary>
|
||||
/// <param name="lastSeenDeployTime">The last deployment time seen.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>An async enumerable of deploy events.</returns>
|
||||
public async IAsyncEnumerable<DeployEvent> WatchAsync(
|
||||
DateTimeOffset? lastSeenDeployTime,
|
||||
[EnumeratorCancellation] CancellationToken cancellationToken)
|
||||
@@ -93,6 +119,7 @@ public sealed class DeployWatcherTests
|
||||
throw new TimeoutException("Condition was not met within timeout.");
|
||||
}
|
||||
|
||||
/// <summary>Verifies that bootstrap deploy events are suppressed.</summary>
|
||||
[Fact]
|
||||
public async Task BootstrapEventIsSuppressed()
|
||||
{
|
||||
@@ -115,6 +142,7 @@ public sealed class DeployWatcherTests
|
||||
await watcher.StopAsync();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a deployment time change fires a rediscovery event.</summary>
|
||||
[Fact]
|
||||
public async Task DeployTimeChangeFiresRediscover()
|
||||
{
|
||||
@@ -142,6 +170,7 @@ public sealed class DeployWatcherTests
|
||||
await watcher.StopAsync();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that the same deployment time does not fire a rediscovery event.</summary>
|
||||
[Fact]
|
||||
public async Task SameDeployTimeDoesNotFire()
|
||||
{
|
||||
@@ -165,6 +194,7 @@ public sealed class DeployWatcherTests
|
||||
await watcher.StopAsync();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a deployment time presence flip fires a rediscovery event.</summary>
|
||||
[Fact]
|
||||
public async Task TimeOfLastDeployPresentFlipFiresRediscover()
|
||||
{
|
||||
@@ -191,6 +221,7 @@ public sealed class DeployWatcherTests
|
||||
await watcher.StopAsync();
|
||||
}
|
||||
|
||||
/// <summary>Verifies that stop cancels the watcher loop cleanly.</summary>
|
||||
[Fact]
|
||||
public async Task StopCancelsLoopCleanly()
|
||||
{
|
||||
@@ -211,6 +242,7 @@ public sealed class DeployWatcherTests
|
||||
await stopTask; // observe (no) exception
|
||||
}
|
||||
|
||||
/// <summary>Verifies that disposing stops a running watcher.</summary>
|
||||
[Fact]
|
||||
public async Task DisposeStopsRunningWatcher()
|
||||
{
|
||||
@@ -229,6 +261,7 @@ public sealed class DeployWatcherTests
|
||||
await disposeTask;
|
||||
}
|
||||
|
||||
/// <summary>Verifies that a source exception triggers retry with backoff.</summary>
|
||||
[Fact]
|
||||
public async Task SourceExceptionTriggersRetryWithBackoff()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user