28 $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
29 $this->methodsMap = $this->getMockBuilder(MethodsMap::class)->disableOriginalConstructor()->getMock();
30 $this->validator =
$objectManager->getObject(HandlersValidator::class, [
'methodsMap' => $this->methodsMap]);
51 'name' =>
'consumer1',
53 'consumerInstance' =>
'consumerClass1',
55 [
'type' =>
'handlerClassOne',
'method' =>
'handlerMethodOne'],
56 [
'type' =>
'handlerClassTwo',
'method' =>
'handlerMethodTwo'],
58 'connection' =>
'connection1',
59 'maxMessages' =>
'100',
63 'valid, empty handlers' => [
66 'name' =>
'consumer1',
68 'consumerInstance' =>
'consumerClass1',
70 'connection' =>
'connection1',
71 'maxMessages' =>
null,
85 $this->expectException(
'\LogicException');
86 $this->expectExceptionMessage($expectedExceptionMessage);
96 'invalid, not an array' => [
99 'name' =>
'consumer1',
101 'consumerInstance' =>
'consumerClass1',
102 'handlers' => [
'handlerClassOne::handlerMethodOne'],
103 'connection' =>
'connection1',
104 'maxMessages' =>
'100',
107 "'consumer1' consumer declaration is invalid. Every handler element must be an array." 108 .
" It must contain 'type' and 'method' elements." 110 'invalid, no required fields' => [
113 'name' =>
'consumer1',
115 'consumerInstance' =>
'consumerClass1',
117 [
'handlerClassOne::handlerMethodOne']
119 'connection' =>
'connection1',
120 'maxMessages' =>
'100',
123 "'consumer1' consumer declaration is invalid. Every handler element must be an array." 124 .
" It must contain 'type' and 'method' elements." 126 'invalid, no method' => [
129 'name' =>
'consumer1',
131 'consumerInstance' =>
'consumerClass1',
133 [
'type' =>
'handlerClassOne']
135 'connection' =>
'connection1',
136 'maxMessages' =>
'100',
139 "'consumer1' consumer declaration is invalid. Every handler element must be an array." 140 .
" It must contain 'type' and 'method' elements." 142 'invalid, no type' => [
145 'name' =>
'consumer1',
147 'consumerInstance' =>
'consumerClass1',
149 [
'method' =>
'handlerMethodOne']
151 'connection' =>
'connection1',
152 'maxMessages' =>
'100',
155 "'consumer1' consumer declaration is invalid. Every handler element must be an array." 156 .
" It must contain 'type' and 'method' elements." 165 'name' =>
'consumer1',
167 'consumerInstance' =>
'consumerClass1',
169 [
'type' =>
'handlerClassOne',
'method' =>
'handlerMethodOne'],
171 'connection' =>
'connection1',
172 'maxMessages' =>
'100',
175 $expectedExceptionMessage =
'Service method specified as handler for of consumer "consumer1" is not available.' 176 .
' Given "handlerClassOne::handlerMethodOne"';
177 $this->expectException(
'\LogicException');
178 $this->expectExceptionMessage($expectedExceptionMessage);
180 $this->methodsMap->expects($this->once())
181 ->method(
'getMethodParams')
182 ->with(
'handlerClassOne',
'handlerMethodOne')
183 ->willThrowException(
new \Exception(
''));
testValidateInvalid($configData, $expectedExceptionMessage)
validConfigDataProvider()
invalidConfigDataProvider()
testValidateUndeclaredService()
testValidateValid($configData)