public async Task Test_StorageHelper_FileCRUDTest() { var fileName = "TestFile.txt"; var fileName2 = "TestFile2.txt"; var fileContents = "this is a test"; var fileContents2 = "this is also a test"; var storageHelper = ApplicationDataStorageHelper.GetCurrent(); // Create a file await storageHelper.CreateFileAsync(fileName, fileContents); // Read a file var readContents = await storageHelper.ReadFileAsync <string>(fileName); Assert.AreEqual(fileContents, readContents); // Update a file await storageHelper.CreateFileAsync(fileName, fileContents2); var readContents2 = await storageHelper.ReadFileAsync <string>(fileName); Assert.AreEqual(fileContents2, readContents2); // Rename a file var itemRenamed = await storageHelper.TryRenameItemAsync(fileName, fileName2); Assert.IsTrue(itemRenamed); // Delete a file var itemDeleted = await storageHelper.TryDeleteItemAsync(fileName2); Assert.IsTrue(itemDeleted); }
public static async void EnsureCacheLatest() { var settingsStorage = ApplicationDataStorageHelper.GetCurrent(); var onlineDocsSHA = await GetDocsSHA(); var cacheSHA = settingsStorage.Read <string>(_cacheSHAKey); bool outdatedCache = onlineDocsSHA != null && cacheSHA != null && onlineDocsSHA != cacheSHA; bool noCache = onlineDocsSHA != null && cacheSHA == null; if (outdatedCache || noCache) { // Delete everything in the Cache Folder. Could be Pre 3.0.0 Cache data. foreach (var item in await ApplicationData.Current.LocalCacheFolder.GetItemsAsync()) { try { await item.DeleteAsync(StorageDeleteOption.Default); } catch { } } // Update Cache Version info. settingsStorage.Save(_cacheSHAKey, onlineDocsSHA); } }
public StorageManager() { _serializer = new JsonObjectSerializer(); _localStorage = Microsoft.Toolkit.Uwp.Helpers.ApplicationDataStorageHelper.GetCurrent(_serializer); ProviderManager.Instance.ProviderStateChanged += (s, e) => _ = InitRoamingSettingsHelperAsync(); _ = InitRoamingSettingsHelperAsync(); }
public void Test_SystemInformation_ConsistentInfoForStartupWithUpdate() { ApplicationData.Current.LocalSettings.Values.Clear(); // Simulate a first app startup _ = (SystemInformation)Activator.CreateInstance(typeof(SystemInformation), nonPublic: true); var settingsStorage = ApplicationDataStorageHelper.GetCurrent(); PackageVersion previousVersion = new() { Build = 42, Major = 1111, Minor = 2222, Revision = 12345 }; settingsStorage.Save("currentVersion", previousVersion.ToFormattedString()); var systemInformation = (SystemInformation)Activator.CreateInstance(typeof(SystemInformation), nonPublic: true); var currentAppVersion = Package.Current.Id.Version; Assert.IsFalse(systemInformation.IsFirstRun); Assert.IsTrue(systemInformation.IsAppUpdated); Assert.AreEqual(systemInformation.ApplicationVersion, currentAppVersion); Assert.AreEqual(systemInformation.PreviousVersionInstalled, previousVersion); Assert.AreEqual(systemInformation.FirstVersionInstalled, currentAppVersion); } }
public async Task Test_StorageHelper_SubFolderCRUDTest() { var folderName = "TestFolder1"; var subFolderName = "TestSubFolder"; var subFolderName2 = "TestSubFolder2"; var subFolderPath = $"{folderName}/{subFolderName}"; var subFolderPath2 = $"{folderName}/{subFolderName2}"; var fileName = "TestFile.txt"; var fileName2 = "TestFile2.txt"; var filePath = $"{subFolderPath}/{fileName}"; var filePath2 = $"{subFolderPath2}/{fileName2}"; var fileContents = "this is a test"; var storageHelper = ApplicationDataStorageHelper.GetCurrent(); // Attempt to delete the folder to clean up from any previously failed test runs. await storageHelper.TryDeleteItemAsync(folderName); // Create a subfolder await storageHelper.CreateFolderAsync(subFolderPath); // Create a file in the subfolder await storageHelper.CreateFileAsync(filePath, fileContents); // Read a file from the subfolder var readContents = await storageHelper.ReadFileAsync <string>(filePath); Assert.AreEqual(fileContents, readContents); // List subfolder contents var folderItems = await storageHelper.ReadFolderAsync(subFolderPath); var folderItemsList = folderItems.ToList(); Assert.AreEqual(1, folderItemsList.Count()); Assert.AreEqual(fileName, folderItemsList[0].Name); Assert.AreEqual(DirectoryItemType.File, folderItemsList[0].ItemType); // Rename a file in a subfolder var itemRenamed = await storageHelper.TryRenameItemAsync(filePath, fileName2); Assert.IsTrue(itemRenamed); // Rename a subfolder var folderRenamed = await storageHelper.TryRenameItemAsync(subFolderPath, subFolderName2); Assert.IsTrue(folderRenamed); // Delete a file in a subfolder var fileDeleted = await storageHelper.TryDeleteItemAsync(filePath2); Assert.IsTrue(fileDeleted); // Delete a subfolder var subFolderDeleted = await storageHelper.TryDeleteItemAsync(subFolderPath2); Assert.IsTrue(subFolderDeleted); // Delete the folder to clean up. var folderDeleted = await storageHelper.TryDeleteItemAsync(folderName); Assert.IsTrue(folderDeleted); }