DebugStreamSessionTests.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System;
  2. using IvfTl.ControlHost.Debug;
  3. using IvfTl.ControlHost.Tests.Fakes;
  4. using IvfTl.Hardware;
  5. using Xunit;
  6. namespace IvfTl.ControlHost.Tests
  7. {
  8. public class DebugStreamSessionTests
  9. {
  10. private DebugSessionManager NewMgr(FakeGate gate, DateTime now)
  11. => new DebugSessionManager(_ => gate, () => now, ttlMs: 10000, log: null);
  12. [Fact]
  13. public void StreamBroken_DefaultsFalse()
  14. {
  15. var s = new DebugSession("sid1", 2, new FakeLease(new FakeGate(2, new FakeSerial()), new FakeSerial(), HardwareUser.OperateDebug), DateTime.UtcNow);
  16. Assert.False(s.StreamBroken);
  17. s.StreamBroken = true;
  18. Assert.True(s.StreamBroken);
  19. }
  20. [Fact]
  21. public void TryGet_ReturnsSession_ForValidSid()
  22. {
  23. var now = new DateTime(2026, 6, 24, 0, 0, 0, DateTimeKind.Utc);
  24. var gate = new FakeGate(2, new FakeSerial());
  25. var mgr = NewMgr(gate, now);
  26. string sid = (string)mgr.Acquire(2).Result;
  27. Assert.True(mgr.TryGet(sid, out var s));
  28. Assert.Equal(2, s.HouseSn);
  29. Assert.False(mgr.TryGet("nope", out _));
  30. }
  31. }
  32. }