Escl: Fix scan controller isolation

This commit is contained in:
Ben Olden-Cooligan 2024-04-13 14:06:45 -07:00
parent 7603013ed7
commit 9e57d9aef3
2 changed files with 4 additions and 4 deletions

View File

@ -32,7 +32,7 @@ public class ScanServerTestsBase : ContextualTests, IAsyncLifetime
_bridge = new MockScanBridge();
var scanBridgeFactory = Substitute.For<IScanBridgeFactory>();
scanBridgeFactory.Create(Arg.Any<ScanOptions>()).Returns(_bridge);
_server.ScanController = new ScanController(ScanningContext, scanBridgeFactory);
_server.ScanControllerFactory = () => new ScanController(ScanningContext, scanBridgeFactory);
_server.SecurityPolicy = securityPolicy;
_server.Certificate = certificate;

View File

@ -20,7 +20,7 @@ public class ScanServer : IDisposable
_scanningContext = scanningContext;
_esclServer = esclServer;
_esclServer.Logger = _scanningContext.Logger;
ScanController = new ScanController(scanningContext);
ScanControllerFactory = () => new ScanController(scanningContext);
}
/// <summary>
@ -48,7 +48,7 @@ public class ScanServer : IDisposable
set => _esclServer.Certificate = value;
}
internal ScanController ScanController { get; set; }
internal Func<ScanController> ScanControllerFactory { get; set; }
public void SetDefaultIcon(IMemoryImage icon) =>
SetDefaultIcon(icon.SaveToMemoryStream(ImageFileFormat.Png).ToArray());
@ -89,7 +89,7 @@ public class ScanServer : IDisposable
IconPng = _defaultIconPng,
// TODO: Ideally we want to get the actual device capabilities (flatbed/feeder, resolution etc.)
},
CreateJob = settings => new ScanJob(_scanningContext, ScanController, device.Device, settings)
CreateJob = settings => new ScanJob(_scanningContext, ScanControllerFactory(), device.Device, settings)
};
}