public async Task GetRegistryEntriesSuccessAsyncTest() { string machineName = System.Environment.MachineName; string rootKey = "Console"; RegistryHive hive = RegistryHive.CurrentUser; RegistryEntriesResult result = await RegistryCompare.GetRegistryEntriesAsync(hive, rootKey, machineName); Assert.IsTrue(result.RegistryEntries.Count > 0, "That key does not have any entries."); }
public void GetRegistryEntriesSuccessTest() { string machineName = System.Environment.MachineName; string rootKey = "Console"; RegistryHive hive = RegistryHive.CurrentUser; RegistryEntriesResult result = RegistryCompare.GetRegistryEntries(RegistryHive.CurrentUser, rootKey, machineName); Assert.IsTrue(result.Successful); }
public static async Task <RegistryEntriesResult> GetRegistryEntriesAsync(RegistryHive registryHive, string rootKey, string machineName) { Task <RegistryEntriesResult> regKeysMachine = Task <RegistryEntriesResult> .Factory.StartNew(() => { RegistryEntriesResult result = GetRegistryEntries(registryHive, rootKey, machineName); return(result); }); await regKeysMachine; return(regKeysMachine.Result); }
private async Task <List <RegistryEntry> > GetRegisty(RegistryHive registryHive, string machineName, Label machineLabel, CancellationTokenSource tokenSource, CancellationToken token) { machineLabel.Text = "Loading Registry"; machineLabel.Visible = true; RegistryEntriesResult result = await RegistryCompare.GetRegistryEntriesAsync(registryHive, textbox_registryKeyRoot.Text, machineName, tokenSource, token, _testConnectionTimeout); if (!result.Successful) { if (result.ErrorCode == ErrorCodes.SECURITY_EXCEPTION || result.ErrorCode == ErrorCodes.UNAUTHORIZED_ACCESS_EXCEPTION) { machineLabel.Text = "Access Denied"; } else if (result.ErrorCode == ErrorCodes.IO_EXCEPTION) { machineLabel.Text = "Invalid Machine Name."; } else if (result.ErrorCode == ErrorCodes.TIMEOUT) { machineLabel.Text = "Connection Timeout."; } try { tokenSource.Cancel(); token.ThrowIfCancellationRequested(); } catch (OperationCanceledException) { SetStatusStripText("Error"); return(new List <RegistryEntry>() { }); } } SetStatusStripText("Success"); machineLabel.Text = "Loaded"; return(result.RegistryEntries); }
public static async Task <RegistryEntriesResult> GetRegistryEntriesAsync(RegistryHive registryHive, string rootKey, string machineName, CancellationTokenSource tokenSource, CancellationToken token, int timeout) { Task <RegistryEntriesResult> regKeysMachine = Task <RegistryEntriesResult> .Factory.StartNew(() => { RegistryEntriesResult result = GetRegistryEntries(registryHive, rootKey, machineName); return(result); }, tokenSource.Token); if (await Task.WhenAny(regKeysMachine, Task.Delay(timeout, token)) == regKeysMachine) { await regKeysMachine; return(regKeysMachine.Result); } else { try { tokenSource.Cancel(); token.ThrowIfCancellationRequested(); } catch (Exception ex) { return(new RegistryEntriesResult() { Successful = false, Exception = ex, Message = ex.Message, RegistryEntries = new List <RegistryEntry>() }); } } return(new RegistryEntriesResult() { Successful = true, RegistryEntries = new List <RegistryEntry>() }); }
public async Task GetRegistryEntriesFailedAsyncTest() { RegistryEntriesResult result = await RegistryCompare.GetRegistryEntriesAsync(RegistryHive.CurrentUser, "somekey", "machinea"); Assert.AreEqual(0, result.RegistryEntries.Count); }
public void GetRegistryEntriesFailTest() { RegistryEntriesResult result = RegistryCompare.GetRegistryEntries(RegistryHive.CurrentUser, "somekey", "machinea"); Assert.IsFalse(result.Successful); }