DenetmenBundle is a Symfony2 bundle that allows testing of routes and responses. It informs you when pages return errors, checks response times and types, and validates response content. It can test GET requests, mock parameters, and validate responses. To use it, add the bundle to your composer.json file, register the bundle, and create a configuration file to define routes to test and validation rules. The console command runs the tests and can filter routes or send alerts on errors.
2. Manage your routes
like a boss
A command line application
Special for Symfony2
Uses Guzzle
MIT Licensed
3. WHY?
If you are not available to useTDD or BDD;
Denetmen will make your job easier.
So What Does Denetmen Do?
➔ Informs you when your pages return error
➔ Makes you sure about page response times
➔ Makes you sure about page response types
➔ Makes you sure about page response content
5. Denetmen can,
➔ Test your "get" requests,
➔ Mock your requests
➔ Validate response type, content, time
➔ Send you an e-mail on any error (optional)
Features
6. INSTALLATION
1. add denetmen-bundle to your composer.json file 2.update composer
~$ composer update
3.Register the bundle
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
new HezarfenDenetmenBundleHezarfenDenetmenBundle()
);
}
{
"require": {
"mstfleri/denetmen-bundle": "dev-master"
}
}
4.create your config
#app/config/config.yml
imports:
- { resource: denetmen.yml }
...
7. parameters:
denetmen:
base_url: "http://joker.dev/"
excluded:
- "joker_cart_apply_voucher"
- "joker_mail_homepage"
router_configs:
general:
name: "Mustafa"
joker_payment_check_bin_number:
parameters:
cardNumber: 1122334455667788
joker_user_ajax_get_address:
parameters:
id: 1
joker_brand_page:
parameters:
sefUrl: "action-man-906"
joker_product_homepage:
parameters:
product: "Deneme-1"
joker_root_category_homepage:
parameters:
categoryName: "bebek-arabalari"
joker_catalog_homepage:
parameters:
catalogHash: "Test-1"
response:
type: "text/html; charset=UTF-8"
filter:
node_traversing:
- ['body > header > div > nav > ul > li', 'Yardım']
- ['body > header > div.top > nav > ul:nth-child(1) > li:nth-child(2) > a', 'Hediye Listem Nedir?']
max_response_time: 0.5
joker_solr_suggestion:
response:
type: "application/json"
Sample config file
Excluded routes
Mock all “name“ parameters as “Mustafa” for all routes
Mock all “cardNumber“ parameter
as “1122334455667788” for
joker_payment_check_bin_number
Response type validator
Response ContentValidator
Response TimeValidator
ResponseValidators
8. How to run?
$app/console denetmen:run:url-test
You can flter your routes by regex.
$app/console denetmen:run:url-test --pattern='#^get_(.*)$#i'
You can activate email notifcation when one of your routes has any error.
$app/console denetmen:run:url-test --alert-email='youremail@yourdomain.com'