/**
* Execute the command.
*/
public function handle()
{
$this->server->status = Server::TESTING;
$this->server->save();
$key = tempnam(storage_path('app/'), 'sshkey');
file_put_contents($key, $this->server->project->private_key);
try {
$process = new Process('TestServerConnection', ['project_path' => $this->server->clean_path, 'test_file' => time() . '_testing_deployer.txt', 'test_directory' => time() . '_testing_deployer_dir']);
$process->setServer($this->server, $key)->run();
if (!$process->isSuccessful()) {
$this->server->status = Server::FAILED;
} else {
$this->server->status = Server::SUCCESSFUL;
}
} catch (\Exception $error) {
$this->server->status = Server::FAILED;
}
$this->server->save();
unlink($key);
}