mirror of
				https://github.com/brmlab/brmbiolab_sklad.git
				synced 2025-10-30 23:14:01 +01:00 
			
		
		
		
	Initial commit
This commit is contained in:
		
						commit
						3b93da31de
					
				
					 1004 changed files with 265840 additions and 0 deletions
				
			
		
							
								
								
									
										2412
									
								
								lib/Cake/Test/Case/Network/Email/CakeEmailTest.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2412
									
								
								lib/Cake/Test/Case/Network/Email/CakeEmailTest.php
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
							
								
								
									
										77
									
								
								lib/Cake/Test/Case/Network/Email/DebugTransportTest.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								lib/Cake/Test/Case/Network/Email/DebugTransportTest.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,77 @@ | |||
| <?php | ||||
| /** | ||||
|  * DebugTransportTest file | ||||
|  * | ||||
|  * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html> | ||||
|  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * | ||||
|  * Licensed under The MIT License | ||||
|  * For full copyright and license information, please see the LICENSE.txt | ||||
|  * Redistributions of files must retain the above copyright notice | ||||
|  * | ||||
|  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * @link          http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests | ||||
|  * @package       Cake.Test.Case.Network.Email | ||||
|  * @since         CakePHP(tm) v 2.0.0 | ||||
|  * @license       http://www.opensource.org/licenses/mit-license.php MIT License | ||||
|  */ | ||||
| 
 | ||||
| App::uses('CakeEmail', 'Network/Email'); | ||||
| App::uses('AbstractTransport', 'Network/Email'); | ||||
| App::uses('DebugTransport', 'Network/Email'); | ||||
| 
 | ||||
