* Add initial (empty) Routes PHP Unit Test file
We still need to provide the automated tests
* Add initial Routes file
* Describe API Methods
* Inherit method from TestCase - adding @inheritdoc annotation
* Add new DTOs to map API responses to known objects
* Add new Response to manage the Routes list
* Implement method to retrieve a list of Routes
* Add new Response to manage a single Route resource
* Implement method to retrieve a single Route
* Set ShowResponse as final
* Add new Response to manage the Create process
* Implement method to create a new Route
* Fix missing annotation
* Add new Response to manage the Delete Route process
* Implement method to delete a Route based on the ID
* Add new Response to manage the Update Route process
This response is based on Domain API docs due there are no examples on
Routes API docs. We may need to update the response.
* Implement method to update a Route based on the ID
* Require a $limit value greater than 0
* Require a $skip value greater than or equal to 0
* Set UpdateResponse as final
* Add new (empty) public methods to test the Routes API
* Provide method to get the Routes API from Mailgun Client
* Add missed annotation
* Update ShowResponse to return an instance of ApiResponse instead of the DTO
* Update annotation
* Fix annotation
* Update array $actions to provide an empty array by default
* Update parameters to make sure the last arg always is a DateTime (or null)
* Use empty()
* Remove DTO suffix
* Move DTOs to the parent folder/namespace
* Fix annotations
* Introduce a request builder.
We inject every dependency (eg RequestFactory and MultipartStreamBuilder) and we do not have to use postMultipart.
* code style
* Use uppercase on http verbs
* Added setters and use getters
* Added tests
* style
* Removed inheritence, Renamed classes, Mark all classes as final
* code style
* Updated docs
* Code style
* Be consistant with the naming of functions
* Fixed tests
* Added base for the new API
* code style
* Added response classes
* Added support for serializer
* The abstract API should not know of Mailgun
* Minor
* minor
* Using a client configrator
* code style
* Put HTTPClient in the configurator
* Do not use the api() function
* Use stable version of Assert
* style
* Fixed tests
* make the httpClient private
* Renamed ResponseSerializer to ResponseDeserializer
* Disabled tests that are testing error messages with Assert
* style fixes
* Refactoring fix
* Write test to verify expected behaviour when we provide a String
* Fix broken test checking if the variable is an Array
* PSR Standard using single quote instead of double quote
Tried to throw MissingRequiredMIMEParameters which didn't exist in current namespace or added via use. Connection exceptions was included by MissingRequiredMIMEParameters is in messages exceptions so changed the added exception name to messages.
Exception message constant didn't exist. So added it.
Created a Mocks directory to seperate mocks from classes.
I moved Mailgun\Tests\MailGunTest to Mailgun\Test\Mocks\Mailgun. As it's not a
test it's a mock. So shouldn't be suffixed with Test.
I mocked Mailgun\Tests\Connection\TestBroker to Mailgun\Tests\Mocks\Connection\TestBroker as it's a mock and should be with other mocks.