From a4fed9fe5777788559e7b1edd6936842faf432e1 Mon Sep 17 00:00:00 2001 From: Loulier Guillaume Date: Mon, 6 Dec 2021 08:58:24 +0100 Subject: [PATCH] build(dev): kairoi support started --- composer.json | 5 +++ .../Transport/KairoiTransportFactory.php | 34 +++++++++++++++++++ .../Transport/KairoiTransportFactoryTest.php | 20 +++++++++++ 3 files changed, 59 insertions(+) create mode 100644 src/Bridge/Kairoi/Transport/KairoiTransportFactory.php create mode 100644 tests/Bridge/Kairoi/Transport/KairoiTransportFactoryTest.php diff --git a/composer.json b/composer.json index eb11b050..43baf9a0 100644 --- a/composer.json +++ b/composer.json @@ -24,6 +24,8 @@ "SchedulerBundle\\Bridge\\Doctrine\\": "src/Bridge/Doctrine/", "SchedulerBundle\\Bridge\\Doctrine\\SchemaListener\\": "src/Bridge/Doctrine/SchemaListener/", "SchedulerBundle\\Bridge\\Doctrine\\Transport\\": "src/Bridge/Doctrine/Transport/", + "SchedulerBundle\\Bridge\\Kairoi\\": "src/Bridge/Kairoi/", + "SchedulerBundle\\Bridge\\Kairoi\\Transport\\": "src/Bridge/Kairoi/Transport/", "SchedulerBundle\\Bridge\\Redis\\": "src/Bridge/Redis/", "SchedulerBundle\\Bridge\\Redis\\Transport\\": "src/Bridge/Redis/Transport/", "SchedulerBundle\\Command\\": "src/Command/", @@ -60,6 +62,8 @@ "Tests\\SchedulerBundle\\Bridge\\Doctrine\\SchemaListener\\": "tests/Bridge/Doctrine/SchemaListener/", "Tests\\SchedulerBundle\\Bridge\\Doctrine\\Transport\\": "tests/Bridge/Doctrine/Transport/", "Tests\\SchedulerBundle\\Bridge\\Doctrine\\Transport\\Assets\\": "tests/Bridge/Doctrine/Transport/Assets/", + "Tests\\SchedulerBundle\\Bridge\\Kairoi\\": "tests/Bridge/Kairoi/", + "Tests\\SchedulerBundle\\Bridge\\Kairoi\\Transport\\": "tests/Bridge/Kairoi/Transport/", "Tests\\SchedulerBundle\\Bridge\\Redis\\": "tests/Bridge/Redis/", "Tests\\SchedulerBundle\\Bridge\\Redis\\Transport\\": "tests/Bridge/Redis/Transport/", "Tests\\SchedulerBundle\\Command\\": "tests/Command/", @@ -120,6 +124,7 @@ "ext-redis": "*", "doctrine/dbal": "^3.1.4", "doctrine/orm": "^2.8", + "emerick42/kairoi-php": "v0.1.0-alpha", "friendsofphp/php-cs-fixer": "^3.3", "infection/infection": "^0.25.3", "marcocesarato/php-conventional-changelog": "^1.12", diff --git a/src/Bridge/Kairoi/Transport/KairoiTransportFactory.php b/src/Bridge/Kairoi/Transport/KairoiTransportFactory.php new file mode 100644 index 00000000..544b33ed --- /dev/null +++ b/src/Bridge/Kairoi/Transport/KairoiTransportFactory.php @@ -0,0 +1,34 @@ + + */ +final class KairoiTransportFactory implements TransportFactoryInterface +{ + /** + * {@inheritdoc} + */ + public function createTransport(Dsn $dsn, array $options, SerializerInterface $serializer, SchedulePolicyOrchestratorInterface $schedulePolicyOrchestrator): TransportInterface + { + // TODO: Implement createTransport() method. + } + + /** + * {@inheritdoc} + */ + public function support(string $dsn, array $options = []): bool + { + return str_starts_with($dsn, 'kairoi://'); + } +} diff --git a/tests/Bridge/Kairoi/Transport/KairoiTransportFactoryTest.php b/tests/Bridge/Kairoi/Transport/KairoiTransportFactoryTest.php new file mode 100644 index 00000000..a17b424f --- /dev/null +++ b/tests/Bridge/Kairoi/Transport/KairoiTransportFactoryTest.php @@ -0,0 +1,20 @@ + + */ +final class KairoiTransportFactoryTest extends TestCase +{ + public function testTransportCanSupport(): void + { + self::assertFalse((new KairoiTransportFactory())->support('test://')); + self::assertTrue((new KairoiTransportFactory())->support('kairoi://')); + } +}