| /** | ||||
|  * Test case | ||||
|  * | ||||
|  */ | ||||
| class DebugTransportTest extends CakeTestCase { | ||||
| 
 | ||||
| /** | ||||
|  * Setup | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function setUp() { | ||||
| 		parent::setUp(); | ||||
| 		$this->DebugTransport = new DebugTransport(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testSend method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testSend() { | ||||
| 		$email = $this->getMock('CakeEmail', array('message'), array(), 'DebugCakeEmail'); | ||||
| 		$email->from('noreply@cakephp.org', 'CakePHP Test'); | ||||
| 		$email->to('cake@cakephp.org', 'CakePHP'); | ||||
| 		$email->cc(array('mark@cakephp.org' => 'Mark Story', 'juan@cakephp.org' => 'Juan Basso')); | ||||
| 		$email->bcc('phpnut@cakephp.org'); | ||||
| 		$email->messageID('<4d9946cf-0a44-4907-88fe-1d0ccbdd56cb@localhost>'); | ||||
| 		$email->subject('Testing Message'); | ||||
| 		$date = date(DATE_RFC2822); | ||||
| 		$email->setHeaders(array('X-Mailer' => DebugCakeEmail::EMAIL_CLIENT, 'Date' => $date)); | ||||
| 		$email->expects($this->once())->method('message')->will($this->returnValue(array('First Line', 'Second Line', '.Third Line', ''))); | ||||
| 
 | ||||
| 		$headers = "From: CakePHP Test <noreply@cakephp.org>\r\n"; | ||||
| 		$headers .= "To: CakePHP <cake@cakephp.org>\r\n"; | ||||
| 		$headers .= "Cc: Mark Story <mark@cakephp.org>, Juan Basso <juan@cakephp.org>\r\n"; | ||||
| 		$headers .= "X-Mailer: CakePHP Email\r\n"; | ||||
| 		$headers .= "Date: " . $date . "\r\n"; | ||||
| 		$headers .= "Message-ID: <4d9946cf-0a44-4907-88fe-1d0ccbdd56cb@localhost>\r\n"; | ||||
| 		$headers .= "Subject: Testing Message\r\n"; | ||||
| 		$headers .= "MIME-Version: 1.0\r\n"; | ||||
| 		$headers .= "Content-Type: text/plain; charset=UTF-8\r\n"; | ||||
| 		$headers .= "Content-Transfer-Encoding: 8bit"; | ||||
| 
 | ||||
| 		$data = "First Line\r\n"; | ||||
| 		$data .= "Second Line\r\n"; | ||||
| 		$data .= ".Third Line\r\n"; // Not use 'RFC5321 4.5.2.Transparency' in DebugTransport.
 | ||||
| 
 | ||||
| 		$result = $this->DebugTransport->send($email); | ||||
| 
 | ||||
| 		$this->assertEquals($headers, $result['headers']); | ||||
| 		$this->assertEquals($data, $result['message']); | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										91
									
								
								lib/Cake/Test/Case/Network/Email/MailTransportTest.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								lib/Cake/Test/Case/Network/Email/MailTransportTest.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,91 @@ | |||
| <?php | ||||
| /** | ||||
|  * MailTransportTest file | ||||
|  * | ||||
|  * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html> | ||||
|  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * | ||||
|  * Licensed under The MIT License | ||||
|  * For full copyright and license information, please see the LICENSE.txt | ||||
|  * Redistributions of files must retain the above copyright notice | ||||
|  * | ||||
|  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * @link          http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests | ||||
|  * @package       Cake.Test.Case.Network.Email | ||||
|  * @since         CakePHP(tm) v 2.0.0 | ||||
|  * @license       http://www.opensource.org/licenses/mit-license.php MIT License | ||||
|  */ | ||||
| 
 | ||||
| App::uses('CakeEmail', 'Network/Email'); | ||||
| App::uses('AbstractTransport', 'Network/Email'); | ||||
| App::uses('MailTransport', 'Network/Email'); | ||||
| 
 | ||||
| /** | ||||
|  * Test case | ||||
|  * | ||||
|  */ | ||||
| class MailTransportTest extends CakeTestCase { | ||||
| 
 | ||||
| /** | ||||
|  * Setup | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function setUp() { | ||||
| 		parent::setUp(); | ||||
| 		$this->MailTransport = $this->getMock('MailTransport', array('_mail')); | ||||
| 		$this->MailTransport->config(array('additionalParameters' => '-f')); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testSend method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testSendData() { | ||||
| 		$email = $this->getMock('CakeEmail', array('message'), array()); | ||||
| 		$email->from('noreply@cakephp.org', 'CakePHP Test'); | ||||
| 		$email->returnPath('pleasereply@cakephp.org', 'CakePHP Return'); | ||||
| 		$email->to('cake@cakephp.org', 'CakePHP'); | ||||
| 		$email->cc(array('mark@cakephp.org' => 'Mark Story', 'juan@cakephp.org' => 'Juan Basso')); | ||||
| 		$email->bcc('phpnut@cakephp.org'); | ||||
| 		$email->messageID('<4d9946cf-0a44-4907-88fe-1d0ccbdd56cb@localhost>'); | ||||
| 		$longNonAscii = 'Foø Bår Béz Foø Bår Béz Foø Bår Béz Foø Bår Béz'; | ||||
| 		$email->subject($longNonAscii); | ||||
| 		$date = date(DATE_RFC2822); | ||||
| 		$email->setHeaders(array( | ||||
| 			'X-Mailer' => 'CakePHP Email', | ||||
| 			'Date' => $date, | ||||
| 			'X-add' => mb_encode_mimeheader($longNonAscii, 'utf8', 'B'), | ||||
| 		)); | ||||
| 		$email->expects($this->any())->method('message') | ||||
| 			->will($this->returnValue(array('First Line', 'Second Line', '.Third Line', ''))); | ||||
| 
 | ||||
| 		$encoded = '=?UTF-8?B?Rm/DuCBCw6VyIELDqXogRm/DuCBCw6VyIELDqXogRm/DuCBCw6VyIELDqXog?='; | ||||
| 		$encoded .= ' =?UTF-8?B?Rm/DuCBCw6VyIELDqXo=?='; | ||||
| 
 | ||||
| 		$data = "From: CakePHP Test <noreply@cakephp.org>" . PHP_EOL; | ||||
| 		$data .= "Return-Path: CakePHP Return <pleasereply@cakephp.org>" . PHP_EOL; | ||||
| 		$data .= "Cc: Mark Story <mark@cakephp.org>, Juan Basso <juan@cakephp.org>" . PHP_EOL; | ||||
| 		$data .= "Bcc: phpnut@cakephp.org" . PHP_EOL; | ||||
| 		$data .= "X-Mailer: CakePHP Email" . PHP_EOL; | ||||
| 		$data .= "Date: " . $date . PHP_EOL; | ||||
| 		$data .= "X-add: " . $encoded . PHP_EOL; | ||||
| 		$data .= "Message-ID: <4d9946cf-0a44-4907-88fe-1d0ccbdd56cb@localhost>" . PHP_EOL; | ||||
| 		$data .= "MIME-Version: 1.0" . PHP_EOL; | ||||
| 		$data .= "Content-Type: text/plain; charset=UTF-8" . PHP_EOL; | ||||
| 		$data .= "Content-Transfer-Encoding: 8bit"; | ||||
| 
 | ||||
| 		$this->MailTransport->expects($this->once())->method('_mail') | ||||
| 			->with( | ||||
| 				'CakePHP <cake@cakephp.org>', | ||||
| 				$encoded, | ||||
| 				implode(PHP_EOL, array('First Line', 'Second Line', '.Third Line', '')), | ||||
| 				$data, | ||||
| 				'-f' | ||||
| 			); | ||||
| 
 | ||||
| 		$this->MailTransport->send($email); | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
							
								
								
									
										453
									
								
								lib/Cake/Test/Case/Network/Email/SmtpTransportTest.php
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										453
									
								
								lib/Cake/Test/Case/Network/Email/SmtpTransportTest.php
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,453 @@ | |||
| <?php | ||||
| /** | ||||
|  * SmtpTransportTest file | ||||
|  * | ||||
|  * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html> | ||||
|  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * | ||||
|  * Licensed under The MIT License | ||||
|  * For full copyright and license information, please see the LICENSE.txt | ||||
|  * Redistributions of files must retain the above copyright notice | ||||
|  * | ||||
|  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * @link          http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests | ||||
|  * @package       Cake.Test.Case.Network.Email | ||||
|  * @since         CakePHP(tm) v 2.0.0 | ||||
|  * @license       http://www.opensource.org/licenses/mit-license.php MIT License | ||||
|  */ | ||||
| 
 | ||||
| App::uses('CakeEmail', 'Network/Email'); | ||||
| App::uses('AbstractTransport', 'Network/Email'); | ||||
| App::uses('SmtpTransport', 'Network/Email'); | ||||
| 
 | ||||
| /** | ||||
|  * Help to test SmtpTransport | ||||
|  * | ||||
|  */ | ||||
| class SmtpTestTransport extends SmtpTransport { | ||||
| 
 | ||||
| /** | ||||
|  * Helper to change the socket | ||||
|  * | ||||
|  * @param object $socket | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function setSocket(CakeSocket $socket) { | ||||
| 		$this->_socket = $socket; | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * Helper to change the CakeEmail | ||||
|  * | ||||
|  * @param object $cakeEmail | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function setCakeEmail($cakeEmail) { | ||||
| 		$this->_cakeEmail = $cakeEmail; | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * Disabled the socket change | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	protected function _generateSocket() { | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * Magic function to call protected methods | ||||
|  * | ||||
|  * @param string $method | ||||
|  * @param string $args | ||||
|  * @return mixed | ||||
|  */ | ||||
| 	public function __call($method, $args) { | ||||
| 		$method = '_' . $method; | ||||
| 		return call_user_func_array(array($this, $method), $args); | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Test case | ||||
|  * | ||||
|  */ | ||||
| class SmtpTransportTest extends CakeTestCase { | ||||
| 
 | ||||
| /** | ||||
|  * Setup | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function setUp() { | ||||
| 		parent::setUp(); | ||||
| 		$this->socket = $this->getMock('CakeSocket', array('read', 'write', 'connect', 'enableCrypto')); | ||||
| 
 | ||||
| 		$this->SmtpTransport = new SmtpTestTransport(); | ||||
| 		$this->SmtpTransport->setSocket($this->socket); | ||||
| 		$this->SmtpTransport->config(array('client' => 'localhost')); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testConnectEhlo method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testConnectEhlo() { | ||||
| 		$this->socket->expects($this->any())->method('connect')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(0))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue("220 Welcome message\r\n")); | ||||
| 		$this->socket->expects($this->at(2))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(3))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue("250 Accepted\r\n")); | ||||
| 		$this->SmtpTransport->connect(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testConnectEhloTls method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testConnectEhloTls() { | ||||
| 		$this->SmtpTransport->config(array('tls' => true)); | ||||
| 		$this->socket->expects($this->any())->method('connect')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(0))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue("220 Welcome message\r\n")); | ||||
| 		$this->socket->expects($this->at(2))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(3))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue("250 Accepted\r\n")); | ||||
| 		$this->socket->expects($this->at(5))->method('write')->with("STARTTLS\r\n"); | ||||
| 		$this->socket->expects($this->at(6))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue("220 Server ready\r\n")); | ||||
| 		$this->socket->expects($this->at(8))->method('enableCrypto')->with('tls')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(9))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(10))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(11))->method('read')->will($this->returnValue("250 Accepted\r\n")); | ||||
| 		$this->SmtpTransport->connect(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testConnectEhloTlsOnNonTlsServer method | ||||
|  * | ||||
|  * @expectedException SocketException | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testConnectEhloTlsOnNonTlsServer() { | ||||
| 		$this->SmtpTransport->config(array('tls' => true)); | ||||
| 		$this->socket->expects($this->any())->method('connect')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(0))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue("220 Welcome message\r\n")); | ||||
| 		$this->socket->expects($this->at(2))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(3))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue("250 Accepted\r\n")); | ||||
| 		$this->socket->expects($this->at(5))->method('write')->with("STARTTLS\r\n"); | ||||
| 		$this->socket->expects($this->at(6))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue("500 5.3.3 Unrecognized command\r\n")); | ||||
| 		$this->SmtpTransport->connect(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testConnectEhloNoTlsOnRequiredTlsServer method | ||||
|  * | ||||
|  * @expectedException SocketException | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testConnectEhloNoTlsOnRequiredTlsServer() { | ||||
| 		$this->SmtpTransport->config(array('tls' => false, 'username' => 'user', 'password' => 'pass')); | ||||
| 		$this->socket->expects($this->any())->method('connect')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(0))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue("220 Welcome message\r\n")); | ||||
| 		$this->socket->expects($this->at(2))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(3))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue("250 Accepted\r\n")); | ||||
| 		$this->socket->expects($this->at(5))->method('write')->with("AUTH LOGIN\r\n"); | ||||
| 		$this->socket->expects($this->at(6))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue("504 5.7.4 Unrecognized authentication type\r\n")); | ||||
| 		$this->SmtpTransport->connect(); | ||||
| 		$this->SmtpTransport->auth(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testConnectHelo method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testConnectHelo() { | ||||
| 		$this->socket->expects($this->any())->method('connect')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(0))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue("220 Welcome message\r\n")); | ||||
| 		$this->socket->expects($this->at(2))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(3))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue("200 Not Accepted\r\n")); | ||||
| 		$this->socket->expects($this->at(5))->method('write')->with("HELO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(6))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue("250 Accepted\r\n")); | ||||
| 		$this->SmtpTransport->connect(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testConnectFail method | ||||
|  * | ||||
|  * @expectedException SocketException | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testConnectFail() { | ||||
| 		$this->socket->expects($this->any())->method('connect')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(0))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue("220 Welcome message\r\n")); | ||||
| 		$this->socket->expects($this->at(2))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(3))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue("200 Not Accepted\r\n")); | ||||
| 		$this->socket->expects($this->at(5))->method('write')->with("HELO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(6))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue("200 Not Accepted\r\n")); | ||||
| 		$this->SmtpTransport->connect(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testAuth method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testAuth() { | ||||
| 		$this->socket->expects($this->at(0))->method('write')->with("AUTH LOGIN\r\n"); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(2))->method('read')->will($this->returnValue("334 Login\r\n")); | ||||
| 		$this->socket->expects($this->at(3))->method('write')->with("bWFyaw==\r\n"); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(5))->method('read')->will($this->returnValue("334 Pass\r\n")); | ||||
| 		$this->socket->expects($this->at(6))->method('write')->with("c3Rvcnk=\r\n"); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(8))->method('read')->will($this->returnValue("235 OK\r\n")); | ||||
| 		$this->SmtpTransport->config(array('username' => 'mark', 'password' => 'story')); | ||||
| 		$this->SmtpTransport->auth(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testAuthNoAuth method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testAuthNoAuth() { | ||||
| 		$this->socket->expects($this->any())->method('write')->with($this->logicalNot($this->stringContains('AUTH LOGIN'))); | ||||
| 
 | ||||
| 		$this->SmtpTransport->config(array('username' => null, 'password' => null)); | ||||
| 		$this->SmtpTransport->auth(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testRcpt method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testRcpt() { | ||||
| 		$email = new CakeEmail(); | ||||
| 		$email->from('noreply@cakephp.org', 'CakePHP Test'); | ||||
| 		$email->to('cake@cakephp.org', 'CakePHP'); | ||||
| 		$email->bcc('phpnut@cakephp.org'); | ||||
| 		$email->cc(array('mark@cakephp.org' => 'Mark Story', 'juan@cakephp.org' => 'Juan Basso')); | ||||
| 
 | ||||
| 		$this->socket->expects($this->at(0))->method('write')->with("MAIL FROM:<noreply@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(2))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 		$this->socket->expects($this->at(3))->method('write')->with("RCPT TO:<cake@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(5))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 		$this->socket->expects($this->at(6))->method('write')->with("RCPT TO:<mark@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(8))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 		$this->socket->expects($this->at(9))->method('write')->with("RCPT TO:<juan@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(10))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(11))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 		$this->socket->expects($this->at(12))->method('write')->with("RCPT TO:<phpnut@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(13))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(14))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 
 | ||||
| 		$this->SmtpTransport->setCakeEmail($email); | ||||
| 		$this->SmtpTransport->sendRcpt(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testRcptWithReturnPath method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testRcptWithReturnPath() { | ||||
| 		$email = new CakeEmail(); | ||||
| 		$email->from('noreply@cakephp.org', 'CakePHP Test'); | ||||
| 		$email->to('cake@cakephp.org', 'CakePHP'); | ||||
| 		$email->returnPath('pleasereply@cakephp.org', 'CakePHP Return'); | ||||
| 
 | ||||
| 		$this->socket->expects($this->at(0))->method('write')->with("MAIL FROM:<pleasereply@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(2))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 		$this->socket->expects($this->at(3))->method('write')->with("RCPT TO:<cake@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(5))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 
 | ||||
| 		$this->SmtpTransport->setCakeEmail($email); | ||||
| 		$this->SmtpTransport->sendRcpt(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testSendData method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testSendData() { | ||||
| 		$email = $this->getMock('CakeEmail', array('message'), array(), 'SmtpCakeEmail'); | ||||
| 		$email->from('noreply@cakephp.org', 'CakePHP Test'); | ||||
| 		$email->returnPath('pleasereply@cakephp.org', 'CakePHP Return'); | ||||
| 		$email->to('cake@cakephp.org', 'CakePHP'); | ||||
| 		$email->cc(array('mark@cakephp.org' => 'Mark Story', 'juan@cakephp.org' => 'Juan Basso')); | ||||
| 		$email->bcc('phpnut@cakephp.org'); | ||||
| 		$email->messageID('<4d9946cf-0a44-4907-88fe-1d0ccbdd56cb@localhost>'); | ||||
| 		$email->subject('Testing SMTP'); | ||||
| 		$date = date(DATE_RFC2822); | ||||
| 		$email->setHeaders(array('X-Mailer' => SmtpCakeEmail::EMAIL_CLIENT, 'Date' => $date)); | ||||
| 		$email->expects($this->once())->method('message')->will($this->returnValue(array('First Line', 'Second Line', '.Third Line', ''))); | ||||
| 
 | ||||
| 		$data = "From: CakePHP Test <noreply@cakephp.org>\r\n"; | ||||
| 		$data .= "To: CakePHP <cake@cakephp.org>\r\n"; | ||||
| 		$data .= "Cc: Mark Story <mark@cakephp.org>, Juan Basso <juan@cakephp.org>\r\n"; | ||||
| 		$data .= "X-Mailer: CakePHP Email\r\n"; | ||||
| 		$data .= "Date: " . $date . "\r\n"; | ||||
| 		$data .= "Message-ID: <4d9946cf-0a44-4907-88fe-1d0ccbdd56cb@localhost>\r\n"; | ||||
| 		$data .= "Subject: Testing SMTP\r\n"; | ||||
| 		$data .= "MIME-Version: 1.0\r\n"; | ||||
| 		$data .= "Content-Type: text/plain; charset=UTF-8\r\n"; | ||||
| 		$data .= "Content-Transfer-Encoding: 8bit\r\n"; | ||||
| 		$data .= "\r\n"; | ||||
| 		$data .= "First Line\r\n"; | ||||
| 		$data .= "Second Line\r\n"; | ||||
| 		$data .= "..Third Line\r\n"; // RFC5321 4.5.2.Transparency
 | ||||
| 		$data .= "\r\n"; | ||||
| 		$data .= "\r\n\r\n.\r\n"; | ||||
| 
 | ||||
| 		$this->socket->expects($this->at(0))->method('write')->with("DATA\r\n"); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(2))->method('read')->will($this->returnValue("354 OK\r\n")); | ||||
| 		$this->socket->expects($this->at(3))->method('write')->with($data); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(5))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 
 | ||||
| 		$this->SmtpTransport->setCakeEmail($email); | ||||
| 		$this->SmtpTransport->sendData(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testQuit method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testQuit() { | ||||
| 		$this->socket->expects($this->at(0))->method('write')->with("QUIT\r\n"); | ||||
| 		$this->SmtpTransport->disconnect(); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testEmptyConfigArray method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testEmptyConfigArray() { | ||||
| 		$expected = $this->SmtpTransport->config(array( | ||||
| 			'client' => 'myhost.com', | ||||
| 			'port' => 666 | ||||
| 		)); | ||||
| 
 | ||||
| 		$this->assertEquals(666, $expected['port']); | ||||
| 
 | ||||
| 		$result = $this->SmtpTransport->config(array()); | ||||
| 		$this->assertEquals($expected, $result); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testGetLastResponse method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testGetLastResponse() { | ||||
| 		$this->assertEmpty($this->SmtpTransport->getLastResponse()); | ||||
| 
 | ||||
| 		$this->socket->expects($this->any())->method('connect')->will($this->returnValue(true)); | ||||
| 		$this->socket->expects($this->at(0))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue("220 Welcome message\r\n")); | ||||
| 		$this->socket->expects($this->at(2))->method('write')->with("EHLO localhost\r\n"); | ||||
| 		$this->socket->expects($this->at(3))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue("250-PIPELINING\r\n")); | ||||
| 		$this->socket->expects($this->at(5))->method('read')->will($this->returnValue("250-SIZE 102400000\r\n")); | ||||
| 		$this->socket->expects($this->at(6))->method('read')->will($this->returnValue("250-VRFY\r\n")); | ||||
| 		$this->socket->expects($this->at(7))->method('read')->will($this->returnValue("250-ETRN\r\n")); | ||||
| 		$this->socket->expects($this->at(8))->method('read')->will($this->returnValue("250-STARTTLS\r\n")); | ||||
| 		$this->socket->expects($this->at(9))->method('read')->will($this->returnValue("250-AUTH PLAIN LOGIN\r\n")); | ||||
| 		$this->socket->expects($this->at(10))->method('read')->will($this->returnValue("250-AUTH=PLAIN LOGIN\r\n")); | ||||
| 		$this->socket->expects($this->at(11))->method('read')->will($this->returnValue("250-ENHANCEDSTATUSCODES\r\n")); | ||||
| 		$this->socket->expects($this->at(12))->method('read')->will($this->returnValue("250-8BITMIME\r\n")); | ||||
| 		$this->socket->expects($this->at(13))->method('read')->will($this->returnValue("250 DSN\r\n")); | ||||
| 		$this->SmtpTransport->connect(); | ||||
| 
 | ||||
| 		$expected = array( | ||||
| 			array('code' => '250', 'message' => 'PIPELINING'), | ||||
| 			array('code' => '250', 'message' => 'SIZE 102400000'), | ||||
| 			array('code' => '250', 'message' => 'VRFY'), | ||||
| 			array('code' => '250', 'message' => 'ETRN'), | ||||
| 			array('code' => '250', 'message' => 'STARTTLS'), | ||||
| 			array('code' => '250', 'message' => 'AUTH PLAIN LOGIN'), | ||||
| 			array('code' => '250', 'message' => 'AUTH=PLAIN LOGIN'), | ||||
| 			array('code' => '250', 'message' => 'ENHANCEDSTATUSCODES'), | ||||
| 			array('code' => '250', 'message' => '8BITMIME'), | ||||
| 			array('code' => '250', 'message' => 'DSN') | ||||
| 		); | ||||
| 		$result = $this->SmtpTransport->getLastResponse(); | ||||
| 		$this->assertEquals($expected, $result); | ||||
| 
 | ||||
| 		$email = new CakeEmail(); | ||||
| 		$email->from('noreply@cakephp.org', 'CakePHP Test'); | ||||
| 		$email->to('cake@cakephp.org', 'CakePHP'); | ||||
| 
 | ||||
| 		$this->socket->expects($this->at(0))->method('write')->with("MAIL FROM:<noreply@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(1))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(2))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 		$this->socket->expects($this->at(3))->method('write')->with("RCPT TO:<cake@cakephp.org>\r\n"); | ||||
| 		$this->socket->expects($this->at(4))->method('read')->will($this->returnValue(false)); | ||||
| 		$this->socket->expects($this->at(5))->method('read')->will($this->returnValue("250 OK\r\n")); | ||||
| 
 | ||||
| 		$this->SmtpTransport->setCakeEmail($email); | ||||
| 		$this->SmtpTransport->sendRcpt(); | ||||
| 
 | ||||
| 		$expected = array( | ||||
| 			array('code' => '250', 'message' => 'OK'), | ||||
| 		); | ||||
| 		$result = $this->SmtpTransport->getLastResponse(); | ||||
| 		$this->assertEquals($expected, $result); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testBufferResponseLines method | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testBufferResponseLines() { | ||||
| 		$reponseLines = array( | ||||
| 			'123', | ||||
| 			"456\tFOO", | ||||
| 			'FOOBAR', | ||||
| 			'250-PIPELINING', | ||||
| 			'250-ENHANCEDSTATUSCODES', | ||||
| 			'250-8BITMIME', | ||||
| 			'250 DSN', | ||||
| 		); | ||||
| 		$this->SmtpTransport->bufferResponseLines($reponseLines); | ||||
| 
 | ||||
| 		$expected = array( | ||||
| 			array('code' => '123', 'message' => null), | ||||
| 			array('code' => '250', 'message' => 'PIPELINING'), | ||||
| 			array('code' => '250', 'message' => 'ENHANCEDSTATUSCODES'), | ||||
| 			array('code' => '250', 'message' => '8BITMIME'), | ||||
| 			array('code' => '250', 'message' => 'DSN') | ||||
| 		); | ||||
| 		$result = $this->SmtpTransport->getLastResponse(); | ||||
| 		$this->assertEquals($expected, $result); | ||||
| 	} | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 mareksebera
						mareksebera