1: <?php
2:
3: /**
4: * Avisota newsletter and mailing system
5: *
6: * PHP Version 5.3
7: *
8: * @copyright bit3 UG 2013
9: * @author Tristan Lins <tristan.lins@bit3.de>
10: * @package avisota-core
11: * @license LGPL-3.0+
12: * @link http://avisota.org
13: */
14:
15: namespace Avisota\Test\Transport;
16:
17: use Avisota\Message\MessageInterface;
18: use Avisota\Transport\TransportInterface;
19: use Avisota\Transport\TransportStatus;
20:
21: class NoOpTransport implements TransportInterface
22: {
23: const SUCCEED = 'succeed';
24:
25: const SUCCEED_PARTIAL = 'partial';
26:
27: const FAILED = 'failed';
28:
29: protected $messages = array();
30:
31: protected $succeededStatus;
32:
33: function __construct($succeededStatus)
34: {
35: $this->succeededStatus = $succeededStatus;
36: }
37:
38: /**
39: * @return array
40: */
41: public function getMessages()
42: {
43: return $this->messages;
44: }
45:
46: /**
47: * Initialise transport.
48: */
49: public function initialise()
50: {
51: }
52:
53: /**
54: * Transport a message.
55: *
56: * @param MessageInterface $message
57: *
58: * @return TransportStatus
59: */
60: public function send(MessageInterface $message)
61: {
62: $this->messages[] = $message;
63:
64: switch ($this->succeededStatus) {
65: case static::SUCCEED:
66: return new TransportStatus($message, 1);
67:
68: case static::SUCCEED_PARTIAL:
69: return new TransportStatus($message, 1, $message->getRecipients());
70:
71: case static::FAILED:
72: return new TransportStatus($message, 0, $message->getRecipients());
73: }
74: }
75:
76: /**
77: * Flush transport.
78: */
79: public function flush()
80: {
81: }
82: }