getAllMiddleware(ProtocolEnum::HTTP); $this->assertTrue(true); } public function testGetMiddlewareTcpAll(): void { $this->getAllMiddleware(ProtocolEnum::TCP); $this->assertTrue(true); } private function getAllMiddleware(ProtocolEnum $protocolEnum): void { $commandFactory = Mockery::mock(FactoryInterface::class) ->expects('supports') ->andReturn(true) ->getMock(); Redis::expects('getCommandFactory') ->andReturn($commandFactory); Redis::expects('scan') ->with(0, ['MATCH' => 'traefik/' . $protocolEnum->getValue() . '/middlewares/*']) ->andReturn([0, [ 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/Host', 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Host', 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Port', 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Proto', ]]); $services = RedisClient::getAllMiddlewares($protocolEnum); $this->assertCount(1, $services); $this->assertSame('foo', $services[0]); } public function testGetMiddlewareHttp() { $this->getIndMiddleware(ProtocolEnum::HTTP); } private function getIndMiddleware(ProtocolEnum $protocolEnum): void { $commandFactory = Mockery::mock(FactoryInterface::class) ->expects('supports') ->andReturn(true) ->getMock(); Redis::expects('getCommandFactory') ->andReturn($commandFactory); Redis::expects('scan') ->with(0, ['MATCH' => 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/*']) ->andReturn([0, [ 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/Host', 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Host', 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Port', 'traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Proto', ]]); Redis::expects('get') ->with('traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/Host') ->andReturn('foo.localhost'); Redis::expects('get') ->with('traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Host') ->andReturn('foo.localhost'); Redis::expects('get') ->with('traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Port') ->andReturn('80'); Redis::expects('get') ->with('traefik/' . $protocolEnum->getValue() . '/middlewares/foo/headers/customrequestheaders/X-Forwarded-Proto') ->andReturn('http'); $middleware = RedisClient::getMiddleware('foo', $protocolEnum); $this->assertCount(4, $middleware['headers']['customrequestheaders']); $this->assertSame('foo.localhost', $middleware['headers']['customrequestheaders']['Host']); $this->assertSame('foo.localhost', $middleware['headers']['customrequestheaders']['X-Forwarded-Host']); $this->assertSame('80', $middleware['headers']['customrequestheaders']['X-Forwarded-Port']); $this->assertSame('http', $middleware['headers']['customrequestheaders']['X-Forwarded-Proto']); } }