public function setUp() { $config = (include 'config.php'); $this->user = new User(); $this->user->id = 1; $this->user->email = $config['email']; $this->user->name = 'CMB Test'; $this->imap = new \Fetch\Server($config['server_path'], $config['port']); $this->imap->setAuthentication($config['login'], $config['password']); $this->imap->setMailBox($config['mailbox']); $this->conn = \Doctrine\DBAL\DriverManager::getConnection(array('driver' => 'pdo_sqlite', 'user' => 'root', 'password' => 'root', 'memory' => true)); $data_provider = new DataProviderDoctrine($this->conn); $purchase_service = new \shina\controlmybudget\PurchaseService($data_provider); $this->mail_importer = $this->makeImporter($this->imap, $purchase_service); }
/** * This function is used to move a mail to the given mailbox. * * @param $mailbox * * @return bool */ public function moveToMailBox($mailbox) { $currentBox = $this->imapConnection->getMailBox(); $this->imapConnection->setMailBox($this->mailbox); $returnValue = imap_mail_copy($this->imapStream, $this->uid, $mailbox, CP_UID | CP_MOVE); imap_expunge($this->imapStream); $this->mailbox = $mailbox; $this->imapConnection->setMailBox($currentBox); return $returnValue; }
public function import() { $imap = new Server($this->server, $this->port); $imap->setAuthentication($this->username, $this->password); $imap->setMailBox($this->mailbox); $dataProvider = new DataProvider(); $purchaseService = new PurchaseService($dataProvider); $user_service = new UserService($dataProvider, new Client()); $user = $user_service->getById($this->backend_users_id); $importer = new ImporterService(); $importer->addImporter(new MailItauCardImport($imap, $purchaseService)); $importer->addImporter(new MailItauDebitImport($imap, $purchaseService)); $importer->addImporter(new MailItauWithdrawImport($imap, $purchaseService)); $importer->addImporter(new MailItauUniclassDebitImport($imap, $purchaseService)); if ($this->is_first_time) { $importer->import(null, $user); $this->is_first_time = false; $this->save(); } else { $importer->import(10, $user); } }
/** * @dataProvider dpGetServerString * * @param string $server_address * @param int $server_port * @param string $service * @param string $mailbox * @param string $expected */ public function testGetServerString($server_address, $server_port, $service, $mailbox, $expected) { $server = new Server($server_address, $server_port, $service); $server->setMailBox($mailbox); $this->assertEquals($expected, $server->getServerString()); }