Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
fetchApp example
$client
->
request
(
'POST', '/api/oauth/token',
$authPayload
)
;
static
::
assertSame
(
Response::HTTP_BAD_REQUEST,
$client
->
getResponse
(
)
->
getStatusCode
(
)
)
;
}
public
function
testLoginFailsForInactiveApp
(
)
: void
{
$path
= __DIR__ . '/../../../../../../tests/integration/Core/Framework/App/Manifest/_fixtures/test';
$this
->
loadAppsFromDir
(
$path
, false
)
;
$browser
=
$this
->
createClient
(
)
;
$app
=
$this
->
fetchApp
(
'test'
)
;
static
::
assertNotNull
(
$app
)
;
$accessKey
= AccessKeyHelper::
generateAccessKey
(
'integration'
)
;
$secret
= AccessKeyHelper::
generateSecretAccessKey
(
)
;
$this
->
setAccessTokenForIntegration
(
$app
->
getIntegrationId
(
)
,
$accessKey
,
$secret
)
;
$authPayload
=
[
'grant_type' => 'client_credentials',
'client_id' =>
$accessKey
,
'client_secret' =>
$secret
,
]
;
use
AdminApiTestBehaviour;
use
AppSystemTestBehaviour;
use
IntegrationTestBehaviour;
public
function
testLoginFailsForInactiveApp
(
)
: void
{
$fixturesPath
= __DIR__ . '/../../../../../../tests/integration/Core/Framework/App/Manifest/_fixtures/test';
$this
->
loadAppsFromDir
(
$fixturesPath
, false
)
;
$browser
=
$this
->
createClient
(
)
;
$app
=
$this
->
fetchApp
(
'test'
)
;
static
::
assertNotNull
(
$app
)
;
$accessKey
= AccessKeyHelper::
generateAccessKey
(
'integration'
)
;
$secret
= AccessKeyHelper::
generateSecretAccessKey
(
)
;
$this
->
setAccessTokenForIntegration
(
$app
->
getIntegrationId
(
)
,
$accessKey
,
$secret
)
;
$authPayload
=
[
'grant_type' => 'client_credentials',
'client_id' =>
$accessKey
,
'client_secret' =>
$secret
,
]
;
static
::
assertEquals
(
204,
$browser
->
getResponse
(
)
->
getStatusCode
(
)
)
;
/** @var ProductEntity $product */
$product
=
$productRepository
->
search
(
new
Criteria
(
)
,
$context
)
->
getEntities
(
)
->
get
(
$productId
)
;
static
::
assertNotNull
(
$product
)
;
static
::
assertEquals
(
$newName
,
$product
->
getName
(
)
)
;
}
private
function
authorizeBrowserWithIntegrationByAppName
(
KernelBrowser
$browser
, string
$appName
)
: void
{
$app
=
$this
->
fetchApp
(
$appName
)
;
if
(
!
$app
)
{
throw
new
\
RuntimeException
(
'No app found with name: ' .
$appName
)
;
}
$accessKey
= AccessKeyHelper::
generateAccessKey
(
'integration'
)
;
$secret
= AccessKeyHelper::
generateSecretAccessKey
(
)
;
$this
->
setAccessTokenForIntegration
(
$app
->
getIntegrationId
(
)
,
$accessKey
,
$secret
)
;
$authPayload
=
[
'grant_type' => 'client_credentials',
$uriWithoutQuery
=
$registrationRequest
->
getUri
(
)
->
withQuery
(
''
)
;
static
::
assertEquals
(
$setup
->
getRegistrationUrl
(
)
,
(string)
$uriWithoutQuery
)
;
static
::
assertNotEmpty
(
$registrationRequest
->
getHeaderLine
(
'sw-version'
)
)
;
static
::
assertNotEmpty
(
$registrationRequest
->
getHeaderLine
(
AuthMiddleware::SHOPWARE_USER_LANGUAGE
)
)
;
static
::
assertNotEmpty
(
$registrationRequest
->
getHeaderLine
(
AuthMiddleware::SHOPWARE_CONTEXT_LANGUAGE
)
)
;
$secret
=
$setup
->
getSecret
(
)
;
static
::
assertNotNull
(
$secret
)
;
$this
->
assertRequestIsSigned
(
$registrationRequest
,
$secret
)
;
$app
=
$this
->
fetchApp
(
$id
)
;
static
::
assertEquals
(
TestAppServer::APP_SECRET,
$app
->
getAppSecret
(
)
)
;
static
::
assertEquals
(
2,
$this
->
getRequestCount
(
)
)
;
$confirmationReq
=
$this
->
getPastRequest
(
1
)
;
static
::
assertEquals
(
'POST',
$confirmationReq
->
getMethod
(
)
)
;
$postBody
= \
json_decode
(
$confirmationReq
->
getBody
(
)
->
getContents
(
)
, true, 512, \JSON_THROW_ON_ERROR
)
;
static
::
assertEquals
(
$secretAccessKey
,
$postBody
[
'secretKey'
]
)
;