public SigningServer(SigningServerConfiguration configuration, ISigningToolProvider signingToolProvider) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } SigningToolProvider = signingToolProvider; Initialize(configuration); }
public static void Setup(TestContext _) { _certificateHelper = new CertificateStoreHelper(CertificatePath, StoreName.My, StoreLocation.LocalMachine); _configuration = new SigningServerConfiguration { Certificates = new[] { new CertificateConfiguration { Thumbprint = _certificateHelper.Certificate.Thumbprint, StoreName = (StoreName)Enum.Parse(typeof(StoreName), _certificateHelper.Store.Name), StoreLocation = _certificateHelper.Store.Location } }, WorkingDirectory = "WorkingDirectory" }; _emptySigningToolProvider = new EnumerableSigningToolProvider(Enumerable.Empty <ISigningTool>()); var simulateSigningTool = new Mock <ISigningTool>(); simulateSigningTool.Setup(t => t.SupportedFileExtensions).Returns(new[] { "*" }); simulateSigningTool.Setup(t => t.SupportedHashAlgorithms).Returns(new[] { "*" }); simulateSigningTool.Setup(t => t.IsFileSigned(It.IsAny <string>())).Returns(true); simulateSigningTool.Setup(t => t.IsFileSupported(It.IsAny <string>())).Returns(true); simulateSigningTool.Setup(t => t.SignFile(It.IsAny <string>(), It.IsAny <X509Certificate2>(), It.IsAny <string>(), It.IsAny <SignFileRequest>(), It.IsAny <SignFileResponse>())).Callback( (string file, X509Certificate2 cert, string timestampserver, SignFileRequest request, SignFileResponse response) => { response.Result = SignFileResponseResult.FileSigned; var fs = new FileStream(file, FileMode.Open, FileAccess.Read); response.FileContent = fs; response.FileSize = fs.Length; }); _simultateSigningToolProvider = new EnumerableSigningToolProvider(new[] { simulateSigningTool.Object }); }