/** * Tests if the user agent doesn't include any usages of ads utilities when * isIncludeUtilitiesInUserAgent is false. * * @covers AdsUser::setIncludeUtilitiesInUserAgent * @covers AdsUser::updateClientLibraryUserAgent * @covers AdWordsUser::__construct */ public function testUpdateClientLibraryUserAgent_isIncludeUtilitiesInUserAgent_false() { $USER_AGENT = 'AdWordsApiPhpClient-test'; $LIB_NAME = 'AwApi-PHP'; $COMMON_NAME = 'Common-PHP'; $VERSION_REGEX = '\\d{1,2}\\.\\d{1,2}\\.\\d{1,2}'; $user = new AdWordsUser($this->authIniFilePath, 'devToken', $USER_AGENT, null, null, $this->mockOAuth2Credential); $user->setIncludeUtilitiesInUserAgent('false'); AdsUtilityRegistry::getInstance()->addUtility('BatchJobHelper'); $user->updateClientLibraryUserAgent($user->GetUserAgent()); // Example: "AdWordsApiPhpClient-test (AwApi-PHP/9.0.0, Common-PHP/9.0.0, // PHP/5.4.8)" $expectedUserAgents = sprintf('/^%s \\(%s\\/%s, %s\\/%s, PHP\\/%s\\)$/', preg_quote($user->GetUserAgent()), preg_quote($LIB_NAME), $VERSION_REGEX, preg_quote($COMMON_NAME), $VERSION_REGEX, preg_quote(PHP_VERSION)); $this->assertRegExp($expectedUserAgents, $user->GetClientLibraryUserAgent()); }