public async Task ShutdownAsync() { IUserMessage response; EmbedBuilder initialBuilder; initialBuilder = EmbedHelper.GetDefaultEmbed(Context); initialBuilder.AddField(":video_game: Exiting game", "Please wait..."); response = await ReplyAsync("", embed : initialBuilder.Build()); try { EmbedBuilder embed; ProcessProvider provider; provider = new ProcessProvider(); embed = EmbedHelper.GetDefaultEmbed(Context); embed.AddField(":robot: Stopping bot process", "Please wait..."); _screenshotProvider.Stop(); embed.AddField(":white_check_mark: Success", "The bot process has been stopped."); // Forcibly kill the GTA process. KillGTAProcess(); embed.AddField("Process Killed", "The GTA 5 process is no longer running."); await response.ModifyAsync(msg => { msg.Embed = embed.Build(); msg.Content = ""; }); } catch (Exception e) { await response.ModifyAsync(msg => msg = ErrorHandler.GetDefaultErrorMessageEmbed(e, msg, Context.Message)); } }
public async Task StartGameAsync() { IUserMessage response; EmbedBuilder initialBuilder; initialBuilder = EmbedHelper.GetDefaultEmbed(Context); initialBuilder.AddField(":video_game: Starting game", "Please wait..."); response = await ReplyAsync("", embed : initialBuilder.Build()); try { EmbedBuilder embed; ProcessProvider provider; provider = new ProcessProvider(); embed = EmbedHelper.GetDefaultEmbed(Context); StartGTAProcess(); embed.AddField("Game started", "The GTA 5 game has been started successfully."); await response.ModifyAsync(msg => { msg.Embed = embed.Build(); msg.Content = ""; }); } catch (Exception e) { await response.ModifyAsync(msg => msg = ErrorHandler.GetDefaultErrorMessageEmbed(e, msg, Context.Message)); } }
public static void AssemblyInitialize(TestContext testContext) { string workingDir = Path.Combine(ProcessProvider.GetEntryProcessApplicationPath(), "Demos", "TestAPI"); _testApiProcess = ProcessProvider.StartProcess("dotnet", workingDir, " run", true); ProcessProvider.WaitPortToGetBusy(55215); }
public async Task FindNewSessionAsync() { IUserMessage response; EmbedBuilder initialBuilder; initialBuilder = EmbedHelper.GetDefaultEmbed(Context); initialBuilder.AddField(":mag: Finding new session", "Please wait..."); response = await ReplyAsync("", embed : initialBuilder.Build()); try { EmbedBuilder embed; IntPtr windowHandle; ProcessProvider provider; embed = EmbedHelper.GetDefaultEmbed(Context); provider = new ProcessProvider(); embed.AddField(":robot: Stopping bot process", "Please wait..."); _screenshotProvider.Stop(); embed.AddField(":white_check_mark: Success", "The bot process has been stopped."); embed.AddField(":mag: Finding new session", "Please wait..."); await response.ModifyAsync(msg => { msg.Embed = embed.Build(); msg.Content = ""; }); windowHandle = provider.GetGrandTheftAutoProcessPointer(); User32.GetWindowThreadProcessId(windowHandle, out uint processID); if (processID != 0) { Process process; process = Process.GetProcessById((int)processID); process.Suspend(); Thread.Sleep(8000); process.Resume(); } embed.AddField(":white_check_mark: Success", "A new session has been found."); embed.AddField(":robot: Starting bot script", "Please wait"); await response.ModifyAsync(msg => { msg.Embed = embed.Build(); msg.Content = ""; }); _screenshotProvider.Start(); embed.AddField(":white_check_mark: Success", "Bot script started "); await response.ModifyAsync(msg => { msg.Embed = embed.Build(); msg.Content = ""; }); } catch (Exception e) { await response.ModifyAsync(msg => msg = ErrorHandler.GetDefaultErrorMessageEmbed(e, msg, Context.Message)); } }
public static AttachableProcessInfo Create(ProcessProvider processProvider, AttachProgramOptions options) { if (processProvider == null) { throw new ArgumentNullException(nameof(processProvider)); } if (options == null) { throw new ArgumentNullException(nameof(options)); } var name = options.Name; var title = options.Title; var filename = options.Filename; var commandLine = options.CommandLine; var architecture = options.Architecture; if (name == null || title == null || filename == null || commandLine == null || architecture == null) { var info = GetDefaultProperties(processProvider, options); name = name ?? info.name ?? string.Empty; title = title ?? info.title ?? string.Empty; filename = filename ?? info.filename ?? string.Empty; commandLine = commandLine ?? info.commandLine ?? string.Empty; architecture = architecture ?? info.arch ?? string.Empty; } return(new AttachableProcessInfo(options.ProcessId, options.RuntimeId, options.RuntimeGuid, options.RuntimeKindGuid, options.RuntimeName, name, title, filename, commandLine, architecture)); }
public void ExecuteStandardOutputCallback_And_ErrorOutputCallback__When_StandardOutputAndErrorOutputAreReceived() { // Arrange var processProvider = new ProcessProvider(); var actualErrorOutputMessages = new List <string>(); var actualStartdardOutputMessages = new List <string>(); // Act processProvider.StartProcessAndWaitToFinish( _pathToTestConsoleApp, null, "writeInfoError", 10, message => actualStartdardOutputMessages.Add(message), message => actualErrorOutputMessages.Add(message)); // Assert Assert.That(actualStartdardOutputMessages.Count, Is.EqualTo(3)); Assert.That(actualStartdardOutputMessages[0], Is.EqualTo("write first line")); Assert.That(actualStartdardOutputMessages[1], Is.EqualTo("write second line")); Assert.That(actualStartdardOutputMessages.Count, Is.EqualTo(3)); Assert.That(actualStartdardOutputMessages[0], Is.EqualTo("write first line")); Assert.That(actualStartdardOutputMessages[1], Is.EqualTo("write second line")); }
public void AssemblyCleanUp() { if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { ProcessProvider.CloseProcess(_testApiProcess); } }
private void LateUpdate() { OnLateUpdate(out bool shouldReturn); if (shouldReturn) { ProcessProvider.Return(this as T); } }
public MonitoringProvider(ProcessProvider processProvider, IISProvider iisProvider, HttpProvider httpProvider, ConfigFileProvider configFileProvider) { _processProvider = processProvider; _iisProvider = iisProvider; _httpProvider = httpProvider; _configFileProvider = configFileProvider; }
public SysTrayApp(ConfigFileProvider configFileProvider, ProcessProvider processProvider, IISProvider iisProvider, EnvironmentProvider environmentProvider) { _configFileProvider = configFileProvider; _processProvider = processProvider; _iisProvider = iisProvider; _environmentProvider = environmentProvider; }
public void AllTestsAndProcessesHasAUniqueTestId() { IEnumerable <IArkadeTest> allArkadeTests = GetTests().Concat(ProcessProvider.GetAllProcesses()); IEnumerable <TestId> testIds = allArkadeTests.Select(t => t.GetId()); testIds.Should().OnlyHaveUniqueItems(); }
public AppRestartJob(EnvironmentProvider environmentProvider, ProcessProvider processProvider, ServiceProvider serviceProvider, IISProvider iisProvider) { _environmentProvider = environmentProvider; _processProvider = processProvider; _serviceProvider = serviceProvider; _iisProvider = iisProvider; }
public UpdateProvider(DiskProvider diskProvider, ServiceProvider serviceProvider, ProcessProvider processProvider, EnvironmentProvider environmentProvider, IISProvider iisProvider) { _diskProvider = diskProvider; _serviceProvider = serviceProvider; _processProvider = processProvider; _environmentProvider = environmentProvider; _iisProvider = iisProvider; }
public static void StopWinAppDriver() { if (_shouldStartLocalService) { if (ProcessProvider.IsProcessWithNameRunning("WinAppDriver")) { ProcessProvider.CloseProcess(_winAppDriverProcess); } } }
public void AssemblyInitialize() { // TODO: Remove this code once you use your own web service! It is needed only to run the sample tests. if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { string workingDir = Path.Combine(ProcessProvider.GetEntryProcessApplicationPath(), "Demos", "TestAPI"); _testApiProcess = ProcessProvider.StartProcess("dotnet", workingDir, " run", true); ProcessProvider.WaitPortToGetBusy(55215); } }
public ProgramVM(ProcessProvider processProvider, AttachProgramOptions attachProgramOptions, IAttachToProcessContext context) { if (processProvider == null) { throw new ArgumentNullException(nameof(processProvider)); } AttachProgramOptions = attachProgramOptions ?? throw new ArgumentNullException(nameof(attachProgramOptions)); attachableProcessInfo = AttachableProcessInfo.Create(processProvider, attachProgramOptions); Context = context ?? throw new ArgumentNullException(nameof(context)); }
private IEnumerator Enumerator() { yield return(Routine()); if (AutoReturn) { bool success = ProcessProvider.Return(this as T); Debug.Log("Return successful = " + success); } }
public void ReturnNotMinusOne_When_ProcessExitedWithError() { // Arrange var processProvider = new ProcessProvider(); // Act var exitCode = processProvider.StartProcessAndWaitToFinish(_pathToTestConsoleApp, null, "exception", 0); // Assert Assert.That(exitCode, Is.EqualTo(-2)); }
public Router(ApplicationServer applicationServer, ServiceProvider serviceProvider, ConsoleProvider consoleProvider, EnvironmentProvider environmentProvider, ProcessProvider processProvider, SysTrayProvider sysTrayProvider) { _applicationServer = applicationServer; _serviceProvider = serviceProvider; _consoleProvider = consoleProvider; _environmentProvider = environmentProvider; _processProvider = processProvider; _sysTrayProvider = sysTrayProvider; }
public AppUpdateJob(UpdateProvider updateProvider, EnvironmentProvider environmentProvider, DiskProvider diskProvider, HttpProvider httpProvider, ProcessProvider processProvider, ArchiveProvider archiveProvider, ConfigFileProvider configFileProvider) { _updateProvider = updateProvider; _environmentProvider = environmentProvider; _diskProvider = diskProvider; _httpProvider = httpProvider; _processProvider = processProvider; _archiveProvider = archiveProvider; _configFileProvider = configFileProvider; }
public void ExitWithMinusOneExitCode_When_ProcessTimeouts() { // Arrange var processProvider = new ProcessProvider(); // Act var exitCode = processProvider.StartProcessAndWaitToFinish(_pathToTestConsoleApp, null, "sleep", 0); // Assert Assert.That(exitCode, Is.EqualTo(-2)); }
public void ReturnZero_When_ProcessExitedCorrectly() { // Arrange var processProvider = new ProcessProvider(); // Act var exitCode = processProvider.StartProcessAndWaitToFinish(_pathToTestConsoleApp, null, "exit", 300); // Assert Assert.That(exitCode, Is.EqualTo(0)); }
public void ReturnsCorrectProcess() { // Arrange var processProvider = new ProcessProvider(); // Act var actualProcess = processProvider.GetCurrentProcess(); var expectedProcess = Process.GetCurrentProcess(); // Assert Assert.That(actualProcess.ProcessName, Is.EqualTo(expectedProcess.ProcessName)); }
/// <summary> /// Starts the GTA process. /// </summary> private void StartGTAProcess() { Process process; ProcessProvider provider; provider = new ProcessProvider(); if (provider.GetGrandTheftAutoProcess() != null) { EventLogLogger.LogError("Unable to start the GTA V process as it is already running."); throw new ApplicationException("Unable to start the GTA V process as it is already running."); } if (_config.IsSteamGame) { string steamPath; steamPath = RegistryHelper.GetSteamPath(); if (!string.IsNullOrEmpty(steamPath)) { process = new Process(); process.StartInfo.FileName = $"{steamPath}\\Steam.exe"; process.StartInfo.Arguments = "-applaunch 271590 -StraightIntoFreemode"; process.Start(); } else { throw new ArgumentException("Unable to find the Steam installation path in the registry."); } } else { string installPath; installPath = RegistryHelper.GetGTASocialClubInstallPath(); if (!string.IsNullOrEmpty(installPath)) { process = new Process(); process.StartInfo.FileName = $"{installPath}\\PlayGTAV.exe"; process.StartInfo.Arguments = "-StraightIntoFreemode"; process.Start(); } else { throw new ArgumentException("Unable to find the PlayGTAV installation path in the registry."); } } }
public void InstallAppInstalledFalse_When_AppIsUninstalled() { // Uninstalls the app with the specified app package. App.AppService.RemoveApp("com.example.android.apis"); // Checks whether the app with the specified app package is installed. Assert.IsFalse(App.AppService.IsAppInstalled("com.example.android.apis")); string appPath = Path.Combine(ProcessProvider.GetExecutingAssemblyFolder(), "Demos\\ApiDemos.apk"); // Installs the APK file on the device. App.AppService.InstallApp(appPath); }
public void InstallAppInstalledFalse_When_AppIsUninstalled() { string appPath = Path.Combine(ProcessProvider.GetExecutingAssemblyFolder(), "Demos\\ApiDemos.apk"); App.AppService.InstallApp(appPath); App.AppService.RemoveApp(Constants.AndroidNativeAppAppExamplePackage); Assert.IsFalse(App.AppService.IsAppInstalled(Constants.AndroidNativeAppAppExamplePackage)); App.AppService.InstallApp(appPath); Assert.IsTrue(App.AppService.IsAppInstalled(Constants.AndroidNativeAppAppExamplePackage)); }
public void InstallAppInstalledFalse_When_AppIsUninstalled() { string appPath = Path.Combine(ProcessProvider.GetExecutingAssemblyFolder(), "Demos/TestApp.app.zip"); // Installs the app file on the device. App.AppService.InstallApp(appPath); // Uninstalls the app with the specified bundleId. You can get your app's bundleId from XCode. App.AppService.RemoveApp("com.apple.mobilecal"); Assert.IsFalse(App.AppService.IsAppInstalled("com.apple.mobilecal")); App.AppService.InstallApp(appPath); }
public void ExecuteErrorOutputCallback_When_ErrorOutputIsReceived() { // Arrange var processProvider = new ProcessProvider(); var actualErrorOutputMessages = new List <string>(); // Act processProvider.StartProcessAndWaitToFinish(_pathToTestConsoleApp, null, "writeError", 10, errorOutputCallback: message => { actualErrorOutputMessages.Add(message); }); // Assert Assert.That(actualErrorOutputMessages.Count, Is.EqualTo(3)); Assert.That(actualErrorOutputMessages[0], Is.EqualTo("write error first line")); Assert.That(actualErrorOutputMessages[1], Is.EqualTo("write error second line")); }
public static ProgramVM?Create(ProcessProvider processProvider, AttachProgramOptions attachProgramOptions, IAttachToProcessContext context) { if (processProvider is null) { throw new ArgumentNullException(nameof(processProvider)); } var attachableProcessInfo = AttachableProcessInfo.Create(processProvider, attachProgramOptions); if (attachableProcessInfo is null) { return(null); } return(new ProgramVM(attachableProcessInfo, attachProgramOptions, context)); }
public ApplicationServer(ConfigFileProvider configFileProvider, IISProvider iisProvider, DebuggerProvider debuggerProvider, EnvironmentProvider environmentProvider, ProcessProvider processProvider, MonitoringProvider monitoringProvider, SecurityProvider securityProvider, DiskProvider diskProvider) { _configFileProvider = configFileProvider; _iisProvider = iisProvider; _debuggerProvider = debuggerProvider; _environmentProvider = environmentProvider; _processProvider = processProvider; _monitoringProvider = monitoringProvider; _securityProvider = securityProvider; _diskProvider = diskProvider; }
public void Setup() { Process.GetProcessesByName(DummyApp.DUMMY_PROCCESS_NAME).ToList().ForEach(c => c.Kill()); _processProvider = new ProcessProvider(); }