示例#1
0
        public void GetClients_reads_only_valid_clients()
        {
            var filesystemMock  = new Mock <IFileSystem>();
            var environmentMock = new Mock <IEnvironment>();

            environmentMock.Setup(x => x.FileSystem).Returns(filesystemMock.Object);

            filesystemMock.Setup(x => x.FileExists(It.Is <string>(x2 => x2.EndsWith("default.config")))).Returns(true);
            filesystemMock.Setup(x => x.OpenText(It.Is <string>(x2 => x2.EndsWith("default.config"))))
            .Returns(new StringReader(
                         "{ \"clients\" : [ {\"id\" : \"id-1\" }, {\"id\" : \"id-2\" }, {\"id\" : \"id-3\" }  ]}"));


            filesystemMock.Setup(x => x.FileExists(It.Is <string>(x2 =>
                                                                  x2.EndsWith("id-1.key") || x2.EndsWith("id-3.key")))).Returns(true);

            filesystemMock.Setup(x => x.OpenText(It.Is <string>(
                                                     x2 => x2.EndsWith(".key")
                                                     ))).Returns(() => new StringReader(TestData.PrivateKeyFileString));


            var configStore = ConfigStore.GetStore(ConfigStoreLocation.CurrentDirectory, environmentMock.Object);
            var clientIds   = configStore.GetClients().Select(x => x.Id).ToArray();

            Assert.Contains("id-1", clientIds);
            Assert.Contains("id-3", clientIds);
        }