private void CreateFile(byte[] data) { DeleteFile(); tempFileName = Path.GetTempFileName(); FileIO.WriteAllBytes(tempFileName, data); fileDeleted = false; }
private void DumpStorage(StorageInfo storageInfo, string storageName, XmlWriter writer) { writer.WriteStartElement("storage"); writer.WriteAttributeString("name", storageName); StorageInfo[] subStorages = storageInfo.GetSubStorages(); foreach (StorageInfo subStorage in subStorages) { DumpStorage(subStorage, subStorage.Name, writer); } StreamInfo[] streams = storageInfo.GetStreams(); foreach (StreamInfo stream in streams) { string hexData = ConvertStreamBytesToHex(stream); writer.WriteStartElement("stream"); using (var rawStream = new BinaryReader(stream.GetStream(FileMode.Open, FileAccess.Read))) { var streamsBase = Path.Combine(BasePath, Path.GetFileName(_oleStorageFilePath.FullPathString) + "_streams"); FileSystem.CreateDirectory(streamsBase); File.WriteAllBytes(Path.Combine(streamsBase, stream.Name).FullPathString, rawStream.ReadBytes((int)rawStream.BaseStream.Length)); writer.WriteAttributeString("name", stream.Name); writer.WriteAttributeString("data", hexData); writer.WriteEndElement(); } } writer.WriteEndElement(); }
/// <summary> /// Creates the SqlCe database if required /// </summary> protected virtual void CreateSqlCeDatabase() { if (Options.Database == UmbracoTestOptions.Database.None) { return; } var path = TestHelper.CurrentAssemblyDirectory; //Get the connectionstring settings from config var settings = ConfigurationManager.ConnectionStrings[Constants.System.UmbracoConnectionName]; ConfigurationManager.AppSettings.Set( Constants.System.UmbracoConnectionName, GetDbConnectionString()); _databasePath = string.Concat(path, "\\UmbracoNPocoTests.sdf"); //create a new database file if // - is the first test in the session // - the database file doesn't exist // - NewDbFileAndSchemaPerTest // - _isFirstTestInFixture + DbInitBehavior.NewDbFileAndSchemaPerFixture //if this is the first test in the session, always ensure a new db file is created if (FirstTestInSession || File.Exists(_databasePath) == false || Options.Database == UmbracoTestOptions.Database.NewSchemaPerTest || Options.Database == UmbracoTestOptions.Database.NewEmptyPerTest || (FirstTestInFixture && Options.Database == UmbracoTestOptions.Database.NewSchemaPerFixture)) { using (ProfilingLogger.TraceDuration <TestWithDatabaseBase>("Remove database file")) { RemoveDatabaseFile(null, ex => { //if this doesn't work we have to make sure everything is reset! otherwise // well run into issues because we've already set some things up TearDown(); throw ex; }); } //Create the Sql CE database using (ProfilingLogger.TraceDuration <TestWithDatabaseBase>("Create database file")) { if (Options.Database != UmbracoTestOptions.Database.NewEmptyPerTest && _databaseBytes != null) { File.WriteAllBytes(_databasePath, _databaseBytes); } else { using (var engine = new SqlCeEngine(settings.ConnectionString)) { engine.CreateDatabase(); } } } } }