diff --git a/Parser/DunglasApiParser.php b/Parser/DunglasApiParser.php index 3a0f51a..b83b53d 100644 --- a/Parser/DunglasApiParser.php +++ b/Parser/DunglasApiParser.php @@ -98,7 +98,7 @@ class DunglasApiParser implements ParserInterface $data = array(); foreach ($classMetadata->getAttributes() as $attributeMetadata) { if ( - ($attributeMetadata->isReadable() && self::OUT_PREFIX === $io) || + (!$attributeMetadata->isIdentifier() && $attributeMetadata->isReadable() && self::OUT_PREFIX === $io) || ($attributeMetadata->isWritable() && self::IN_PREFIX === $io) ) { $data[$attributeMetadata->getName()] = $this->parseAttribute($resource, $attributeMetadata, $io); diff --git a/Tests/Fixtures/Model/Popo.php b/Tests/Fixtures/Model/Popo.php index c1817f6..28830ca 100644 --- a/Tests/Fixtures/Model/Popo.php +++ b/Tests/Fixtures/Model/Popo.php @@ -19,10 +19,15 @@ class Popo /** * @var int */ - public $id; + private $id; /** * @var string */ public $foo; + + public function getId() + { + return $this->id; + } } diff --git a/Tests/Formatter/MarkdownFormatterTest.php b/Tests/Formatter/MarkdownFormatterTest.php index 7796e61..3a502ad 100644 --- a/Tests/Formatter/MarkdownFormatterTest.php +++ b/Tests/Formatter/MarkdownFormatterTest.php @@ -25,1021 +25,8 @@ class MarkdownFormatterTest extends WebTestCase restore_error_handler(); $result = $container->get('nelmio_api_doc.formatter.markdown_formatter')->format($data); - if (class_exists('Dunglas\ApiBundle\DunglasApiBundle')) { - - $this->markTestSkipped('There is an issue because of DunglasApiBundle'); - -$expected = <<=0.2 - -[][nested][until]: - - * type: string - * versions: <=0.3 - -[][nested][since_and_until]: - - * type: string - * versions: >=0.4,<=0.5 - -[][nested_array][]: - - * type: array of objects (JmsNested) - - -### `PUT|PATCH` /api/other-resources/{id}.{_format} ### - -_Update a resource bu ID._ - -#### Requirements #### - -**_format** - - - Requirement: json|xml|html -**id** - - - -## /api/resources ## - -### `GET` /api/resources.{_format} ### - -_List resources._ - -#### Requirements #### - -**_format** - - - Requirement: json|xml|html - -#### Response #### - -tests[]: - - * type: array of objects (Test) - -tests[][a]: - - * type: string - -tests[][b]: - - * type: DateTime - - -### `POST` /api/resources.{_format} ### - -_Create a new resource._ - -#### Requirements #### - -**_format** - - - Requirement: json|xml|html - -#### Parameters #### - -a: - - * type: string - * required: true - * description: Something that describes A. - -b: - - * type: float - * required: true - -c: - - * type: choice - * required: true - -d: - - * type: datetime - * required: true - -e: - - * type: date - * required: true - -g: - - * type: string - * required: true - -#### Response #### - -foo: - - * type: DateTime - -bar: - - * type: string - -baz[]: - - * type: array of integers - * description: Epic description. - -With multiple lines. - -circular: - - * type: object (JmsNested) - -circular[foo]: - - * type: DateTime - -circular[bar]: - - * type: string - -circular[baz][]: - - * type: array of integers - * description: Epic description. - -With multiple lines. - -circular[circular]: - - * type: object (JmsNested) - -circular[parent]: - - * type: object (JmsTest) - -circular[parent][foo]: - - * type: string - -circular[parent][bar]: - - * type: DateTime - -circular[parent][number]: - - * type: double - -circular[parent][arr]: - - * type: array - -circular[parent][nested]: - - * type: object (JmsNested) - -circular[parent][nested_array][]: - - * type: array of objects (JmsNested) - -circular[since]: - - * type: string - * versions: >=0.2 - -circular[until]: - - * type: string - * versions: <=0.3 - -circular[since_and_until]: - - * type: string - * versions: >=0.4,<=0.5 - -parent: - - * type: object (JmsTest) - -parent[foo]: - - * type: string - -parent[bar]: - - * type: DateTime - -parent[number]: - - * type: double - -parent[arr]: - - * type: array - -parent[nested]: - - * type: object (JmsNested) - -parent[nested_array][]: - - * type: array of objects (JmsNested) - -since: - - * type: string - * versions: >=0.2 - -until: - - * type: string - * versions: <=0.3 - -since_and_until: - - * type: string - * versions: >=0.4,<=0.5 - - -### `DELETE` /api/resources/{id}.{_format} ### - -_Delete a resource by ID._ - -#### Requirements #### - -**_format** - - - Requirement: json|xml|html -**id** - - - -### `GET` /api/resources/{id}.{_format} ### - -_Retrieve a resource by ID._ - -#### Requirements #### - -**_format** - - - Requirement: json|xml|html -**id** - - - -## /tests ## - -### `GET` /tests.{_format} ### - -_index action_ - -#### Requirements #### - -**_format** - - -#### Filters #### - -a: - - * DataType: integer - -b: - - * DataType: string - * Arbitrary: ["arg1","arg2"] - - -### `GET` /tests.{_format} ### - -_index action_ - -#### Requirements #### - -**_format** - - -#### Filters #### - -a: - - * DataType: integer - -b: - - * DataType: string - * Arbitrary: ["arg1","arg2"] - - -### `POST` /tests.{_format} ### - -_create test_ - -#### Requirements #### - -**_format** - - -#### Parameters #### - -a: - - * type: string - * required: true - * description: A nice description - -b: - - * type: string - * required: false - -c: - - * type: boolean - * required: true - -d: - - * type: string - * required: true - * default value: DefaultTest - - -### `POST` /tests.{_format} ### - -_create test_ - -#### Requirements #### - -**_format** - - -#### Parameters #### - -a: - - * type: string - * required: true - * description: A nice description - -b: - - * type: string - * required: false - -c: - - * type: boolean - * required: true - -d: - - * type: string - * required: true - * default value: DefaultTest - - -## /tests2 ## - -### `POST` /tests2.{_format} ### - -_post test 2_ - -#### Requirements #### - -**_format** - - - -## TestResource ## - -### `ANY` /named-resource ### - - - -### `POST` /another-post ### - -_create another test_ - -#### Parameters #### - -dependency_type: - - * type: object (dependency_type) - * required: true - -dependency_type[a]: - - * type: string - * required: true - * description: A nice description - - -### `ANY` /any ### - -_Action without HTTP verb_ - - -### `ANY` /any/{foo} ### - -_Action without HTTP verb_ - -#### Requirements #### - -**foo** - - - -### `ANY` /authenticated ### - - - -### `POST` /jms-input-test ### - -_Testing JMS_ - -#### Parameters #### - -foo: - - * type: string - * required: false - -number: - - * type: double - * required: false - -arr: - - * type: array - * required: false - -nested: - - * type: object (JmsNested) - * required: false - -nested[bar]: - - * type: string - * required: false - * default value: baz - -nested[baz][]: - - * type: array of integers - * required: false - * description: Epic description. - -With multiple lines. - -nested[circular]: - - * type: object (JmsNested) - * required: false - -nested[parent]: - - * type: object (JmsTest) - * required: false - -nested[parent][foo]: - - * type: string - * required: false - -nested[parent][number]: - - * type: double - * required: false - -nested[parent][arr]: - - * type: array - * required: false - -nested[parent][nested]: - - * type: object (JmsNested) - * required: false - -nested[parent][nested_array][]: - - * type: array of objects (JmsNested) - * required: false - -nested[since]: - - * type: string - * required: false - -nested[until]: - - * type: string - * required: false - -nested[since_and_until]: - - * type: string - * required: false - -nested_array[]: - - * type: array of objects (JmsNested) - * required: false - - -### `GET` /jms-return-test ### - -_Testing return_ - -#### Response #### - -dependency_type: - - * type: object (dependency_type) - -dependency_type[a]: - - * type: string - * description: A nice description - - -### `ANY` /my-commented/{id}/{page}/{paramType}/{param} ### - -_This method is useful to test if the getDocComment works._ - -#### Requirements #### - -**id** - - - Type: int - - Description: A nice comment -**page** - - - Type: int -**paramType** - - - Type: int - - Description: The param type -**param** - - - Type: int - - Description: The param id - - -### `ANY` /return-nested-output ### - - -#### Response #### - -foo: - - * type: string - -bar: - - * type: DateTime - -number: - - * type: double - -arr: - - * type: array - -nested: - - * type: object (JmsNested) - -nested[foo]: - - * type: DateTime - -nested[bar]: - - * type: string - -nested[baz][]: - - * type: array of integers - * description: Epic description. - -With multiple lines. - -nested[circular]: - - * type: object (JmsNested) - -nested[parent]: - - * type: object (JmsTest) - -nested[parent][foo]: - - * type: string - -nested[parent][bar]: - - * type: DateTime - -nested[parent][number]: - - * type: double - -nested[parent][arr]: - - * type: array - -nested[parent][nested]: - - * type: object (JmsNested) - -nested[parent][nested_array][]: - - * type: array of objects (JmsNested) - -nested[since]: - - * type: string - * versions: >=0.2 - -nested[until]: - - * type: string - * versions: <=0.3 - -nested[since_and_until]: - - * type: string - * versions: >=0.4,<=0.5 - -nested_array[]: - - * type: array of objects (JmsNested) - - -### `ANY` /secure-route ### - - - -### `ANY` /yet-another/{id} ### - - -#### Requirements #### - -**id** - - - Requirement: \d+ - - -### `GET` /z-action-with-deprecated-indicator ### -### This method is deprecated ### - - - - -### `POST` /z-action-with-nullable-request-param ### - - -#### Parameters #### - -param1: - - * type: string - * required: false - * description: Param1 description. - - -### `GET` /z-action-with-query-param ### - - -#### Filters #### - -page: - - * Requirement: \d+ - * Description: Page of the overview. - * Default: 1 - - -### `GET` /z-action-with-query-param-no-default ### - - -#### Filters #### - -page: - - * Requirement: \d+ - * Description: Page of the overview. - - -### `GET` /z-action-with-query-param-strict ### - - -#### Requirements #### - -**page** - - - Requirement: \d+ - - Description: Page of the overview. - - -### `POST` /z-action-with-request-param ### - - -#### Parameters #### - -param1: - - * type: string - * required: true - * description: Param1 description. - - -### `ANY` /z-return-jms-and-validator-output ### - - -#### Response #### - -bar: - - * type: DateTime - -objects[]: - - * type: array of objects (Test) - -objects[][a]: - - * type: string - -objects[][b]: - - * type: DateTime - -number: - - * type: DateTime - -related: - - * type: object (Test) - -related[a]: - - * type: string - -related[b]: - - * type: DateTime - - -### `ANY` /z-return-selected-parsers-input ### - - -#### Parameters #### - -a: - - * type: string - * required: true - * description: A nice description - -b: - - * type: string - * required: false - -c: - - * type: boolean - * required: true - -d: - - * type: string - * required: true - * default value: DefaultTest - - -### `ANY` /z-return-selected-parsers-output ### - - -#### Response #### - -bar: - - * type: DateTime - -objects[]: - - * type: array of objects (Test) - -objects[][a]: - - * type: string - -objects[][b]: - - * type: DateTime - -number: - - * type: DateTime - -related: - - * type: object (Test) - -related[a]: - - * type: string - -related[b]: - - * type: DateTime - - -### `POST` /zcached ### - - - -### `POST` /zsecured ### -MARKDOWN; - } else { - $expected = file_get_contents(__DIR__ . '/testFormat-result-no-dunglas.markdown'); - } + $suffix = class_exists('Dunglas\ApiBundle\DunglasApiBundle') ? '' : '-no-dunglas'; + $expected = file_get_contents(__DIR__ . '/testFormat-result' . $suffix . '.markdown'); $this->assertEquals($expected, $result . "\n"); } diff --git a/Tests/Formatter/SimpleFormatterTest.php b/Tests/Formatter/SimpleFormatterTest.php index f9ef6ab..47a6ed3 100644 --- a/Tests/Formatter/SimpleFormatterTest.php +++ b/Tests/Formatter/SimpleFormatterTest.php @@ -11,7 +11,6 @@ namespace Nelmio\ApiDocBundle\Tests\Formatter; -use Nelmio\ApiDocBundle\DataTypes; use Nelmio\ApiDocBundle\Tests\WebTestCase; class SimpleFormatterTest extends WebTestCase @@ -26,2447 +25,8 @@ class SimpleFormatterTest extends WebTestCase restore_error_handler(); $result = $container->get('nelmio_api_doc.formatter.simple_formatter')->format($data); - if (class_exists('Dunglas\ApiBundle\DunglasApiBundle')) { - - $this->markTestSkipped('There is an issue because of DunglasApiBundle'); - - $expected = array ( - '/api/other-resources' => - array ( - 0 => - array ( - 'method' => 'GET', - 'uri' => '/api/other-resources.{_format}', - 'description' => 'List another resource.', - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => 'json|xml|html', - 'dataType' => '', - 'description' => '', - ), - ), - 'response' => - array ( - '' => - array ( - 'dataType' => 'array of objects (JmsTest)', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', - 'actualType' => 'collection', - 'readonly' => true, - 'required' => true, - 'default' => true, - 'description' => '', - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => 'baz', - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'baz' => - array ( - 'dataType' => 'array of integers', - 'actualType' => 'collection', - 'subType' => 'integer', - 'required' => false, - 'default' => NULL, - 'description' => 'Epic description. - -With multiple lines.', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'circular' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'parent' => - array ( - 'dataType' => 'object (JmsTest)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - ), - 'since' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.2', - 'untilVersion' => NULL, - ), - 'until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => '0.3', - ), - 'since_and_until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.4', - 'untilVersion' => '0.5', - ), - ), - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - ), - ), - 'resourceDescription' => 'Operations on another resource.', - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'default', - 'premium', - ), - ), - 1 => - array ( - 'method' => 'PUT|PATCH', - 'uri' => '/api/other-resources/{id}.{_format}', - 'description' => 'Update a resource bu ID.', - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => 'json|xml|html', - 'dataType' => '', - 'description' => '', - ), - 'id' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - ), - '/api/resources' => - array ( - 0 => - array ( - 'method' => 'GET', - 'uri' => '/api/resources.{_format}', - 'description' => 'List resources.', - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => 'json|xml|html', - 'dataType' => '', - 'description' => '', - ), - ), - 'response' => - array ( - 'tests' => - array ( - 'dataType' => 'array of objects (Test)', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', - 'actualType' => 'collection', - 'readonly' => true, - 'required' => true, - 'default' => true, - 'description' => '', - 'children' => - array ( - 'a' => - array ( - 'default' => 'nelmio', - 'actualType' => 'string', - 'subType' => NULL, - 'format' => '{length: min: foo}, {not blank}', - 'required' => true, - 'dataType' => 'string', - 'readonly' => NULL, - ), - 'b' => - array ( - 'default' => NULL, - 'actualType' => 'datetime', - 'subType' => NULL, - 'dataType' => 'DateTime', - 'readonly' => NULL, - 'required' => NULL, - ), - ), - ), - ), - 'statusCodes' => - array ( - 200 => - array ( - 0 => 'Returned on success.', - ), - 404 => - array ( - 0 => 'Returned if resource cannot be found.', - ), - ), - 'resourceDescription' => 'Operations on resource.', - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'test', - 'premium', - 'default', - ), - ), - 1 => - array ( - 'method' => 'POST', - 'uri' => '/api/resources.{_format}', - 'description' => 'Create a new resource.', - 'parameters' => - array ( - 'a' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => 'Something that describes A.', - 'readonly' => false, - ), - 'b' => - array ( - 'dataType' => 'float', - 'actualType' => 'float', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - 'c' => - array ( - 'dataType' => 'choice', - 'actualType' => 'choice', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - 'format' => '{"x":"X","y":"Y","z":"Z"}', - ), - 'd' => - array ( - 'dataType' => 'datetime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - 'e' => - array ( - 'dataType' => 'date', - 'actualType' => 'date', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - 'g' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - ), - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => 'json|xml|html', - 'dataType' => '', - 'description' => '', - ), - ), - 'response' => - array ( - 'foo' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => 'baz', - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'baz' => - array ( - 'dataType' => 'array of integers', - 'actualType' => 'collection', - 'subType' => 'integer', - 'required' => false, - 'default' => NULL, - 'description' => 'Epic description. - -With multiple lines.', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'circular' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => 'baz', - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'baz' => - array ( - 'dataType' => 'array of integers', - 'actualType' => 'collection', - 'subType' => 'integer', - 'required' => false, - 'default' => NULL, - 'description' => 'Epic description. - -With multiple lines.', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'circular' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'parent' => - array ( - 'dataType' => 'object (JmsTest)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - ), - 'since' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.2', - 'untilVersion' => NULL, - ), - 'until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => '0.3', - ), - 'since_and_until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.4', - 'untilVersion' => '0.5', - ), - ), - ), - 'parent' => - array ( - 'dataType' => 'object (JmsTest)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - ), - 'since' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.2', - 'untilVersion' => NULL, - ), - 'until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => '0.3', - ), - 'since_and_until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.4', - 'untilVersion' => '0.5', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'default', - 'premium', - ), - ), - 2 => - array ( - 'method' => 'DELETE', - 'uri' => '/api/resources/{id}.{_format}', - 'description' => 'Delete a resource by ID.', - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => 'json|xml|html', - 'dataType' => '', - 'description' => '', - ), - 'id' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 3 => - array ( - 'method' => 'GET', - 'uri' => '/api/resources/{id}.{_format}', - 'description' => 'Retrieve a resource by ID.', - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => 'json|xml|html', - 'dataType' => '', - 'description' => '', - ), - 'id' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - ), - '/tests' => - array ( - 0 => - array ( - 'method' => 'GET', - 'uri' => '/tests.{_format}', - 'description' => 'index action', - 'filters' => - array ( - 'a' => - array ( - 'dataType' => 'integer', - ), - 'b' => - array ( - 'dataType' => 'string', - 'arbitrary' => - array ( - 0 => 'arg1', - 1 => 'arg2', - ), - ), - ), - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 1 => - array ( - 'method' => 'GET', - 'uri' => '/tests.{_format}', - 'description' => 'index action', - 'filters' => - array ( - 'a' => - array ( - 'dataType' => 'integer', - ), - 'b' => - array ( - 'dataType' => 'string', - 'arbitrary' => - array ( - 0 => 'arg1', - 1 => 'arg2', - ), - ), - ), - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 2 => - array ( - 'method' => 'POST', - 'uri' => '/tests.{_format}', - 'host' => 'api.test.dev', - 'description' => 'create test', - 'parameters' => - array ( - 'a' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => 'A nice description', - 'readonly' => false, - ), - 'b' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => false, - 'description' => NULL, - 'readonly' => false, - ), - 'c' => - array ( - 'dataType' => 'boolean', - 'actualType' => 'boolean', - 'subType' => NULL, - 'default' => false, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - 'd' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => 'DefaultTest', - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - ), - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'default', - 'premium', - ), - ), - 3 => - array ( - 'method' => 'POST', - 'uri' => '/tests.{_format}', - 'host' => 'api.test.dev', - 'description' => 'create test', - 'parameters' => - array ( - 'a' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => 'A nice description', - 'readonly' => false, - ), - 'b' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => false, - 'description' => NULL, - 'readonly' => false, - ), - 'c' => - array ( - 'dataType' => 'boolean', - 'actualType' => 'boolean', - 'subType' => NULL, - 'default' => false, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - 'd' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => 'DefaultTest', - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - ), - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'default', - 'premium', - ), - ), - ), - '/tests2' => - array ( - 0 => - array ( - 'method' => 'POST', - 'uri' => '/tests2.{_format}', - 'description' => 'post test 2', - 'requirements' => - array ( - '_format' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'default', - 'premium', - ), - ), - ), - 'TestResource' => - array ( - 0 => - array ( - 'method' => 'ANY', - 'uri' => '/named-resource', - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'default', - ), - ), - ), - 'others' => - array ( - 0 => - array ( - 'method' => 'POST', - 'uri' => '/another-post', - 'description' => 'create another test', - 'parameters' => - array ( - 'dependency_type' => - array ( - 'required' => true, - 'readonly' => false, - 'description' => '', - 'default' => NULL, - 'dataType' => 'object (dependency_type)', - 'actualType' => 'model', - 'subType' => 'dependency_type', - 'children' => - array ( - 'a' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => 'A nice description', - 'readonly' => false, - ), - ), - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'views' => array( - 'default', - 'test', - ), - ), - 1 => - array ( - 'method' => 'ANY', - 'uri' => '/any', - 'description' => 'Action without HTTP verb', - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 2 => - array ( - 'method' => 'ANY', - 'uri' => '/any/{foo}', - 'description' => 'Action without HTTP verb', - 'requirements' => - array ( - 'foo' => - array ( - 'requirement' => '', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 3 => - array ( - 'method' => 'ANY', - 'uri' => '/authenticated', - 'https' => false, - 'authentication' => true, - 'authenticationRoles' => - array ( - 0 => 'ROLE_USER', - 1 => 'ROLE_FOOBAR', - ), - 'deprecated' => false, - ), - 4 => - array ( - 'method' => 'POST', - 'uri' => '/jms-input-test', - 'description' => 'Testing JMS', - 'parameters' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => 'baz', - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'baz' => - array ( - 'dataType' => 'array of integers', - 'actualType' => 'collection', - 'subType' => 'integer', - 'required' => false, - 'default' => NULL, - 'description' => 'Epic description. - -With multiple lines.', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'circular' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'parent' => - array ( - 'dataType' => 'object (JmsTest)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - ), - 'since' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.2', - 'untilVersion' => NULL, - ), - 'until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => '0.3', - ), - 'since_and_until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.4', - 'untilVersion' => '0.5', - ), - ), - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 5 => - array ( - 'method' => 'GET', - 'uri' => '/jms-return-test', - 'description' => 'Testing return', - 'response' => - array ( - 'dependency_type' => - array ( - 'required' => true, - 'readonly' => false, - 'description' => '', - 'default' => NULL, - 'dataType' => 'object (dependency_type)', - 'actualType' => 'model', - 'subType' => 'dependency_type', - 'children' => - array ( - 'a' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => 'A nice description', - 'readonly' => false, - ), - ), - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 6 => - array ( - 'method' => 'ANY', - 'uri' => '/my-commented/{id}/{page}/{paramType}/{param}', - 'description' => 'This method is useful to test if the getDocComment works.', - 'documentation' => 'This method is useful to test if the getDocComment works. -And, it supports multilines until the first \'@\' char.', - 'requirements' => - array ( - 'id' => - array ( - 'dataType' => 'int', - 'description' => 'A nice comment', - 'requirement' => '', - ), - 'page' => - array ( - 'dataType' => 'int', - 'description' => '', - 'requirement' => '', - ), - 'paramType' => - array ( - 'dataType' => 'int', - 'description' => 'The param type', - 'requirement' => '', - ), - 'param' => - array ( - 'dataType' => 'int', - 'description' => 'The param id', - 'requirement' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 7 => - array ( - 'method' => 'GET', - 'uri' => '/popos', - 'description' => 'Retrieves the collection of Popo resources.', - 'documentation' => 'Gets the collection.', - 'response' => - array ( - 'foo' => - array ( - 'required' => false, - 'description' => '', - 'readonly' => false, - 'dataType' => 'string', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'resourceDescription' => 'Popo', - 'section' => 'Popo', - ), - 8 => - array ( - 'method' => 'POST', - 'uri' => '/popos', - 'description' => 'Creates a Popo resource.', - 'documentation' => 'Adds an element to the collection.', - 'parameters' => - array ( - 'foo' => - array ( - 'required' => false, - 'description' => '', - 'readonly' => false, - 'dataType' => 'string', - ), - ), - 'response' => - array ( - 'foo' => - array ( - 'required' => false, - 'description' => '', - 'readonly' => false, - 'dataType' => 'string', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'resourceDescription' => 'Popo', - 'section' => 'Popo', - ), - 9 => - array ( - 'method' => 'DELETE', - 'uri' => '/popos/{id}', - 'description' => 'Deletes the Popo resource.', - 'documentation' => 'Deletes an element of the collection.', - 'requirements' => - array ( - 'id' => - array ( - 'dataType' => 'string', - 'description' => '', - 'requirement' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'resourceDescription' => 'Popo', - 'section' => 'Popo', - ), - 10 => - array ( - 'method' => 'GET', - 'uri' => '/popos/{id}', - 'description' => 'Retrieves Popo resource.', - 'documentation' => 'Gets an element of the collection.', - 'requirements' => - array ( - 'id' => - array ( - 'dataType' => 'int', - 'description' => '', - 'requirement' => '', - ), - ), - 'response' => - array ( - 'foo' => - array ( - 'required' => false, - 'description' => '', - 'readonly' => false, - 'dataType' => 'string', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'resourceDescription' => 'Popo', - 'section' => 'Popo', - ), - 11 => - array ( - 'method' => 'PUT', - 'uri' => '/popos/{id}', - 'description' => 'Replaces the Popo resource.', - 'documentation' => 'Replaces an element of the collection.', - 'parameters' => - array ( - 'foo' => - array ( - 'required' => false, - 'description' => '', - 'readonly' => false, - 'dataType' => 'string', - ), - ), - 'requirements' => - array ( - 'id' => - array ( - 'dataType' => 'string', - 'description' => '', - 'requirement' => '', - ), - ), - 'response' => - array ( - 'foo' => - array ( - 'required' => false, - 'description' => '', - 'readonly' => false, - 'dataType' => 'string', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - 'resourceDescription' => 'Popo', - 'section' => 'Popo', - ), - 12 => - array ( - 'method' => 'ANY', - 'uri' => '/return-nested-output', - 'response' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => 'baz', - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'baz' => - array ( - 'dataType' => 'array of integers', - 'actualType' => 'collection', - 'subType' => 'integer', - 'required' => false, - 'default' => NULL, - 'description' => 'Epic description. - -With multiple lines.', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'circular' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'parent' => - array ( - 'dataType' => 'object (JmsTest)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'foo' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'bar' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => true, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'number' => - array ( - 'dataType' => 'double', - 'actualType' => 'float', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'arr' => - array ( - 'dataType' => 'array', - 'actualType' => 'collection', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested' => - array ( - 'dataType' => 'object (JmsNested)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - ), - 'since' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.2', - 'untilVersion' => NULL, - ), - 'until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => '0.3', - ), - 'since_and_until' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => '0.4', - 'untilVersion' => '0.5', - ), - ), - ), - 'nested_array' => - array ( - 'dataType' => 'array of objects (JmsNested)', - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 13 => - array ( - 'method' => 'ANY', - 'uri' => '/secure-route', - 'https' => true, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 14 => - array ( - 'method' => 'ANY', - 'uri' => '/yet-another/{id}', - 'requirements' => - array ( - 'id' => - array ( - 'requirement' => '\\d+', - 'dataType' => '', - 'description' => '', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 15 => - array ( - 'method' => 'GET', - 'uri' => '/z-action-with-deprecated-indicator', - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => true, - ), - 16 => - array ( - 'method' => 'POST', - 'uri' => '/z-action-with-nullable-request-param', - 'parameters' => - array ( - 'param1' => - array ( - 'required' => false, - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'description' => 'Param1 description.', - 'readonly' => false, - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 17 => - array ( - 'method' => 'GET', - 'uri' => '/z-action-with-query-param', - 'filters' => - array ( - 'page' => - array ( - 'requirement' => '\\d+', - 'description' => 'Page of the overview.', - 'default' => '1', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 18 => - array ( - 'method' => 'GET', - 'uri' => '/z-action-with-query-param-no-default', - 'filters' => - array ( - 'page' => - array ( - 'requirement' => '\\d+', - 'description' => 'Page of the overview.', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 19 => - array ( - 'method' => 'GET', - 'uri' => '/z-action-with-query-param-strict', - 'requirements' => - array ( - 'page' => - array ( - 'requirement' => '\\d+', - 'dataType' => '', - 'description' => 'Page of the overview.', - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 20 => - array ( - 'method' => 'POST', - 'uri' => '/z-action-with-request-param', - 'parameters' => - array ( - 'param1' => - array ( - 'required' => true, - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'description' => 'Param1 description.', - 'readonly' => false, - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 21 => - array ( - 'method' => 'ANY', - 'uri' => '/z-return-jms-and-validator-output', - 'response' => - array ( - 'bar' => - array ( - 'default' => NULL, - 'actualType' => 'datetime', - 'subType' => NULL, - 'dataType' => 'DateTime', - 'readonly' => NULL, - 'required' => NULL, - ), - 'objects' => - array ( - 'default' => NULL, - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', - 'dataType' => 'array of objects (Test)', - 'children' => - array ( - 'a' => - array ( - 'default' => 'nelmio', - 'actualType' => 'string', - 'subType' => NULL, - 'format' => '{length: min: foo}, {not blank}', - 'required' => true, - 'dataType' => 'string', - 'readonly' => NULL, - ), - 'b' => - array ( - 'default' => NULL, - 'actualType' => 'datetime', - 'subType' => NULL, - 'dataType' => 'DateTime', - 'readonly' => NULL, - 'required' => NULL, - ), - ), - 'readonly' => NULL, - 'required' => NULL, - ), - 'number' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'related' => - array ( - 'dataType' => 'object (Test)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'a' => - array ( - 'default' => 'nelmio', - 'actualType' => 'string', - 'subType' => NULL, - 'format' => '{length: min: foo}, {not blank}', - 'required' => true, - 'dataType' => 'string', - 'readonly' => NULL, - ), - 'b' => - array ( - 'default' => NULL, - 'actualType' => 'datetime', - 'subType' => NULL, - 'dataType' => 'DateTime', - 'readonly' => NULL, - 'required' => NULL, - ), - ), - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 22 => - array ( - 'method' => 'ANY', - 'uri' => '/z-return-selected-parsers-input', - 'parameters' => - array ( - 'a' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => true, - 'description' => 'A nice description', - 'readonly' => false, - ), - 'b' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => NULL, - 'required' => false, - 'description' => NULL, - 'readonly' => false, - ), - 'c' => - array ( - 'dataType' => 'boolean', - 'actualType' => 'boolean', - 'subType' => NULL, - 'default' => false, - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - 'd' => - array ( - 'dataType' => 'string', - 'actualType' => 'string', - 'subType' => NULL, - 'default' => 'DefaultTest', - 'required' => true, - 'description' => NULL, - 'readonly' => false, - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 23 => - array ( - 'method' => 'ANY', - 'uri' => '/z-return-selected-parsers-output', - 'response' => - array ( - 'bar' => - array ( - 'default' => NULL, - 'actualType' => 'datetime', - 'subType' => NULL, - 'dataType' => 'DateTime', - 'readonly' => NULL, - 'required' => NULL, - ), - 'objects' => - array ( - 'default' => NULL, - 'actualType' => 'collection', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', - 'dataType' => 'array of objects (Test)', - 'children' => - array ( - 'a' => - array ( - 'default' => 'nelmio', - 'actualType' => 'string', - 'subType' => NULL, - 'format' => '{length: min: foo}, {not blank}', - 'required' => true, - 'dataType' => 'string', - 'readonly' => NULL, - ), - 'b' => - array ( - 'default' => NULL, - 'actualType' => 'datetime', - 'subType' => NULL, - 'dataType' => 'DateTime', - 'readonly' => NULL, - 'required' => NULL, - ), - ), - 'readonly' => NULL, - 'required' => NULL, - ), - 'number' => - array ( - 'dataType' => 'DateTime', - 'actualType' => 'datetime', - 'subType' => NULL, - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - ), - 'related' => - array ( - 'dataType' => 'object (Test)', - 'actualType' => 'model', - 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', - 'required' => false, - 'default' => NULL, - 'description' => '', - 'readonly' => false, - 'sinceVersion' => NULL, - 'untilVersion' => NULL, - 'children' => - array ( - 'a' => - array ( - 'default' => 'nelmio', - 'actualType' => 'string', - 'subType' => NULL, - 'format' => '{length: min: foo}, {not blank}', - 'required' => true, - 'dataType' => 'string', - 'readonly' => NULL, - ), - 'b' => - array ( - 'default' => NULL, - 'actualType' => 'datetime', - 'subType' => NULL, - 'dataType' => 'DateTime', - 'readonly' => NULL, - 'required' => NULL, - ), - ), - ), - ), - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 24 => - array ( - 'method' => 'POST', - 'uri' => '/zcached', - 'cache' => 60, - 'https' => false, - 'authentication' => false, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - 25 => - array ( - 'method' => 'POST', - 'uri' => '/zsecured', - 'https' => false, - 'authentication' => true, - 'authenticationRoles' => - array ( - ), - 'deprecated' => false, - ), - ), - ); - } else { - $expected = require __DIR__ . '/testFormat-result-no-dunglas.php'; - } + $suffix = class_exists('Dunglas\ApiBundle\DunglasApiBundle') ? '' : '-no-dunglas'; + $expected = require __DIR__ . '/testFormat-result'.$suffix.'.php'; $this->assertEquals($expected, $result); } diff --git a/Tests/Formatter/testFormat-result.markdown b/Tests/Formatter/testFormat-result.markdown new file mode 100644 index 0000000..64e3285 --- /dev/null +++ b/Tests/Formatter/testFormat-result.markdown @@ -0,0 +1,1006 @@ +# Popo # + +### `GET` /popos ### + +_Retrieves the collection of Popo resources._ + +#### Response #### + +foo: + + * type: string + + +### `POST` /popos ### + +_Creates a Popo resource._ + +#### Parameters #### + +foo: + + * type: string + * required: false + +#### Response #### + +foo: + + * type: string + + +### `DELETE` /popos/{id} ### + +_Deletes the Popo resource._ + +#### Requirements #### + +**id** + + - Type: string + + +### `GET` /popos/{id} ### + +_Retrieves Popo resource._ + +#### Requirements #### + +**id** + + - Type: int + +#### Response #### + +foo: + + * type: string + + +### `PUT` /popos/{id} ### + +_Replaces the Popo resource._ + +#### Requirements #### + +**id** + + - Type: string + +#### Parameters #### + +foo: + + * type: string + * required: false + +#### Response #### + +foo: + + * type: string + + + +## /api/other-resources ## + +### `GET` /api/other-resources.{_format} ### + +_List another resource._ + +#### Requirements #### + +**_format** + + - Requirement: json|xml|html + +#### Response #### + +[]: + + * type: array of objects (JmsTest) + +[][foo]: + + * type: string + +[][bar]: + + * type: DateTime + +[][number]: + + * type: double + +[][arr]: + + * type: array + +[][nested]: + + * type: object (JmsNested) + +[][nested][foo]: + + * type: DateTime + +[][nested][bar]: + + * type: string + +[][nested][baz][]: + + * type: array of integers + * description: Epic description. + +With multiple lines. + +[][nested][circular]: + + * type: object (JmsNested) + +[][nested][parent]: + + * type: object (JmsTest) + +[][nested][parent][foo]: + + * type: string + +[][nested][parent][bar]: + + * type: DateTime + +[][nested][parent][number]: + + * type: double + +[][nested][parent][arr]: + + * type: array + +[][nested][parent][nested]: + + * type: object (JmsNested) + +[][nested][parent][nested_array][]: + + * type: array of objects (JmsNested) + +[][nested][since]: + + * type: string + * versions: >=0.2 + +[][nested][until]: + + * type: string + * versions: <=0.3 + +[][nested][since_and_until]: + + * type: string + * versions: >=0.4,<=0.5 + +[][nested_array][]: + + * type: array of objects (JmsNested) + + +### `PUT|PATCH` /api/other-resources/{id}.{_format} ### + +_Update a resource bu ID._ + +#### Requirements #### + +**_format** + + - Requirement: json|xml|html +**id** + + + +## /api/resources ## + +### `GET` /api/resources.{_format} ### + +_List resources._ + +#### Requirements #### + +**_format** + + - Requirement: json|xml|html + +#### Response #### + +tests[]: + + * type: array of objects (Test) + +tests[][a]: + + * type: string + +tests[][b]: + + * type: DateTime + + +### `POST` /api/resources.{_format} ### + +_Create a new resource._ + +#### Requirements #### + +**_format** + + - Requirement: json|xml|html + +#### Parameters #### + +a: + + * type: string + * required: true + * description: Something that describes A. + +b: + + * type: float + * required: true + +c: + + * type: choice + * required: true + +d: + + * type: datetime + * required: true + +e: + + * type: date + * required: true + +g: + + * type: string + * required: true + +#### Response #### + +foo: + + * type: DateTime + +bar: + + * type: string + +baz[]: + + * type: array of integers + * description: Epic description. + +With multiple lines. + +circular: + + * type: object (JmsNested) + +circular[foo]: + + * type: DateTime + +circular[bar]: + + * type: string + +circular[baz][]: + + * type: array of integers + * description: Epic description. + +With multiple lines. + +circular[circular]: + + * type: object (JmsNested) + +circular[parent]: + + * type: object (JmsTest) + +circular[parent][foo]: + + * type: string + +circular[parent][bar]: + + * type: DateTime + +circular[parent][number]: + + * type: double + +circular[parent][arr]: + + * type: array + +circular[parent][nested]: + + * type: object (JmsNested) + +circular[parent][nested_array][]: + + * type: array of objects (JmsNested) + +circular[since]: + + * type: string + * versions: >=0.2 + +circular[until]: + + * type: string + * versions: <=0.3 + +circular[since_and_until]: + + * type: string + * versions: >=0.4,<=0.5 + +parent: + + * type: object (JmsTest) + +parent[foo]: + + * type: string + +parent[bar]: + + * type: DateTime + +parent[number]: + + * type: double + +parent[arr]: + + * type: array + +parent[nested]: + + * type: object (JmsNested) + +parent[nested_array][]: + + * type: array of objects (JmsNested) + +since: + + * type: string + * versions: >=0.2 + +until: + + * type: string + * versions: <=0.3 + +since_and_until: + + * type: string + * versions: >=0.4,<=0.5 + + +### `DELETE` /api/resources/{id}.{_format} ### + +_Delete a resource by ID._ + +#### Requirements #### + +**_format** + + - Requirement: json|xml|html +**id** + + + +### `GET` /api/resources/{id}.{_format} ### + +_Retrieve a resource by ID._ + +#### Requirements #### + +**_format** + + - Requirement: json|xml|html +**id** + + + +## /tests ## + +### `GET` /tests.{_format} ### + +_index action_ + +#### Requirements #### + +**_format** + + +#### Filters #### + +a: + + * DataType: integer + +b: + + * DataType: string + * Arbitrary: ["arg1","arg2"] + + +### `GET` /tests.{_format} ### + +_index action_ + +#### Requirements #### + +**_format** + + +#### Filters #### + +a: + + * DataType: integer + +b: + + * DataType: string + * Arbitrary: ["arg1","arg2"] + + +### `POST` /tests.{_format} ### + +_create test_ + +#### Requirements #### + +**_format** + + +#### Parameters #### + +a: + + * type: string + * required: true + * description: A nice description + +b: + + * type: string + * required: false + +c: + + * type: boolean + * required: true + +d: + + * type: string + * required: true + * default value: DefaultTest + + +### `POST` /tests.{_format} ### + +_create test_ + +#### Requirements #### + +**_format** + + +#### Parameters #### + +a: + + * type: string + * required: true + * description: A nice description + +b: + + * type: string + * required: false + +c: + + * type: boolean + * required: true + +d: + + * type: string + * required: true + * default value: DefaultTest + + +## /tests2 ## + +### `POST` /tests2.{_format} ### + +_post test 2_ + +#### Requirements #### + +**_format** + + + +## TestResource ## + +### `ANY` /named-resource ### + + + +### `POST` /another-post ### + +_create another test_ + +#### Parameters #### + +dependency_type: + + * type: object (dependency_type) + * required: true + +dependency_type[a]: + + * type: string + * required: true + * description: A nice description + + +### `ANY` /any ### + +_Action without HTTP verb_ + + +### `ANY` /any/{foo} ### + +_Action without HTTP verb_ + +#### Requirements #### + +**foo** + + + +### `ANY` /authenticated ### + + + +### `POST` /jms-input-test ### + +_Testing JMS_ + +#### Parameters #### + +foo: + + * type: string + * required: false + +number: + + * type: double + * required: false + +arr: + + * type: array + * required: false + +nested: + + * type: object (JmsNested) + * required: false + +nested[bar]: + + * type: string + * required: false + * default value: baz + +nested[baz][]: + + * type: array of integers + * required: false + * description: Epic description. + +With multiple lines. + +nested[circular]: + + * type: object (JmsNested) + * required: false + +nested[parent]: + + * type: object (JmsTest) + * required: false + +nested[parent][foo]: + + * type: string + * required: false + +nested[parent][number]: + + * type: double + * required: false + +nested[parent][arr]: + + * type: array + * required: false + +nested[parent][nested]: + + * type: object (JmsNested) + * required: false + +nested[parent][nested_array][]: + + * type: array of objects (JmsNested) + * required: false + +nested[since]: + + * type: string + * required: false + +nested[until]: + + * type: string + * required: false + +nested[since_and_until]: + + * type: string + * required: false + +nested_array[]: + + * type: array of objects (JmsNested) + * required: false + + +### `GET` /jms-return-test ### + +_Testing return_ + +#### Response #### + +dependency_type: + + * type: object (dependency_type) + +dependency_type[a]: + + * type: string + * description: A nice description + + +### `ANY` /my-commented/{id}/{page}/{paramType}/{param} ### + +_This method is useful to test if the getDocComment works._ + +#### Requirements #### + +**id** + + - Type: int + - Description: A nice comment +**page** + + - Type: int +**paramType** + + - Type: int + - Description: The param type +**param** + + - Type: int + - Description: The param id + + +### `ANY` /return-nested-output ### + + +#### Response #### + +foo: + + * type: string + +bar: + + * type: DateTime + +number: + + * type: double + +arr: + + * type: array + +nested: + + * type: object (JmsNested) + +nested[foo]: + + * type: DateTime + +nested[bar]: + + * type: string + +nested[baz][]: + + * type: array of integers + * description: Epic description. + +With multiple lines. + +nested[circular]: + + * type: object (JmsNested) + +nested[parent]: + + * type: object (JmsTest) + +nested[parent][foo]: + + * type: string + +nested[parent][bar]: + + * type: DateTime + +nested[parent][number]: + + * type: double + +nested[parent][arr]: + + * type: array + +nested[parent][nested]: + + * type: object (JmsNested) + +nested[parent][nested_array][]: + + * type: array of objects (JmsNested) + +nested[since]: + + * type: string + * versions: >=0.2 + +nested[until]: + + * type: string + * versions: <=0.3 + +nested[since_and_until]: + + * type: string + * versions: >=0.4,<=0.5 + +nested_array[]: + + * type: array of objects (JmsNested) + + +### `ANY` /secure-route ### + + + +### `ANY` /yet-another/{id} ### + + +#### Requirements #### + +**id** + + - Requirement: \d+ + + +### `GET` /z-action-with-deprecated-indicator ### +### This method is deprecated ### + + + + +### `POST` /z-action-with-nullable-request-param ### + + +#### Parameters #### + +param1: + + * type: string + * required: false + * description: Param1 description. + + +### `GET` /z-action-with-query-param ### + + +#### Filters #### + +page: + + * Requirement: \d+ + * Description: Page of the overview. + * Default: 1 + + +### `GET` /z-action-with-query-param-no-default ### + + +#### Filters #### + +page: + + * Requirement: \d+ + * Description: Page of the overview. + + +### `GET` /z-action-with-query-param-strict ### + + +#### Requirements #### + +**page** + + - Requirement: \d+ + - Description: Page of the overview. + + +### `POST` /z-action-with-request-param ### + + +#### Parameters #### + +param1: + + * type: string + * required: true + * description: Param1 description. + + +### `ANY` /z-return-jms-and-validator-output ### + + +#### Response #### + +bar: + + * type: DateTime + +objects[]: + + * type: array of objects (Test) + +objects[][a]: + + * type: string + +objects[][b]: + + * type: DateTime + +number: + + * type: DateTime + +related: + + * type: object (Test) + +related[a]: + + * type: string + +related[b]: + + * type: DateTime + + +### `ANY` /z-return-selected-parsers-input ### + + +#### Parameters #### + +a: + + * type: string + * required: true + * description: A nice description + +b: + + * type: string + * required: false + +c: + + * type: boolean + * required: true + +d: + + * type: string + * required: true + * default value: DefaultTest + + +### `ANY` /z-return-selected-parsers-output ### + + +#### Response #### + +bar: + + * type: DateTime + +objects[]: + + * type: array of objects (Test) + +objects[][a]: + + * type: string + +objects[][b]: + + * type: DateTime + +number: + + * type: DateTime + +related: + + * type: object (Test) + +related[a]: + + * type: string + +related[b]: + + * type: DateTime + + +### `POST` /zcached ### + + + +### `POST` /zsecured ### diff --git a/Tests/Formatter/testFormat-result.php b/Tests/Formatter/testFormat-result.php new file mode 100644 index 0000000..01f0293 --- /dev/null +++ b/Tests/Formatter/testFormat-result.php @@ -0,0 +1,2436 @@ + + array ( + 0 => + array ( + 'method' => 'GET', + 'uri' => '/api/other-resources.{_format}', + 'description' => 'List another resource.', + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => 'json|xml|html', + 'dataType' => '', + 'description' => '', + ), + ), + 'response' => + array ( + '' => + array ( + 'dataType' => 'array of objects (JmsTest)', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', + 'actualType' => 'collection', + 'readonly' => true, + 'required' => true, + 'default' => true, + 'description' => '', + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => 'baz', + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'baz' => + array ( + 'dataType' => 'array of integers', + 'actualType' => 'collection', + 'subType' => 'integer', + 'required' => false, + 'default' => NULL, + 'description' => 'Epic description. + +With multiple lines.', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'circular' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'parent' => + array ( + 'dataType' => 'object (JmsTest)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + ), + 'since' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.2', + 'untilVersion' => NULL, + ), + 'until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => '0.3', + ), + 'since_and_until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.4', + 'untilVersion' => '0.5', + ), + ), + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + ), + ), + 'resourceDescription' => 'Operations on another resource.', + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'default', + 'premium', + ), + ), + 1 => + array ( + 'method' => 'PUT|PATCH', + 'uri' => '/api/other-resources/{id}.{_format}', + 'description' => 'Update a resource bu ID.', + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => 'json|xml|html', + 'dataType' => '', + 'description' => '', + ), + 'id' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + ), + '/api/resources' => + array ( + 0 => + array ( + 'method' => 'GET', + 'uri' => '/api/resources.{_format}', + 'description' => 'List resources.', + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => 'json|xml|html', + 'dataType' => '', + 'description' => '', + ), + ), + 'response' => + array ( + 'tests' => + array ( + 'dataType' => 'array of objects (Test)', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', + 'actualType' => 'collection', + 'readonly' => true, + 'required' => true, + 'default' => true, + 'description' => '', + 'children' => + array ( + 'a' => + array ( + 'default' => 'nelmio', + 'actualType' => 'string', + 'subType' => NULL, + 'format' => '{length: min: foo}, {not blank}', + 'required' => true, + 'dataType' => 'string', + 'readonly' => NULL, + ), + 'b' => + array ( + 'default' => NULL, + 'actualType' => 'datetime', + 'subType' => NULL, + 'dataType' => 'DateTime', + 'readonly' => NULL, + 'required' => NULL, + ), + ), + ), + ), + 'statusCodes' => + array ( + 200 => + array ( + 0 => 'Returned on success.', + ), + 404 => + array ( + 0 => 'Returned if resource cannot be found.', + ), + ), + 'resourceDescription' => 'Operations on resource.', + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'test', + 'premium', + 'default', + ), + ), + 1 => + array ( + 'method' => 'POST', + 'uri' => '/api/resources.{_format}', + 'description' => 'Create a new resource.', + 'parameters' => + array ( + 'a' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => 'Something that describes A.', + 'readonly' => false, + ), + 'b' => + array ( + 'dataType' => 'float', + 'actualType' => 'float', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + 'c' => + array ( + 'dataType' => 'choice', + 'actualType' => 'choice', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + 'format' => '{"x":"X","y":"Y","z":"Z"}', + ), + 'd' => + array ( + 'dataType' => 'datetime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + 'e' => + array ( + 'dataType' => 'date', + 'actualType' => 'date', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + 'g' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + ), + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => 'json|xml|html', + 'dataType' => '', + 'description' => '', + ), + ), + 'response' => + array ( + 'foo' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => 'baz', + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'baz' => + array ( + 'dataType' => 'array of integers', + 'actualType' => 'collection', + 'subType' => 'integer', + 'required' => false, + 'default' => NULL, + 'description' => 'Epic description. + +With multiple lines.', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'circular' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => 'baz', + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'baz' => + array ( + 'dataType' => 'array of integers', + 'actualType' => 'collection', + 'subType' => 'integer', + 'required' => false, + 'default' => NULL, + 'description' => 'Epic description. + +With multiple lines.', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'circular' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'parent' => + array ( + 'dataType' => 'object (JmsTest)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + ), + 'since' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.2', + 'untilVersion' => NULL, + ), + 'until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => '0.3', + ), + 'since_and_until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.4', + 'untilVersion' => '0.5', + ), + ), + ), + 'parent' => + array ( + 'dataType' => 'object (JmsTest)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + ), + 'since' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.2', + 'untilVersion' => NULL, + ), + 'until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => '0.3', + ), + 'since_and_until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.4', + 'untilVersion' => '0.5', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'default', + 'premium', + ), + ), + 2 => + array ( + 'method' => 'DELETE', + 'uri' => '/api/resources/{id}.{_format}', + 'description' => 'Delete a resource by ID.', + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => 'json|xml|html', + 'dataType' => '', + 'description' => '', + ), + 'id' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 3 => + array ( + 'method' => 'GET', + 'uri' => '/api/resources/{id}.{_format}', + 'description' => 'Retrieve a resource by ID.', + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => 'json|xml|html', + 'dataType' => '', + 'description' => '', + ), + 'id' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + ), + '/tests' => + array ( + 0 => + array ( + 'method' => 'GET', + 'uri' => '/tests.{_format}', + 'description' => 'index action', + 'filters' => + array ( + 'a' => + array ( + 'dataType' => 'integer', + ), + 'b' => + array ( + 'dataType' => 'string', + 'arbitrary' => + array ( + 0 => 'arg1', + 1 => 'arg2', + ), + ), + ), + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 1 => + array ( + 'method' => 'GET', + 'uri' => '/tests.{_format}', + 'description' => 'index action', + 'filters' => + array ( + 'a' => + array ( + 'dataType' => 'integer', + ), + 'b' => + array ( + 'dataType' => 'string', + 'arbitrary' => + array ( + 0 => 'arg1', + 1 => 'arg2', + ), + ), + ), + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 2 => + array ( + 'method' => 'POST', + 'uri' => '/tests.{_format}', + 'host' => 'api.test.dev', + 'description' => 'create test', + 'parameters' => + array ( + 'a' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => 'A nice description', + 'readonly' => false, + ), + 'b' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => false, + 'description' => NULL, + 'readonly' => false, + ), + 'c' => + array ( + 'dataType' => 'boolean', + 'actualType' => 'boolean', + 'subType' => NULL, + 'default' => false, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + 'd' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => 'DefaultTest', + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + ), + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'default', + 'premium', + ), + ), + 3 => + array ( + 'method' => 'POST', + 'uri' => '/tests.{_format}', + 'host' => 'api.test.dev', + 'description' => 'create test', + 'parameters' => + array ( + 'a' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => 'A nice description', + 'readonly' => false, + ), + 'b' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => false, + 'description' => NULL, + 'readonly' => false, + ), + 'c' => + array ( + 'dataType' => 'boolean', + 'actualType' => 'boolean', + 'subType' => NULL, + 'default' => false, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + 'd' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => 'DefaultTest', + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + ), + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'default', + 'premium', + ), + ), + ), + '/tests2' => + array ( + 0 => + array ( + 'method' => 'POST', + 'uri' => '/tests2.{_format}', + 'description' => 'post test 2', + 'requirements' => + array ( + '_format' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'default', + 'premium', + ), + ), + ), + 'TestResource' => + array ( + 0 => + array ( + 'method' => 'ANY', + 'uri' => '/named-resource', + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'default', + ), + ), + ), + 'others' => + array ( + 0 => + array ( + 'method' => 'POST', + 'uri' => '/another-post', + 'description' => 'create another test', + 'parameters' => + array ( + 'dependency_type' => + array ( + 'required' => true, + 'readonly' => false, + 'description' => '', + 'default' => NULL, + 'dataType' => 'object (dependency_type)', + 'actualType' => 'model', + 'subType' => 'dependency_type', + 'children' => + array ( + 'a' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => 'A nice description', + 'readonly' => false, + ), + ), + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'views' => array( + 'default', + 'test', + ), + ), + 1 => + array ( + 'method' => 'ANY', + 'uri' => '/any', + 'description' => 'Action without HTTP verb', + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 2 => + array ( + 'method' => 'ANY', + 'uri' => '/any/{foo}', + 'description' => 'Action without HTTP verb', + 'requirements' => + array ( + 'foo' => + array ( + 'requirement' => '', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 3 => + array ( + 'method' => 'ANY', + 'uri' => '/authenticated', + 'https' => false, + 'authentication' => true, + 'authenticationRoles' => + array ( + 0 => 'ROLE_USER', + 1 => 'ROLE_FOOBAR', + ), + 'deprecated' => false, + ), + 4 => + array ( + 'method' => 'POST', + 'uri' => '/jms-input-test', + 'description' => 'Testing JMS', + 'parameters' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => 'baz', + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'baz' => + array ( + 'dataType' => 'array of integers', + 'actualType' => 'collection', + 'subType' => 'integer', + 'required' => false, + 'default' => NULL, + 'description' => 'Epic description. + +With multiple lines.', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'circular' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'parent' => + array ( + 'dataType' => 'object (JmsTest)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + ), + 'since' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.2', + 'untilVersion' => NULL, + ), + 'until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => '0.3', + ), + 'since_and_until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.4', + 'untilVersion' => '0.5', + ), + ), + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 5 => + array ( + 'method' => 'GET', + 'uri' => '/jms-return-test', + 'description' => 'Testing return', + 'response' => + array ( + 'dependency_type' => + array ( + 'required' => true, + 'readonly' => false, + 'description' => '', + 'default' => NULL, + 'dataType' => 'object (dependency_type)', + 'actualType' => 'model', + 'subType' => 'dependency_type', + 'children' => + array ( + 'a' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => 'A nice description', + 'readonly' => false, + ), + ), + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 6 => + array ( + 'method' => 'ANY', + 'uri' => '/my-commented/{id}/{page}/{paramType}/{param}', + 'description' => 'This method is useful to test if the getDocComment works.', + 'documentation' => 'This method is useful to test if the getDocComment works. +And, it supports multilines until the first \'@\' char.', + 'requirements' => + array ( + 'id' => + array ( + 'dataType' => 'int', + 'description' => 'A nice comment', + 'requirement' => '', + ), + 'page' => + array ( + 'dataType' => 'int', + 'description' => '', + 'requirement' => '', + ), + 'paramType' => + array ( + 'dataType' => 'int', + 'description' => 'The param type', + 'requirement' => '', + ), + 'param' => + array ( + 'dataType' => 'int', + 'description' => 'The param id', + 'requirement' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 7 => + array ( + 'method' => 'GET', + 'uri' => '/popos', + 'description' => 'Retrieves the collection of Popo resources.', + 'documentation' => 'Gets the collection.', + 'response' => + array ( + 'foo' => + array ( + 'required' => false, + 'description' => '', + 'readonly' => false, + 'dataType' => 'string', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'resourceDescription' => 'Popo', + 'section' => 'Popo', + ), + 8 => + array ( + 'method' => 'POST', + 'uri' => '/popos', + 'description' => 'Creates a Popo resource.', + 'documentation' => 'Adds an element to the collection.', + 'parameters' => + array ( + 'foo' => + array ( + 'required' => false, + 'description' => '', + 'readonly' => false, + 'dataType' => 'string', + ), + ), + 'response' => + array ( + 'foo' => + array ( + 'required' => false, + 'description' => '', + 'readonly' => false, + 'dataType' => 'string', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'resourceDescription' => 'Popo', + 'section' => 'Popo', + ), + 9 => + array ( + 'method' => 'DELETE', + 'uri' => '/popos/{id}', + 'description' => 'Deletes the Popo resource.', + 'documentation' => 'Deletes an element of the collection.', + 'requirements' => + array ( + 'id' => + array ( + 'dataType' => 'string', + 'description' => '', + 'requirement' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'resourceDescription' => 'Popo', + 'section' => 'Popo', + ), + 10 => + array ( + 'method' => 'GET', + 'uri' => '/popos/{id}', + 'description' => 'Retrieves Popo resource.', + 'documentation' => 'Gets an element of the collection.', + 'requirements' => + array ( + 'id' => + array ( + 'dataType' => 'int', + 'description' => '', + 'requirement' => '', + ), + ), + 'response' => + array ( + 'foo' => + array ( + 'required' => false, + 'description' => '', + 'readonly' => false, + 'dataType' => 'string', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'resourceDescription' => 'Popo', + 'section' => 'Popo', + ), + 11 => + array ( + 'method' => 'PUT', + 'uri' => '/popos/{id}', + 'description' => 'Replaces the Popo resource.', + 'documentation' => 'Replaces an element of the collection.', + 'parameters' => + array ( + 'foo' => + array ( + 'required' => false, + 'description' => '', + 'readonly' => false, + 'dataType' => 'string', + ), + ), + 'requirements' => + array ( + 'id' => + array ( + 'dataType' => 'string', + 'description' => '', + 'requirement' => '', + ), + ), + 'response' => + array ( + 'foo' => + array ( + 'required' => false, + 'description' => '', + 'readonly' => false, + 'dataType' => 'string', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + 'resourceDescription' => 'Popo', + 'section' => 'Popo', + ), + 12 => + array ( + 'method' => 'ANY', + 'uri' => '/return-nested-output', + 'response' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => 'baz', + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'baz' => + array ( + 'dataType' => 'array of integers', + 'actualType' => 'collection', + 'subType' => 'integer', + 'required' => false, + 'default' => NULL, + 'description' => 'Epic description. + +With multiple lines.', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'circular' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'parent' => + array ( + 'dataType' => 'object (JmsTest)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsTest', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'foo' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'bar' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => true, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'number' => + array ( + 'dataType' => 'double', + 'actualType' => 'float', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'arr' => + array ( + 'dataType' => 'array', + 'actualType' => 'collection', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested' => + array ( + 'dataType' => 'object (JmsNested)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + ), + 'since' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.2', + 'untilVersion' => NULL, + ), + 'until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => '0.3', + ), + 'since_and_until' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => '0.4', + 'untilVersion' => '0.5', + ), + ), + ), + 'nested_array' => + array ( + 'dataType' => 'array of objects (JmsNested)', + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\JmsNested', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 13 => + array ( + 'method' => 'ANY', + 'uri' => '/secure-route', + 'https' => true, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 14 => + array ( + 'method' => 'ANY', + 'uri' => '/yet-another/{id}', + 'requirements' => + array ( + 'id' => + array ( + 'requirement' => '\\d+', + 'dataType' => '', + 'description' => '', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 15 => + array ( + 'method' => 'GET', + 'uri' => '/z-action-with-deprecated-indicator', + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => true, + ), + 16 => + array ( + 'method' => 'POST', + 'uri' => '/z-action-with-nullable-request-param', + 'parameters' => + array ( + 'param1' => + array ( + 'required' => false, + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'description' => 'Param1 description.', + 'readonly' => false, + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 17 => + array ( + 'method' => 'GET', + 'uri' => '/z-action-with-query-param', + 'filters' => + array ( + 'page' => + array ( + 'requirement' => '\\d+', + 'description' => 'Page of the overview.', + 'default' => '1', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 18 => + array ( + 'method' => 'GET', + 'uri' => '/z-action-with-query-param-no-default', + 'filters' => + array ( + 'page' => + array ( + 'requirement' => '\\d+', + 'description' => 'Page of the overview.', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 19 => + array ( + 'method' => 'GET', + 'uri' => '/z-action-with-query-param-strict', + 'requirements' => + array ( + 'page' => + array ( + 'requirement' => '\\d+', + 'dataType' => '', + 'description' => 'Page of the overview.', + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 20 => + array ( + 'method' => 'POST', + 'uri' => '/z-action-with-request-param', + 'parameters' => + array ( + 'param1' => + array ( + 'required' => true, + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'description' => 'Param1 description.', + 'readonly' => false, + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 21 => + array ( + 'method' => 'ANY', + 'uri' => '/z-return-jms-and-validator-output', + 'response' => + array ( + 'bar' => + array ( + 'default' => NULL, + 'actualType' => 'datetime', + 'subType' => NULL, + 'dataType' => 'DateTime', + 'readonly' => NULL, + 'required' => NULL, + ), + 'objects' => + array ( + 'default' => NULL, + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', + 'dataType' => 'array of objects (Test)', + 'children' => + array ( + 'a' => + array ( + 'default' => 'nelmio', + 'actualType' => 'string', + 'subType' => NULL, + 'format' => '{length: min: foo}, {not blank}', + 'required' => true, + 'dataType' => 'string', + 'readonly' => NULL, + ), + 'b' => + array ( + 'default' => NULL, + 'actualType' => 'datetime', + 'subType' => NULL, + 'dataType' => 'DateTime', + 'readonly' => NULL, + 'required' => NULL, + ), + ), + 'readonly' => NULL, + 'required' => NULL, + ), + 'number' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'related' => + array ( + 'dataType' => 'object (Test)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'a' => + array ( + 'default' => 'nelmio', + 'actualType' => 'string', + 'subType' => NULL, + 'format' => '{length: min: foo}, {not blank}', + 'required' => true, + 'dataType' => 'string', + 'readonly' => NULL, + ), + 'b' => + array ( + 'default' => NULL, + 'actualType' => 'datetime', + 'subType' => NULL, + 'dataType' => 'DateTime', + 'readonly' => NULL, + 'required' => NULL, + ), + ), + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 22 => + array ( + 'method' => 'ANY', + 'uri' => '/z-return-selected-parsers-input', + 'parameters' => + array ( + 'a' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => true, + 'description' => 'A nice description', + 'readonly' => false, + ), + 'b' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => NULL, + 'required' => false, + 'description' => NULL, + 'readonly' => false, + ), + 'c' => + array ( + 'dataType' => 'boolean', + 'actualType' => 'boolean', + 'subType' => NULL, + 'default' => false, + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + 'd' => + array ( + 'dataType' => 'string', + 'actualType' => 'string', + 'subType' => NULL, + 'default' => 'DefaultTest', + 'required' => true, + 'description' => NULL, + 'readonly' => false, + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 23 => + array ( + 'method' => 'ANY', + 'uri' => '/z-return-selected-parsers-output', + 'response' => + array ( + 'bar' => + array ( + 'default' => NULL, + 'actualType' => 'datetime', + 'subType' => NULL, + 'dataType' => 'DateTime', + 'readonly' => NULL, + 'required' => NULL, + ), + 'objects' => + array ( + 'default' => NULL, + 'actualType' => 'collection', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', + 'dataType' => 'array of objects (Test)', + 'children' => + array ( + 'a' => + array ( + 'default' => 'nelmio', + 'actualType' => 'string', + 'subType' => NULL, + 'format' => '{length: min: foo}, {not blank}', + 'required' => true, + 'dataType' => 'string', + 'readonly' => NULL, + ), + 'b' => + array ( + 'default' => NULL, + 'actualType' => 'datetime', + 'subType' => NULL, + 'dataType' => 'DateTime', + 'readonly' => NULL, + 'required' => NULL, + ), + ), + 'readonly' => NULL, + 'required' => NULL, + ), + 'number' => + array ( + 'dataType' => 'DateTime', + 'actualType' => 'datetime', + 'subType' => NULL, + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + ), + 'related' => + array ( + 'dataType' => 'object (Test)', + 'actualType' => 'model', + 'subType' => 'Nelmio\\ApiDocBundle\\Tests\\Fixtures\\Model\\Test', + 'required' => false, + 'default' => NULL, + 'description' => '', + 'readonly' => false, + 'sinceVersion' => NULL, + 'untilVersion' => NULL, + 'children' => + array ( + 'a' => + array ( + 'default' => 'nelmio', + 'actualType' => 'string', + 'subType' => NULL, + 'format' => '{length: min: foo}, {not blank}', + 'required' => true, + 'dataType' => 'string', + 'readonly' => NULL, + ), + 'b' => + array ( + 'default' => NULL, + 'actualType' => 'datetime', + 'subType' => NULL, + 'dataType' => 'DateTime', + 'readonly' => NULL, + 'required' => NULL, + ), + ), + ), + ), + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 24 => + array ( + 'method' => 'POST', + 'uri' => '/zcached', + 'cache' => 60, + 'https' => false, + 'authentication' => false, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + 25 => + array ( + 'method' => 'POST', + 'uri' => '/zsecured', + 'https' => false, + 'authentication' => true, + 'authenticationRoles' => + array ( + ), + 'deprecated' => false, + ), + ), +); diff --git a/Tests/Parser/DunglasApiParserTest.php b/Tests/Parser/DunglasApiParserTest.php index 7a976b1..16b63d0 100644 --- a/Tests/Parser/DunglasApiParserTest.php +++ b/Tests/Parser/DunglasApiParserTest.php @@ -31,8 +31,6 @@ class DunglasApiParserTest extends WebTestCase public function testParser() { - $this->markTestSkipped('There is an issue because of DunglasApiBundle'); - $container = $this->getContainer(); $parser = $container->get('nelmio_api_doc.parser.dunglas_api_parser'); diff --git a/composer.json b/composer.json index 46e94c2..a5306f3 100644 --- a/composer.json +++ b/composer.json @@ -34,9 +34,11 @@ "symfony/form": "~2.3", "symfony/finder": "~2.3", "symfony/serializer": "~2.7", + "doctrine/orm": "~2.3", + "doctrine/doctrine-bundle": "~1.5", "friendsofsymfony/rest-bundle": "~1.0", "jms/serializer-bundle": ">=0.11", - "dunglas/api-bundle": "~1.0", + "dunglas/api-bundle": "~1.0@dev", "sensio/framework-extra-bundle": "~3.0", "symfony/phpunit-bridge": "~2.7" },