mstfleri / denetmen-bundle
Url testing tool for symfony2 projects.
Installs: 1 436
Dependents: 0
Suggesters: 0
Security: 0
Stars: 49
Watchers: 6
Forks: 2
Open Issues: 1
Requires
- php: >=5.3.0
- guzzle/guzzle: ~3.0
- symfony/framework-bundle: >=2.0,<3.0
Requires (Dev)
- symfony/symfony: ~2.3
This package is not auto-updated.
Last update: 2024-12-21 15:49:43 UTC
README
About
Denetmen is a url testing tool for Symfony2 projects via Guzzle
- Test your get url.
- Mock your urls for testing.
- Apply response validators for your result.
- Get email notification when your pages are nor working correctly.
Installation
For Symfony >= 2.0
Require the bundle in your composer.json file:
{ "require": { "mstfleri/denetmen-bundle": "dev-master" } }
Install the bundle:
$ composer update mstfleri/denetmen-bundle
Register the bundle:
// app/AppKernel.php public function registerBundles() { $bundles = array( new \Hezarfen\DenetmenBundle\HezarfenDenetmenBundle() ); }
That's all!
Usage
Configure your routes in parameters section.
Add denetmen.yml into your config.yml
#app/config/config.yml
imports:
- { resource: denetmen.yml }
...
Configuration Parameters
Define excluded routings in excluded segment.
Define general parameters in router_configs.general segment.
Define parameter by routing key in router_configs.routing_key.
#app/config/denetmen.yml
parameters:
denetmen:
base_url: "http://localhost:8000/"
excluded:
- "_wdt"
- "_profiler"
- "_configurator"
- "_acme_demo"
- "_profiler_info"
router_configs:
general:
id: 1
name: "Mustafa"
get_bin_number_routing_key:
parameters:
cardNumber: 1122334455667788
get_user_routing_key:
parameters:
id: 1
For these routings:
get_bin_number_routing_key:
pattern: /check-bin/{cardNumber}
defaults: { _controller: YourPaymentBundle:Default:getBinNumber }
methods: [GET]
get_user_routing_key:
pattern: /user/{id}
defaults: { _controller: YourUserBundle:Default:getUser }
methods: [GET]
Url requests will be generated:
[GET] http://localhost:8000/check-bin/1122334455667788
[GET] http://localhost:8000//user/1
Response Validators
You can define reponse validations
- type: You can define response type validator.
- max_response_time: You can define maximum response time.
- filter > node_traversing: You can define selector and value of selector.
Example:
#app/config/denetmen.yml
...
router_configs:
...
get_user_routing_key:
parameters:
id: 1
response:
type: "text/html; charset=UTF-8"
filter:
node_traversing:
- ['body > header > div > nav > ul > li', 'Content1']
- ['body > header > div.top > nav > ul:nth-child(1) > li:nth-child(2) > a', 'Content2']
max_response_time: 0.5
...
...
How to run?
$app/console denetmen:run:url-test
Or you can use regex for routers.
You can filter your routes
Example: Filter by starting with "get_"
$app/console denetmen:run:url-test --pattern='#^get_(.*)$#i'
Activate email notification:
You can activate email notification when one of your routers has any error.
$app/console denetmen:run:url-test --alert-email='youremail@yourdomain.com'
MIT License
License can be found here.
Authors
The bundle was originally created by Mustafa İleri. See the list of contributors.