Skip to content

Commit

Permalink
Improve error message for invalid keys in StripeClient
Browse files Browse the repository at this point in the history
  • Loading branch information
remi-stripe committed Nov 30, 2020
1 parent 0dc50f4 commit 25827cd
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
5 changes: 4 additions & 1 deletion lib/BaseStripeClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,10 @@ private function validateConfig($config)
// check absence of extra keys
$extraConfigKeys = \array_diff(\array_keys($config), \array_keys($this->getDefaultConfig()));
if (!empty($extraConfigKeys)) {
throw new \Stripe\Exception\InvalidArgumentException('Found unknown key(s) in configuration array: ' . \implode(',', $extraConfigKeys));
// Wrap in single quote to more easily catch trailing spaces errors
$invalidKeys = "'" . \implode("', '", $extraConfigKeys) . "'";

throw new \Stripe\Exception\InvalidArgumentException('Found unknown key(s) in configuration array: ' . $invalidKeys);
}
}
}
4 changes: 2 additions & 2 deletions tests/Stripe/BaseStripeClientTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ public function testCtorThrowsIfApiKeyIsUnexpectedType()
public function testCtorThrowsIfConfigArrayContainsUnexpectedKey()
{
$this->expectException(\Stripe\Exception\InvalidArgumentException::class);
$this->expectExceptionMessage('Found unknown key(s) in configuration array: foo');
$this->expectExceptionMessage('Found unknown key(s) in configuration array: \'foo\', \'foo2\'');

$client = new BaseStripeClient(['foo' => 'bar']);
$client = new BaseStripeClient(['foo' => 'bar', 'foo2' => 'bar2']);
}

public function testRequestWithClientApiKey()
Expand Down

0 comments on commit 25827cd

Please sign in to comment.