Code Duplication    Length = 30-31 lines in 3 locations

tests/integration/SqsIntegrationTest.php 3 locations

@@ 79-108 (lines=30) @@
76
        return $timeout;
77
    }
78
79
    public function testReceive()
80
    {
81
        $url = $this->stubCreateQueue();
82
        $timeout = $this->stubQueueVisibilityTimeout($url);
83
84
        $receiveModel = m::mock(ResultInterface::class);
85
        $receiveModel->shouldReceive('get')->once()->with('Messages')->andReturn([
86
            ['Body' => 'foo', 'Attributes' => [], 'MessageAttributes' => [], 'MessageId' => 0, 'ReceiptHandle' => 'a'],
87
        ]);
88
        $this->sqsClient->shouldReceive('receiveMessage')->once()->with([
89
            'QueueUrl'            => $url,
90
            'AttributeNames'      => ['All'],
91
            'MaxNumberOfMessages' => 1,
92
            'VisibilityTimeout'   => $timeout,
93
        ])->andReturn($receiveModel);
94
95
        $deleteModel = m::mock(ResultInterface::class);
96
        $deleteModel->shouldReceive('get')->once()->with('Failed')->andReturn([]);
97
        $this->sqsClient->shouldReceive('deleteMessageBatch')->once()->with([
98
            'QueueUrl' => $url,
99
            'Entries'  => [['Id' => 0, 'ReceiptHandle' => 'a']],
100
        ])->andReturn($deleteModel);
101
102
        $msgs = [];
103
        $this->client->receive(function ($msg) use (&$msgs) {
104
            $msgs[] = $msg;
105
        });
106
107
        assertThat($msgs, is(arrayWithSize(1)));
108
    }
109
110
    public function testReceiveWithReceiveMessageReturningLessThanMaxNumberOfMessages()
111
    {
@@ 204-234 (lines=31) @@
201
        assertThat($msgs, is(arrayWithSize(11)));
202
    }
203
204
    public function testReceiveWithLimit()
205
    {
206
        $url = $this->stubCreateQueue();
207
        $timeout = $this->stubQueueVisibilityTimeout($url);
208
209
        $receiveModel = m::mock(ResultInterface::class);
210
        $receiveModel->shouldReceive('get')->once()->with('Messages')->andReturn([
211
            ['Body' => 'foo', 'Attributes' => [], 'MessageAttributes' => [], 'MessageId' => 0, 'ReceiptHandle' => 'a'],
212
        ]);
213
        $this->sqsClient->shouldReceive('receiveMessage')->once()->with([
214
            'QueueUrl'            => $url,
215
            'AttributeNames'      => ['All'],
216
            'MaxNumberOfMessages' => SqsAdapter::BATCHSIZE_RECEIVE,
217
            'VisibilityTimeout'   => $timeout,
218
        ])->andReturn($receiveModel);
219
220
        $deleteModel = m::mock(ResultInterface::class);
221
        $deleteModel->shouldReceive('get')->once()->with('Failed')->andReturn([]);
222
        $this->sqsClient->shouldReceive('deleteMessageBatch')->once()->with([
223
            'QueueUrl' => $url,
224
            'Entries'  => [['Id' => 0, 'ReceiptHandle' => 'a']],
225
        ])->andReturn($deleteModel);
226
227
        $msgs = [];
228
        $this->client->receive(function ($msg, $done) use (&$msgs) {
229
            $msgs[] = $msg;
230
            $done();
231
        }, 100);
232
233
        assertThat($msgs, is(arrayWithSize(1)));
234
    }
235
236
    public function testReceiveWithPolling()
237
    {
@@ 236-266 (lines=31) @@
233
        assertThat($msgs, is(arrayWithSize(1)));
234
    }
235
236
    public function testReceiveWithPolling()
237
    {
238
        $url = $this->stubCreateQueue();
239
        $timeout = $this->stubQueueVisibilityTimeout($url);
240
241
        $receiveModel = m::mock(ResultInterface::class);
242
        $receiveModel->shouldReceive('get')->once()->with('Messages')->andReturn([
243
            ['Body' => 'foo', 'Attributes' => [], 'MessageAttributes' => [], 'MessageId' => 0, 'ReceiptHandle' => 'a'],
244
        ]);
245
        $this->sqsClient->shouldReceive('receiveMessage')->once()->with([
246
            'QueueUrl'            => $url,
247
            'AttributeNames'      => ['All'],
248
            'MaxNumberOfMessages' => SqsAdapter::BATCHSIZE_RECEIVE,
249
            'VisibilityTimeout'   => $timeout,
250
        ])->andReturn($receiveModel);
251
252
        $deleteModel = m::mock(ResultInterface::class);
253
        $deleteModel->shouldReceive('get')->once()->with('Failed')->andReturn([]);
254
        $this->sqsClient->shouldReceive('deleteMessageBatch')->once()->with([
255
            'QueueUrl' => $url,
256
            'Entries'  => [['Id' => 0, 'ReceiptHandle' => 'a']],
257
        ])->andReturn($deleteModel);
258
259
        $msgs = [];
260
        $this->client->receive(function ($msg, $done) use (&$msgs) {
261
            $msgs[] = $msg;
262
            $done();
263
        }, null);
264
265
        assertThat($msgs, is(arrayWithSize(1)));
266
    }
267
268
    public function testSend()
269
    {