Skip to content

Commit

Permalink
Merge pull request #58 from oat-sa/feature/TR-5944/upgrade-dependencies
Browse files Browse the repository at this point in the history
BREAKING CHANGE TR-5944 upgrade dependencies, removing `Http\Message\ResponseFactory` from dependencies
  • Loading branch information
wazelin committed Dec 22, 2023
2 parents dfddae7 + 7b1d4e6 commit 6eac71f
Show file tree
Hide file tree
Showing 17 changed files with 54 additions and 110 deletions.
14 changes: 9 additions & 5 deletions .github/workflows/build.yaml
@@ -1,6 +1,10 @@
name: Build

on: push
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:
Expand All @@ -9,11 +13,11 @@ jobs:
strategy:
fail-fast: false
matrix:
php: [7.2, 7.3, 7.4]
coverage: ["true"]
php: [8.0, 8.1, 8.2, 8.3]
coverage: ["false"]
include:
- php: 8.0
coverage: "false" # PHPUnit 8.5.14 doesn't support code coverage under PHP 8
- php: 8.3
coverage: "true" # Collecting coverage reports only once

steps:
- name: Checkout
Expand Down
9 changes: 6 additions & 3 deletions composer.json
Expand Up @@ -4,12 +4,15 @@
"type": "library",
"license": "GPL-2.0-only",
"require": {
"php": ">=8.0.0",
"ext-json": "*",
"php": ">=7.2.0",
"oat-sa/lib-lti1p3-core": "^6.0"
"nesbot/carbon": "^2.72",
"nyholm/psr7": "^1.8",
"oat-sa/lib-lti1p3-core": "^7.0",
"psr/http-message": "^1.1"
},
"require-dev": {
"phpunit/phpunit": "^8.5.14",
"phpunit/phpunit": "^9.6",
"php-coveralls/php-coveralls": "^2.4",
"psalm/plugin-phpunit": "^0.15.1",
"vimeo/psalm": "^4.6"
Expand Down
42 changes: 17 additions & 25 deletions phpunit.xml.dist
@@ -1,28 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>

<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/8.5/phpunit.xsd"
backupGlobals="false"
colors="true"
>

<php>
<env name="TEST_KEYS_ROOT_DIR" value="file://vendor/oat-sa/lib-lti1p3-core/tests/Resource/Key/RSA" />
</php>

<testsuites>
<testsuite name="Integration">
<directory>tests/Integration</directory>
</testsuite>
<testsuite name="Unit">
<directory>tests/Unit</directory>
</testsuite>
</testsuites>

<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory>src</directory>
</whitelist>
</filter>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" colors="true">
<coverage processUncoveredFiles="true">
<include>
<directory>src</directory>
</include>
</coverage>
<php>
<env name="TEST_KEYS_ROOT_DIR" value="file://vendor/oat-sa/lib-lti1p3-core/tests/Resource/Key/RSA"/>
</php>
<testsuites>
<testsuite name="Integration">
<directory>tests/Integration</directory>
</testsuite>
<testsuite name="Unit">
<directory>tests/Unit</directory>
</testsuite>
</testsuites>
</phpunit>
Expand Up @@ -22,8 +22,7 @@

namespace OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler;

use Http\Message\ResponseFactory;
use Nyholm\Psr7\Factory\HttplugFactory;
use Nyholm\Psr7\Response;
use OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface;
use OAT\Library\Lti1p3Ags\Serializer\LineItem\LineItemSerializer;
use OAT\Library\Lti1p3Ags\Serializer\LineItem\LineItemSerializerInterface;
Expand All @@ -48,21 +47,16 @@ class CreateLineItemServiceServerRequestHandler implements LtiServiceServerReque
/** @var LineItemSerializerInterface */
private $serializer;

/** @var ResponseFactory */
private $factory;

/** @var LoggerInterface */
protected $logger;

public function __construct(
LineItemRepositoryInterface $repository,
?LineItemSerializerInterface $serializer = null,
?ResponseFactory $factory = null,
?LoggerInterface $logger = null
) {
$this->repository = $repository;
$this->serializer = $serializer ?? new LineItemSerializer();
$this->factory = $factory ?? new HttplugFactory();
$this->logger = $logger ?? new NullLogger();
}

Expand Down Expand Up @@ -100,7 +94,7 @@ public function handleValidatedServiceRequest(
} catch (LtiExceptionInterface $exception) {
$this->logger->error($exception->getMessage());

return $this->factory->createResponse(400, null, [], $exception->getMessage());
return new Response(400, [], $exception->getMessage());
}

$lineItem = $this->repository->save($lineItem);
Expand All @@ -111,6 +105,6 @@ public function handleValidatedServiceRequest(
'Content-Length' => strlen($responseBody),
];

return $this->factory->createResponse(201, null, $responseHeaders, $responseBody);
return new Response(201, $responseHeaders, $responseBody);
}
}
Expand Up @@ -22,8 +22,7 @@

