* @license http://www.apache.org/licenses/LICENSE-2.0 * @link http://phpsx.org */ class OpenRPCTest extends TestCase { public function testModel() { $license = new License(); $license->setName('MIT'); $info = new Info(); $info->setVersion('1.0.0'); $info->setTitle('Petstore'); $info->setLicense($license); $server = new Server(); $server->setUrl('http://localhost:8080'); $tag = new Tag(); $tag->setName('pets'); $params = []; $content = new ContentDescriptor(); $content->setName('limit'); $content->setDescription('How many items to return at one time (max 100)'); $content->setRequired(false); $content->setSchema((object) ['type' => 'integer', 'minimum' => 1]); $params[] = $content; $result = new ContentDescriptor(); $result->setName('pets'); $result->setDescription('A paged array of pets'); $result->setSchema((object) ['$ref' => '#/components/schemas/Pets']); $errors = []; $error = new Error(); $error->setCode(100); $error->setMessage('pets busy'); $errors[] = $error; $examples = []; $paramExample = new ExampleObject(); $paramExample->setName('limit'); $paramExample->setValue(1); $resultExample = new ExampleObject(); $resultExample->setName('listPetResultExample'); $resultExample->setValue([ (object) [ 'id' => 7, 'name' => 'fluffy', 'tag' => 'poodle', ] ]); $example = new ExamplePairingObject(); $example->setName('listPetExample'); $example->setDescription('List pet example'); $example->setParams([$paramExample]); $example->setResult($resultExample); $examples[] = $example; $methods = []; $method = new Method(); $method->setName('list_pets'); $method->setSummary('List all pets'); $method->setTags([$tag]); $method->setParams($params); $method->setResult($result); $method->setErrors($errors); $method->setExamples($examples); $methods[] = $method; $components = new Components(); $openRPC = new OpenRPC(); $openRPC->setInfo($info); $openRPC->setServers([$server]); $openRPC->setMethods($methods); $openRPC->setComponents($components); $dumper = new Dumper(); $actual = json_encode($dumper->dump($openRPC), JSON_PRETTY_PRINT); $expect = file_get_contents(__DIR__ . '/resources/openrpc.json'); $this->assertJsonStringEqualsJsonString($expect, $actual, $actual); } } __halt_compiler();----SIGNATURE:----XCgnPgHYKAYQQgWMUYuWrhPxWz5mM+89dhn2OFPvegVtjJfM7tg5IN08dcK/+tsCwodNwrR4BYZDKfZBy8LgoxrNE6dzM0kOW6dLJIeKwP333oU5+c7AV2+bfn5xPwqI0oruY+s0dKe18czECDG/DxslPuHwoaXm3T4iAWsBDN13r4qmpmjm0u9sblWIHm2ktG87j1uc1pQ2JnijzNVd7jkyEwdq7ud0ytW/8ypmlxPVTY9Idy3/RsWKxfozHE0kstfreBTBYwtAgpHPONhcwuO9z7n+zrBW7JCChgy/NliLkQzj0Y11zhrXpfnKtP53yN5SZaQNwHAONK+mNkR5kYJ6OSk1Lga+bf0DjOn/NNbdVlQ8fa8g6fivjMOLfcUtepf0fOqkKaYh6Cjk/LxiCPLHW3a92BWYQaU640AECAR0bc3Hqq1dKo3NNWR7PbYEBvmFFRDnoVMK6Exi8vKrDgIdZ5srNFDdTi5MEbgz4KjKtfimq+csJQfI9RZvboWzvyd/lbADRgO24WTiVdzGdpVYHpQJQsCqOII8mXrbL+Boe8HqCFZOAGByL8DSHD5Ah7yO2Y4qPpi5WvErHkfoSKNZ1T1Z7asOc5r47I2KFVtLxyXyPntukUog2R+ic8NT3f1hbo2TqNHoykoZK24kvHYKYyl4As8EXSADwPC+mAI=----ATTACHMENT:----NDgzMzMyMDEyNjE2MzI3MCA2MDgwNjQxNzg2OTMxMzA0IDI4MzcwMTc2MTI1NTAzMDk=