Added interfaces for Connector and Powerdns #72
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This will PR will add interface for Connector and PowerDNS.
Description
The ConnectorInterface will improve implementing your own connector. In the current version you can only extend the class Connector and make modifications, but you're still limited to the use of Guzzle.
The PowerdnsInterface makes it easier for applications which uses this package to deal with testing when communication with PowerDNS without having to run PowerDNS when running tests.
Motivation and context
This fixes #71
When using dependency injection within your own application it is useful to have interfaces as typehints for function arguments. This way the service container can injection the needed implementation for each situation. When testing your own application you can inject a dummy Powerdns class which implements the interface, so you don't have to run PowerDNS locally. This is extremely useful for behaviour tests which only deals with an applications behaviour and not with infrastructure.
How has this been tested?
n/a
Screenshots (if appropriate)
Types of changes
What types of changes does your code introduce? Put an
x
in all the boxes that apply:Checklist:
Go over all the following points, and put an
x
in all the boxes that apply.Please, please, please, don't send your pull request until all of the boxes are ticked. Once your pull request is created, it will trigger a build on our continuous integration server to make sure your tests pass.
If you're unsure about any of these, don't hesitate to ask. We're here to help!