namespace OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler;

use Http\Message\ResponseFactory;
use Nyholm\Psr7\Factory\HttplugFactory;
use Nyholm\Psr7\Response;
use OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface;
use OAT\Library\Lti1p3Ags\Service\LineItem\LineItemServiceInterface;
use OAT\Library\Lti1p3Core\Security\OAuth2\Validator\Result\RequestAccessTokenValidationResultInterface;
Expand All @@ -41,19 +40,14 @@ class DeleteLineItemServiceServerRequestHandler implements LtiServiceServerReque
/** @var LineItemRepositoryInterface */
private $repository;

/** @var ResponseFactory */
private $factory;

/** @var LoggerInterface */
protected $logger;

public function __construct(
LineItemRepositoryInterface $repository,
?ResponseFactory $factory = null,
?LoggerInterface $logger = null
) {
$this->repository = $repository;
$this->factory = $factory ?? new HttplugFactory();
$this->logger = $logger ?? new NullLogger();
}

Expand Down Expand Up @@ -95,11 +89,11 @@ public function handleValidatedServiceRequest(

$this->logger->error($message);

return $this->factory->createResponse(404, null, [], $message);
return new Response(404, [], $message);
}

$this->repository->delete($lineItemIdentifier);

return $this->factory->createResponse(204);
return new Response(204);
}
}
Expand Up @@ -22,8 +22,7 @@

namespace OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler;

use Http\Message\ResponseFactory;
use Nyholm\Psr7\Factory\HttplugFactory;
use Nyholm\Psr7\Response;
use OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface;
use OAT\Library\Lti1p3Ags\Serializer\LineItem\LineItemSerializer;
use OAT\Library\Lti1p3Ags\Serializer\LineItem\LineItemSerializerInterface;
Expand All @@ -46,21 +45,16 @@ class GetLineItemServiceServerRequestHandler implements LtiServiceServerRequestH
/** @var LineItemSerializerInterface */
private $serializer;

/** @var ResponseFactory */
private $factory;

/** @var LoggerInterface */
protected $logger;

public function __construct(
LineItemRepositoryInterface $repository,
?LineItemSerializerInterface $serializer = null,
?ResponseFactory $factory = null,
?LoggerInterface $logger = null
) {
$this->repository = $repository;
$this->serializer = $serializer ?? new LineItemSerializer();
$this->factory = $factory ?? new HttplugFactory();
$this->logger = $logger ?? new NullLogger();
}

Expand Down Expand Up @@ -104,7 +98,7 @@ public function handleValidatedServiceRequest(

$this->logger->error($message);

return $this->factory->createResponse(404, null, [], $message);
return new Response(404, [], $message);
}

$responseBody = $this->serializer->serialize($lineItem);
Expand All @@ -113,6 +107,6 @@ public function handleValidatedServiceRequest(
'Content-Length' => strlen($responseBody),
];

return $this->factory->createResponse(200, null, $responseHeaders, $responseBody);
return new Response(200, $responseHeaders, $responseBody);
}
}
Expand Up @@ -22,8 +22,7 @@

namespace OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler;

use Http\Message\ResponseFactory;
use Nyholm\Psr7\Factory\HttplugFactory;
use Nyholm\Psr7\Response;
use OAT\Library\Lti1p3Ags\Model\LineItem\LineItemContainerInterface;
use OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface;
use OAT\Library\Lti1p3Ags\Serializer\LineItem\LineItemCollectionSerializer;
Expand All @@ -50,19 +49,14 @@ class ListLineItemsServiceServerRequestHandler implements LtiServiceServerReques
/** @var UrlBuilderInterface */
private $builder;

/** @var ResponseFactory */
private $factory;

public function __construct(
LineItemRepositoryInterface $repository,
?LineItemCollectionSerializerInterface $serializer = null,
?UrlBuilderInterface $builder = null,
?ResponseFactory $factory = null
) {
$this->repository = $repository;
$this->serializer = $serializer ?? new LineItemCollectionSerializer();
$this->builder = $builder ?? new UrlBuilder();
$this->factory = $factory ?? new HttplugFactory();
}

public function getServiceName(): string
Expand Down Expand Up @@ -130,6 +124,6 @@ public function handleValidatedServiceRequest(
);
}

