public void FindAll_MultipleStores_ReturnsFromAllStores()
        {
            Mock<IKuduConfiguration> configMock = new Mock<IKuduConfiguration>();
            configMock.Setup(mock => mock.CertificateStores)
                .Returns(new[] { new CertificateStoreConfiguration(StoreName.My), new CertificateStoreConfiguration(StoreName.Root) });
            
            Dictionary<StoreName, Mock<IX509Store>> storeMocks = new Dictionary<StoreName, Mock<IX509Store>>();
            storeMocks[StoreName.My] = CreateX509StoreMock(new X509Certificate2CollectionFake
            {
                new X509Certificate2Fake(friendlyName: "My_CertA"),
                new X509Certificate2Fake(friendlyName: "My_CertB")
            });
            storeMocks[StoreName.Root] = CreateX509StoreMock(new X509Certificate2CollectionFake
            {
                new X509Certificate2Fake(friendlyName: "Root_CertA"),
                new X509Certificate2Fake(friendlyName: "Root_CertB")
            });

            ICertificateSearcher searcher = new CertificateSearcher(configMock.Object, name => storeMocks[name].Object);
            Dictionary<string, Certificate> all = searcher.FindAll().ToDictionary(c => c.FriendlyName);

            Assert.Equal(all.Count, 4);
            Assert.NotNull(all["My_CertA"]);
            Assert.NotNull(all["My_CertB"]);
            Assert.NotNull(all["Root_CertA"]);
            Assert.NotNull(all["Root_CertB"]);
        }
        public void Lookup_ReturnsCertificateLookupObject()
        {
            Mock<IKuduConfiguration> configMock = new Mock<IKuduConfiguration>();
            configMock.Setup(mock => mock.CertificateStores).Returns(new[] { new CertificateStoreConfiguration(StoreName.My) });

            ICertificateSearcher searcher = new CertificateSearcher(configMock.Object, null);
            ICertificateLookup result = searcher.Lookup("FindMe");

            Assert.IsType<CertificateLookup>(result);
        }