| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- <?php
 - 
 - require_once 'Swift/Tests/SwiftUnitTestCase.php';
 - require_once 'Swift/Plugins/AntiFloodPlugin.php';
 - require_once 'Swift/Events/SendEvent.php';
 - require_once 'Swift/Transport.php';
 - require_once 'Swift/Plugins/Sleeper.php';
 - 
 - class Swift_Plugins_AntiFloodPluginTest extends Swift_Tests_SwiftUnitTestCase
 - {
 -   
 -   public function testThresholdCanBeSetAndFetched()
 -   {
 -     $plugin = new Swift_Plugins_AntiFloodPlugin(10);
 -     $this->assertEqual(10, $plugin->getThreshold());
 -     $plugin->setThreshold(100);
 -     $this->assertEqual(100, $plugin->getThreshold());
 -   }
 -   
 -   public function testSleepTimeCanBeSetAndFetched()
 -   {
 -     $plugin = new Swift_Plugins_AntiFloodPlugin(10, 5);
 -     $this->assertEqual(5, $plugin->getSleepTime());
 -     $plugin->setSleepTime(1);
 -     $this->assertEqual(1, $plugin->getSleepTime());
 -   }
 -   
 -   public function testPluginStopsConnectionAfterThreshold()
 -   {
 -     $transport = $this->_createTransport();
 -     $evt = $this->_createSendEvent($transport);
 -     $this->_checking(Expectations::create()
 -       -> one($transport)->start()
 -       -> one($transport)->stop()
 -       -> ignoring($transport)
 -       );
 -     
 -     $plugin = new Swift_Plugins_AntiFloodPlugin(10);
 -     for ($i = 0; $i < 12; $i++)
 -     {
 -       $plugin->sendPerformed($evt);
 -     }
 -   }
 -   
 -   public function testPluginCanStopAndStartMultipleTimes()
 -   {
 -     $transport = $this->_createTransport();
 -     $evt = $this->_createSendEvent($transport);
 -     $this->_checking(Expectations::create()
 -       -> exactly(5)->of($transport)->start()
 -       -> exactly(5)->of($transport)->stop()
 -       -> ignoring($transport)
 -       );
 -     
 -     $plugin = new Swift_Plugins_AntiFloodPlugin(2);
 -     for ($i = 0; $i < 11; $i++)
 -     {
 -       $plugin->sendPerformed($evt);
 -     }
 -   }
 -   
 -   public function testPluginCanSleepDuringRestart()
 -   {
 -     $sleeper = $this->_createSleeper();
 -     $transport = $this->_createTransport();
 -     $evt = $this->_createSendEvent($transport);
 -     $this->_checking(Expectations::create()
 -       -> one($sleeper)->sleep(10)
 -       -> one($transport)->start()
 -       -> one($transport)->stop()
 -       -> ignoring($transport)
 -       );
 -     
 -     $plugin = new Swift_Plugins_AntiFloodPlugin(99, 10, $sleeper);
 -     for ($i = 0; $i < 101; $i++)
 -     {
 -       $plugin->sendPerformed($evt);
 -     }
 -   }
 -   
 -   // -- Creation Methods
 -   
 -   private function _createTransport()
 -   {
 -     return $this->_mock('Swift_Transport');
 -   }
 -   
 -   private function _createSendEvent($transport)
 -   {
 -     $evt = $this->_mock('Swift_Events_SendEvent');
 -     $this->_checking(Expectations::create()
 -       -> ignoring($evt)->getSource() -> returns($transport)
 -       -> ignoring($evt)->getTransport() -> returns($transport)
 -       );
 -     return $evt;
 -   }
 -   
 -   private function _createSleeper()
 -   {
 -     return $this->_mock('Swift_Plugins_Sleeper');
 -   }
 -   
 - }
 
 
  |