public void StorageFiresEventTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); using (IConfigurationChangeWatcher watcher = storage.CreateConfigurationChangeWatcher()) { watcher.ConfigurationChanged += new ConfigurationChangedEventHandler(OnConfigurationChanged); watcher.StartWatching(); Thread.Sleep(100); ((IStorageProviderWriter)storage).Write(GetData()); for (int wait = 0; wait < 10 && eventFiredCount < 2; ++wait) { Thread.Sleep(500); } watcher.Dispose(); } Assert.AreEqual(1, eventFiredCount); } }
public IHttpActionResult Get(string token) { if (string.IsNullOrWhiteSpace(token)) { return(BadRequest()); } var storageProviderName = ConfigurationManager.AppSettings["ITokenStorageProviderName"]; ITokenStorageProvider storage = StorageProviderFactory.Create(storageProviderName); if (storage == null) { return(InternalServerError(new ArgumentException("Storage provider not found."))); } //try to get the item var value = storage.Read(token); if (string.IsNullOrWhiteSpace(value)) { return(NotFound()); } return(Ok(value)); }
public void NoPathReadWriteTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(NoPathXmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); factory.Create(applConfig1); } }
public void TypeDoesNotImplementTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(notImplXmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); factory.Create("ApplConfig1"); } }
public void BadSectionTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(notImplXmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); factory.Create("Foo"); } }
private ITokenStorageProvider GetStorageProvider() { //get the storage provider, based on config setting //Note: more robust implementation would probably use Dependency Injection, for now using a factory var storageProviderName = ConfigurationManager.AppSettings["ITokenStorageProviderName"]; ITokenStorageProvider storage = StorageProviderFactory.Create(storageProviderName); return(storage); }
public void CreateTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(xmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create("ApplConfig1"); Assert.IsNotNull(storage); } }
public void ExceptionConstructorCreateTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(exceptionConstructorTypeXmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); factory.Create("ApplConfig1"); Assert.Fail("Should never reach here because we should get a ConfigurationException."); } }
public void SectionNameTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreEqual(applConfig1, ((XmlFileStorageProvider)storage).CurrentSectionName); } }
public void BadTypeTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(badTypeXmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); factory.Create("ApplConfig1"); Assert.Fail("Should not get here"); } }
public void WriteNonXmlNodeValueTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(new object()); } }
public void StorageBadFileTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlBadFileString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(GetData()); } }
public void BadFilePathStorageTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlBadFilePathString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(GetData()); Assert.Fail("Should never get here since the file is not specified in configuration."); } }
public void NoSectionStorageTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(NoSectionXmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Read(); Assert.Fail("Should never get here since the section is not specified in the external configuration file."); } }
public void StorageTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); ((IStorageProviderWriter)storage).Write(GetData()); XmlNode data = storage.Read() as XmlNode; Assert.AreEqual(GetData().OuterXml, data.OuterXml); } }
public void StorageTestChangeEncryption() { SaveKeyAlgorithmPair(XmlStringWithEncryption); using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlStringWithEncryption)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); ((IStorageProviderWriter)storage).Write(GetData()); configurationContext.GetMetaConfiguration().ConfigurationSections[0].Encrypt = false; factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storageWriter = factory.Create(applConfig1) as IStorageProviderWriter; storageWriter.Write(GetData()); XmlNode data = storageWriter.Read() as XmlNode; Assert.AreEqual(GetData().OuterXml, data.OuterXml); } }
public void StorageTestWithEncryption() { SaveKeyAlgorithmPair(XmlStringWithEncryption); using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlStringWithEncryption)) { using (FileStream s = new FileStream(Path.GetFullPath(testConfigFile), FileMode.Create)) { for (int i = 0; i < 1000; i++) { byte b = 0; s.WriteByte(b); } } StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); ((IStorageProviderWriter)storage).Write(GetData()); XmlNode data = storage.Read() as XmlNode; Assert.AreEqual(GetData().OuterXml, data.OuterXml); } }
public void NoFileStorageTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlNoFileString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(GetData()); Assert.Fail("Should never get here since the file is not specified in configuration."); } }
public void PrivateConstructorCreateTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(privateConstructorTypeXmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); factory.Create("ApplConfig1"); Assert.Fail("Should never reach here because we should get a ConfigurationException."); } }
public void WriteNullValueTest() { using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlString)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderWriter storage = factory.Create(applConfig1) as IStorageProviderWriter; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); storage.Write(null); } }
public void StorageTestWithEncryptionAndDpapi() { SaveKeyAlgorithmPair(XmlStringWithEncryptionAndDpapi); using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlStringWithEncryptionAndDpapi)) { StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); ((IStorageProviderWriter)storage).Write(GetData()); XmlNode data = storage.Read() as XmlNode; Assert.AreEqual(GetData().OuterXml, data.OuterXml); } }
public void StorageTestWithEncryption() { SaveKeyAlgorithmPair(XmlStringWithEncryption); using (ConfigurationContext configurationContext = CreateConfigurationContext(XmlStringWithEncryption)) { using( FileStream s = new FileStream(Path.GetFullPath(testConfigFile), FileMode.Create) ) { for (int i=0; i<1000; i++) { byte b = 0; s.WriteByte(b); } } StorageProviderFactory factory = new StorageProviderFactory(configurationContext); IStorageProviderReader storage = factory.Create(applConfig1) as IStorageProviderReader; Assert.AreSame(storage.GetType(), typeof(XmlFileStorageProvider)); ((IStorageProviderWriter)storage).Write(GetData()); XmlNode data = storage.Read() as XmlNode; Assert.AreEqual(GetData().OuterXml, data.OuterXml); } }