return $this->factory->createResponse(200, null, $responseHeaders, $responseBody);
return new Response(200, $responseHeaders, $responseBody);
}
}
Expand Up @@ -22,8 +22,7 @@

namespace OAT\Library\Lti1p3Ags\Service\LineItem\Server\Handler;

use Http\Message\ResponseFactory;
use Nyholm\Psr7\Factory\HttplugFactory;
use Nyholm\Psr7\Response;
use OAT\Library\Lti1p3Ags\Repository\LineItemRepositoryInterface;
use OAT\Library\Lti1p3Ags\Serializer\LineItem\LineItemSerializer;
use OAT\Library\Lti1p3Ags\Serializer\LineItem\LineItemSerializerInterface;
Expand All @@ -48,21 +47,16 @@ class UpdateLineItemServiceServerRequestHandler implements LtiServiceServerReque
/** @var LineItemSerializerInterface */
private $serializer;

/** @var ResponseFactory */
private $factory;

/** @var LoggerInterface */
protected $logger;

public function __construct(
LineItemRepositoryInterface $repository,
?LineItemSerializerInterface $serializer = null,
?ResponseFactory $factory = null,
?LoggerInterface $logger = null
) {
$this->repository = $repository;
$this->serializer = $serializer ?? new LineItemSerializer();
$this->factory = $factory ?? new HttplugFactory();
$this->logger = $logger ?? new NullLogger();
}

Expand Down Expand Up @@ -104,15 +98,15 @@ public function handleValidatedServiceRequest(

$this->logger->error($message);

return $this->factory->createResponse(404, null, [], $message);
return new Response(404, [], $message);
}

try {
$updatedLineItem = $this->serializer->deserialize((string)$request->getBody());
} catch (LtiExceptionInterface $exception) {
$this->logger->error($exception->getMessage());

return $this->factory->createResponse(400, null, [], $exception->getMessage());
return new Response(400, [], $exception->getMessage());
}

$lineItem = $this->repository->save($lineItem->copy($updatedLineItem));
Expand All @@ -123,6 +117,6 @@ public function handleValidatedServiceRequest(
'Content-Length' => strlen($responseBody),
];

return $this->factory->createResponse(200, null, $responseHeaders, $responseBody);
return new Response(200, $responseHeaders, $responseBody);
}
}
Expand Up @@ -22,8 +22,7 @@

namespace OAT\Library\Lti1p3Ags\Service\Result\Server\Handler;

use Http\Message\ResponseFactory;
use Nyholm\Psr7\Factory\HttplugFactory;
use Nyholm\Psr7\Response;
use OAT\Library\Lti1p3Ags\Factory\Result\ResultCollectionFactory;
use OAT\Library\Lti1p3Ags\Factory\Result\ResultCollectionFactoryInterface;
use OAT\Library\Lti1p3Ags\Model\Result\ResultContainerInterface;
Expand Down Expand Up @@ -66,9 +65,6 @@ class ResultServiceServerRequestHandler implements LtiServiceServerRequestHandle
/** @var UrlBuilderInterface */
private $builder;

/** @var ResponseFactory */
private $responseFactory;

/** @var LoggerInterface */
protected $logger;

Expand All @@ -79,7 +75,6 @@ public function __construct(
?ResultCollectionFactoryInterface $resultCollectionFactory = null,
?UrlExtractorInterface $extractor = null,
?UrlBuilderInterface $builder = null,
?ResponseFactory $responseFactory = null,
?LoggerInterface $logger = null
) {
$this->lineItemRepository = $lineItemRepository;
Expand All @@ -88,7 +83,6 @@ public function __construct(
$this->resultCollectionFactory = $resultCollectionFactory ?? new ResultCollectionFactory();
$this->extractor = $extractor ?? new UrlExtractor();
$this->builder = $builder ?? new UrlBuilder();
$this->responseFactory = $responseFactory ?? new HttplugFactory();
$this->logger = $logger ?? new NullLogger();
}

Expand Down Expand Up @@ -132,7 +126,7 @@ public function handleValidatedServiceRequest(

$this->logger->error($message);

return $this->responseFactory->createResponse(404, null, [], $message);
return new Response(404, [], $message);
}

parse_str($request->getUri()->getQuery(), $parameters);
Expand Down Expand Up @@ -178,6 +172,6 @@ public function handleValidatedServiceRequest(
);
}

return $this->responseFactory->createResponse(200, null, $responseHeaders, $responseBody);
return new Response(200, $responseHeaders, $responseBody);
}
}

0 comments on commit 6eac71f

Please sign in to comment.