Setup testing

* Setup unit tests
* Add a complete testing for plugins
* Setup end to end testing