From 19fcec84d8d7d21e796c7624e521b60d28ee21ed Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 20:45:59 +0200 Subject: Adding upstream version 16.2.11+ds. Signed-off-by: Daniel Baumann --- .../lib/php/test/Validator/BaseValidatorTest.php | 154 +++++++++++++++++++++ .../lib/php/test/Validator/ValidatorTest.php | 41 ++++++ .../lib/php/test/Validator/ValidatorTestOop.php | 41 ++++++ 3 files changed, 236 insertions(+) create mode 100644 src/jaegertracing/thrift/lib/php/test/Validator/BaseValidatorTest.php create mode 100644 src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTest.php create mode 100644 src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTestOop.php (limited to 'src/jaegertracing/thrift/lib/php/test/Validator') diff --git a/src/jaegertracing/thrift/lib/php/test/Validator/BaseValidatorTest.php b/src/jaegertracing/thrift/lib/php/test/Validator/BaseValidatorTest.php new file mode 100644 index 000000000..60290830e --- /dev/null +++ b/src/jaegertracing/thrift/lib/php/test/Validator/BaseValidatorTest.php @@ -0,0 +1,154 @@ +assertNoReadValidator('ThriftTest\EmptyStruct'); + $this->assertNoWriteValidator('ThriftTest\EmptyStruct'); + } + + public function testBonkValidator() + { + $this->assertNoReadValidator('ThriftTest\Bonk'); + $this->assertHasWriteValidator('ThriftTest\Bonk'); + } + + public function testStructAValidator() + { + $this->assertHasReadValidator('ThriftTest\StructA'); + $this->assertHasWriteValidator('ThriftTest\StructA'); + } + + public function testUnionOfStringsValidator() + { + $this->assertNoWriteValidator('TestValidators\UnionOfStrings'); + } + + public function testServiceResultValidator() + { + $this->assertNoReadValidator('TestValidators\TestService_test_result'); + $this->assertNoWriteValidator('TestValidators\TestService_test_result'); + } + + public function testReadEmpty() + { + $bonk = new \ThriftTest\Bonk(); + $transport = new TMemoryBuffer("\000"); + $protocol = new TBinaryProtocol($transport); + $bonk->read($protocol); + } + + public function testWriteEmpty() + { + $bonk = new \ThriftTest\Bonk(); + $transport = new TMemoryBuffer(); + $protocol = new TBinaryProtocol($transport); + try { + $bonk->write($protocol); + $this->fail('Bonk was able to write an empty object'); + } catch (TProtocolException $e) { + } + } + + public function testWriteWithMissingRequired() + { + // Check that we are not able to write StructA with a missing required field + $structa = new \ThriftTest\StructA(); + $transport = new TMemoryBuffer(); + $protocol = new TBinaryProtocol($transport); + + try { + $structa->write($protocol); + $this->fail('StructA was able to write an empty object'); + } catch (TProtocolException $e) { + } + } + + public function testReadStructA() + { + $transport = new TMemoryBuffer(base64_decode('CwABAAAAA2FiYwA=')); + $protocol = new TBinaryProtocol($transport); + $structa = new \ThriftTest\StructA(); + $structa->read($protocol); + $this->assertEquals("abc", $structa->s); + } + + public function testWriteStructA() + { + $transport = new TMemoryBuffer(); + $protocol = new TBinaryProtocol($transport); + $structa = new \ThriftTest\StructA(); + $structa->s = "abc"; + $structa->write($protocol); + $writeResult = base64_encode($transport->getBuffer()); + $this->assertEquals('CwABAAAAA2FiYwA=', $writeResult); + } + + protected static function assertHasReadValidator($class) + { + if (!static::hasReadValidator($class)) { + static::fail($class . ' class should have a read validator'); + } + } + + protected static function assertNoReadValidator($class) + { + if (static::hasReadValidator($class)) { + static::fail($class . ' class should not have a write validator'); + } + } + + protected static function assertHasWriteValidator($class) + { + if (!static::hasWriteValidator($class)) { + static::fail($class . ' class should have a write validator'); + } + } + + protected static function assertNoWriteValidator($class) + { + if (static::hasWriteValidator($class)) { + static::fail($class . ' class should not have a write validator'); + } + } + + private static function hasReadValidator($class) + { + $rc = new \ReflectionClass($class); + + return $rc->hasMethod('_validateForRead'); + } + + private static function hasWriteValidator($class) + { + $rc = new \ReflectionClass($class); + + return $rc->hasMethod('_validateForWrite'); + } +} diff --git a/src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTest.php b/src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTest.php new file mode 100644 index 000000000..fa6c7a9f7 --- /dev/null +++ b/src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTest.php @@ -0,0 +1,41 @@ +addPsr4('', __DIR__ . '/../packages/phpv'); + } +} diff --git a/src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTestOop.php b/src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTestOop.php new file mode 100644 index 000000000..93bca4d0c --- /dev/null +++ b/src/jaegertracing/thrift/lib/php/test/Validator/ValidatorTestOop.php @@ -0,0 +1,41 @@ +addPsr4('', __DIR__ . '/../packages/phpvo'); + } +} -- cgit v1.2.3