Skip to content

Commit fba333f

Browse files
committed
RequestSigner::signToRequestAuthorization test
1 parent ee3dee6 commit fba333f

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

tests/RequestSigning/RequestSignerTest.php

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,50 @@ public function testSign()
7575
$this->assertTrue($expectedHeaderPart);
7676
}
7777
}
78+
79+
public function testSignToRequestAuthorization()
80+
{
81+
$callbackUri = 'https://example.com/callback';
82+
$expectedHeaderParts = [
83+
'oauth_consumer_key' => false,
84+
'oauth_nonce' => false,
85+
'oauth_signature_method' => false,
86+
'oauth_timestamp' => false,
87+
'oauth_version' => false,
88+
'oauth_callback' => false,
89+
'oauth_signature' => false,
90+
];
91+
$request = new Request(
92+
'POST',
93+
'httpx://example.com/',
94+
[
95+
'Content-Type' => 'application/x-www-form-urlencoded',
96+
]
97+
);
98+
$requestSigner = new RequestSigner(
99+
new ConsumerKey('consumer_key'),
100+
new ConsumerSecret('consumer_secret')
101+
);
102+
103+
$signedRequest = $requestSigner->signToRequestAuthorization($request, $callbackUri);
104+
105+
$this->assertNotSame($request, $signedRequest);
106+
$this->assertTrue($signedRequest->hasHeader('Authorization'));
107+
$headerChunks = explode(' ', current($signedRequest->getHeader('Authorization')));
108+
$this->assertCount(2, $headerChunks);
109+
$this->assertSame('OAuth', $headerChunks[0]);
110+
111+
$headerChunks = explode(',', $headerChunks[1]);
112+
$this->assertCount(count($expectedHeaderParts), $headerChunks);
113+
foreach ($headerChunks as $headerChunk) {
114+
list($key, $value) = explode('=', $headerChunk);
115+
$this->assertTrue(isset($expectedHeaderParts[$key]));
116+
$expectedHeaderParts[$key] = true;
117+
}
118+
119+
foreach ($expectedHeaderParts as $expectedHeaderPart) {
120+
$this->assertInternalType('bool', $expectedHeaderPart);
121+
$this->assertTrue($expectedHeaderPart);
122+
}
123+
}
78124
}

0 commit comments

Comments
 (0)