-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathSqsDestinationTest.php
More file actions
106 lines (80 loc) · 3.55 KB
/
Copy pathSqsDestinationTest.php
File metadata and controls
106 lines (80 loc) · 3.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
namespace Enqueue\Sqs\Tests;
use Enqueue\Sqs\SqsDestination;
use Enqueue\Test\ClassExtensionTrait;
use Interop\Queue\Queue;
use Interop\Queue\Topic;
use PHPUnit\Framework\TestCase;
class SqsDestinationTest extends TestCase
{
use ClassExtensionTrait;
public function testShouldImplementsTopicAndQueueInterfaces()
{
$this->assertClassImplements(Topic::class, SqsDestination::class);
$this->assertClassImplements(Queue::class, SqsDestination::class);
}
public function testShouldReturnNameSetInConstructor()
{
$destination = new SqsDestination('aDestinationName');
$this->assertSame('aDestinationName', $destination->getQueueName());
$this->assertSame('aDestinationName', $destination->getTopicName());
}
public function testCouldSetDelaySecondsAttribute()
{
$destination = new SqsDestination('aDestinationName');
$destination->setDelaySeconds(12345);
$this->assertSame(['DelaySeconds' => 12345], $destination->getAttributes());
}
public function testCouldSetMaximumMessageSizeAttribute()
{
$destination = new SqsDestination('aDestinationName');
$destination->setMaximumMessageSize(12345);
$this->assertSame(['MaximumMessageSize' => 12345], $destination->getAttributes());
}
public function testCouldSetMessageRetentionPeriodAttribute()
{
$destination = new SqsDestination('aDestinationName');
$destination->setMessageRetentionPeriod(12345);
$this->assertSame(['MessageRetentionPeriod' => 12345], $destination->getAttributes());
}
public function testCouldSetPolicyAttribute()
{
$destination = new SqsDestination('aDestinationName');
$destination->setPolicy('thePolicy');
$this->assertSame(['Policy' => 'thePolicy'], $destination->getAttributes());
}
public function testCouldSetReceiveMessageWaitTimeSecondsAttribute()
{
$destination = new SqsDestination('aDestinationName');
$destination->setReceiveMessageWaitTimeSeconds(12345);
$this->assertSame(['ReceiveMessageWaitTimeSeconds' => 12345], $destination->getAttributes());
}
public function testCouldSetRedrivePolicyAttribute()
{
$destination = new SqsDestination('aDestinationName');
$destination->setRedrivePolicy(12345, 'theDeadQueueArn');
$this->assertSame(['RedrivePolicy' => '{"maxReceiveCount":"12345","deadLetterTargetArn":"theDeadQueueArn"}'], $destination->getAttributes());
}
public function testCouldSetVisibilityTimeoutAttribute()
{
$destination = new SqsDestination('aDestinationName');
$destination->setVisibilityTimeout(12345);
$this->assertSame(['VisibilityTimeout' => '12345'], $destination->getAttributes());
}
public function testCouldSetFifoQueueAttributeAndUnsetIt()
{
$destination = new SqsDestination('aDestinationName');
$destination->setFifoQueue(true);
$this->assertSame(['FifoQueue' => 'true'], $destination->getAttributes());
$destination->setFifoQueue(false);
$this->assertSame([], $destination->getAttributes());
}
public function testCouldSetContentBasedDeduplicationAttributeAndUnsetIt()
{
$destination = new SqsDestination('aDestinationName');
$destination->setContentBasedDeduplication(true);
$this->assertSame(['ContentBasedDeduplication' => 'true'], $destination->getAttributes());
$destination->setContentBasedDeduplication(false);
$this->assertSame([], $destination->getAttributes());
}
}