public function addScenarioAction()
 {
     try {
         $buddy = new Buddy(['accessToken' => 'yourAccessToken']);
         $action = new ScenarioAction();
         $action->setType(ScenarioAction::TYPE_FTP);
         $action->setRemotePath('/var/tests');
         $action->setLocalPath('/tests');
         $action->setLogin('user');
         $action->setPassword('user');
         $action->setName('upload tests');
         $action->setHost('tests.com');
         $action->setPort(21);
         $resp = $buddy->getApiScenarios()->addScenarioAction($action, 'domain', 'projectName', 1);
         var_dump($resp);
         exit;
     } catch (BuddyResponseException $e) {
         echo $e->getMessage();
         exit;
     } catch (BuddySDKException $e) {
         echo $e->getMessage();
         exit;
     }
 }
 public function testActionModel()
 {
     $name = Utils::randomString();
     $accessKey = Utils::randomString();
     $activeMode = true;
     $authMode = ScenarioAction::AUTH_MODE_PASS;
     $bucketName = Utils::randomString();
     $cloudfrontId = Utils::randomString();
     $commands = ['ls'];
     $host = 'http://google.pl';
     $localPath = '/test';
     $passphrase = Utils::randomString();
     $password = Utils::randomString();
     $login = Utils::randomString();
     $port = Utils::randomInteger();
     $publicAccess = true;
     $reducedRedundacy = true;
     $remotePath = '/var';
     $secretKey = Utils::randomString();
     $serverKey = Utils::randomString();
     $type = ScenarioAction::TYPE_SFTP;
     $workingDir = '/home';
     $action = new ScenarioAction();
     $action->setName($name);
     $action->setAccessKey($accessKey);
     $action->setActiveMode($activeMode);
     $action->setAuthenticationMode($authMode);
     $action->setBucketName($bucketName);
     $action->setCloudfrontId($cloudfrontId);
     $action->setCommands($commands);
     $action->setHost($host);
     $action->setLocalPath($localPath);
     $action->setLogin($login);
     $action->setPassphrase($passphrase);
     $action->setPassword($password);
     $action->setPort($port);
     $action->setPublicAccess($publicAccess);
     $action->setReducedRedundancy($reducedRedundacy);
     $action->setRemotePath($remotePath);
     $action->setSecretKey($secretKey);
     $action->setServerKey($serverKey);
     $action->setType($type);
     $action->setWorkingDirectory($workingDir);
     $this->assertEquals($name, $action->getName());
     $this->assertEquals($accessKey, $action->getAccessKey());
     $this->assertEquals($activeMode, $action->getActiveMode());
     $this->assertEquals($authMode, $action->getAuthenticationMode());
     $this->assertEquals($bucketName, $action->getBucketName());
     $this->assertEquals($cloudfrontId, $action->getCloudfrontId());
     $this->assertEquals($commands, $action->getCommands());
     $this->assertEquals($host, $action->getHost());
     $this->assertEquals($localPath, $action->getLocalPath());
     $this->assertEquals($login, $action->getLogin());
     $this->assertEquals($passphrase, $action->getPassphrase());
     $this->assertEquals($password, $action->getPassword());
     $this->assertEquals($port, $action->getPort());
     $this->assertEquals($publicAccess, $action->getPublicAccess());
     $this->assertEquals($reducedRedundacy, $action->getReducedRedundancy());
     $this->assertEquals($remotePath, $action->getRemotePath());
     $this->assertEquals($secretKey, $action->getSecretKey());
     $this->assertEquals($serverKey, $action->getServerKey());
     $this->assertEquals($type, $action->getType());
     $this->assertEquals($workingDir, $action->getWorkingDirectory());
     $this->assertEmpty($action->getId());
     $this->assertEmpty($action->getRevision());
     $this->assertEmpty($action->getStatus());
 }