public function testMakeFormAndSetConfigurationFromForm()
 {
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertNull($form->imapHost);
     $this->assertNull($form->imapPort);
     $this->assertNull($form->imapUsername);
     $this->assertNull($form->imapPassword);
     $this->assertNull($form->imapSSL);
     $this->assertNull($form->imapFolder);
     $this->assertNull($form->returnPath);
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapHost', 'bounce.com');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapPort', '420');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapSSL', '1');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapUsername', 'bouncy');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapPassword', ZurmoPasswordSecurityUtil::encrypt('bounces'));
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceImapFolder', 'BOUNCES');
     ZurmoConfigurationUtil::setByModuleName('EmailMessagesModule', 'bounceReturnPath', '*****@*****.**');
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('bounce.com', $form->imapHost);
     $this->assertEquals('420', $form->imapPort);
     $this->assertEquals('bouncy', $form->imapUsername);
     $this->assertEquals('bounces', $form->imapPassword);
     $this->assertEquals('1', $form->imapSSL);
     $this->assertEquals('BOUNCES', $form->imapFolder);
     $this->assertEquals('*****@*****.**', $form->returnPath);
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $form->imapHost = 'example.com';
     $form->imapPort = '111';
     $form->imapSSL = '0';
     $form->imapUsername = '******';
     $form->imapPassword = '******';
     $form->imapFolder = 'folder';
     $form->returnPath = 'path';
     BounceConfigurationFormAdapter::setConfigurationFromForm($form);
     $form = BounceConfigurationFormAdapter::makeFormFromGlobalConfiguration();
     $this->assertEquals('example.com', $form->imapHost);
     $this->assertEquals('111', $form->imapPort);
     $this->assertEquals('user', $form->imapUsername);
     $this->assertEquals('password', $form->imapPassword);
     $this->assertEquals('0', $form->imapSSL);
     $this->assertEquals('folder', $form->imapFolder);
     $this->assertEquals('path', $form->returnPath);
 }
 public function testInit()
 {
     $bounce = new ZurmoBounce();
     $this->assertNull($bounce->imapHost);
     $this->assertNull($bounce->imapUsername);
     $this->assertNull($bounce->imapPassword);
     $this->assertEquals(143, $bounce->imapPort);
     $this->assertFalse($bounce->imapSSL);
     $this->assertEquals('INBOX', $bounce->imapFolder);
     $this->assertNull($bounce->returnPath);
     $bounce->init();
     $this->assertNull($bounce->imapHost);
     $this->assertNull($bounce->imapUsername);
     $this->assertNull($bounce->imapPassword);
     $this->assertEquals(143, $bounce->imapPort);
     $this->assertFalse($bounce->imapSSL);
     $this->assertEquals('INBOX', $bounce->imapFolder);
     $this->assertNull($bounce->returnPath);
     $form = new BounceConfigurationForm();
     $form->imapHost = 'bounce.com';
     $form->imapPort = '420';
     $form->imapUsername = '******';
     $form->imapPassword = '******';
     $form->imapFolder = 'BOUNCES';
     $form->returnPath = '*****@*****.**';
     $form->imapSSL = 1;
     BounceConfigurationFormAdapter::setConfigurationFromForm($form);
     $bounce = new ZurmoBounce();
     $bounce->init();
     $this->assertEquals('bounce.com', $bounce->imapHost);
     $this->assertEquals('bouncy', $bounce->imapUsername);
     $this->assertEquals('bounces', $bounce->imapPassword);
     $this->assertEquals('420', $bounce->imapPort);
     $this->assertEquals(1, $bounce->imapSSL);
     $this->assertEquals('BOUNCES', $bounce->imapFolder);
     $this->assertEquals('*****@*****.**', $bounce->returnPath);
 }