chrisbryan17's picture
Upload folder using huggingface_hub
d2897cd verified
<?php
namespace Mautic\EmailBundle\Tests\MonitoredEmail\Processor;
use Mautic\CoreBundle\Translation\Translator;
use Mautic\EmailBundle\Entity\Email;
use Mautic\EmailBundle\Entity\Stat;
use Mautic\EmailBundle\MonitoredEmail\Message;
use Mautic\EmailBundle\MonitoredEmail\Processor\FeedbackLoop;
use Mautic\EmailBundle\MonitoredEmail\Search\ContactFinder;
use Mautic\EmailBundle\MonitoredEmail\Search\Result;
use Mautic\LeadBundle\Entity\Lead;
use Mautic\LeadBundle\Model\DoNotContact;
use Monolog\Logger;
class FeedbackLoopTest extends \PHPUnit\Framework\TestCase
{
/**
* @testdox Test that the message is processed appropriately
*
* @covers \Mautic\EmailBundle\MonitoredEmail\Processor\FeedbackLoop::process
* @covers \Mautic\EmailBundle\MonitoredEmail\Search\Result::getStat
* @covers \Mautic\EmailBundle\MonitoredEmail\Search\Result::getContacts
*/
public function testContactIsFoundFromMessage(): void
{
$contactFinder = $this->getMockBuilder(ContactFinder::class)
->disableOriginalConstructor()
->getMock();
$contactFinder->method('find')
->willReturnCallback(
function ($email) {
$stat = new Stat();
$lead = new Lead();
$lead->setEmail($email);
$stat->setLead($lead);
$email = new Email();
$stat->setEmail($email);
$result = new Result();
$result->setStat($stat);
$result->setContacts(
[
$lead,
]
);
return $result;
}
);
$translator = $this->getMockBuilder(Translator::class)
->disableOriginalConstructor()
->getMock();
$logger = $this->getMockBuilder(Logger::class)
->disableOriginalConstructor()
->getMock();
$doNotContact = $this->getMockBuilder(DoNotContact::class)
->disableOriginalConstructor()
->getMock();
$processor = new FeedbackLoop($contactFinder, $translator, $logger, $doNotContact);
$message = new Message();
$message->fblReport = <<<'BODY'
Feedback-Type: abuse
User-Agent: SomeGenerator/1.0
Version: 1
Original-Mail-From: <[email protected]>
Original-Rcpt-To: <[email protected]>
Received-Date: Thu, 8 Mar 2005 14:00:00 EDT
Source-IP: 192.0.2.2
Authentication-Results: mail.example.com
[email protected];
spf=fail
Reported-Domain: example.net
Reported-Uri: http://example.net/earn_money.html
Reported-Uri: mailto:[email protected]
Removal-Recipient: [email protected]
BODY;
$this->assertTrue($processor->process($message));
}
}