1. 24 Feb, 2016 2 commits
    • Administrator's avatar
      LoginFilter adds the login to the HTTP session · 053d0cfb
      Administrator authored
      When a user is correctly logged in, the LoginFilter adds the user login
      to the HTTP session. This allows, for example, the REST layer to
      retrieve the current logged user.
      053d0cfb
    • Administrator's avatar
      Refactorizes and improves the tests · 234b3fb9
      Administrator authored
      The tests classes have been simplified by delegating some of the
      functions in the test classes to external utility classes. For example,
      a PeopleDataset has been added to manage the dataset or the
      IsEqualToEntity Hamcrest matcher has been added to simplify entity
      comparisons.
      
      In addition, a PersonUnitTest class has been added to test the Person
      entity.
      234b3fb9
  2. 16 Feb, 2016 1 commit
    • Administrator's avatar
      Refactorizes the whole project for a simpler testing and execution · bf91733b
      Administrator authored
      A big refactorization has been done in this commit, focused on
      simplifying the testing and execution process. The Spring-DbUnit library
      has been added to allow the use of DbUnit through annotations in the
      test classes. This change has been complemented with two new test
      listeners that allow the creation of custom initial contexts and the use
      of custom SQL scripts to create and destroy the database tables before
      and after the test execution, respectively. In addition, all the tests
      are executed now using a HSQLDB database.
      
      The datasource configuration has been pulled out of the project, and now
      it must be provided by the container.
      
      The sample classes have been reviewed, refactorized and documented with
      JavaDoc.
      
      The POM file has been reworked to ease test and application execution
      using maven. The new execution modes are:
      	- The default execution includes unit, integration and acceptance (with
      Selenium) test execution.
      	- No acceptance tests: mvn -P -acceptance-tests-cargo <phase>
      	- Run server for manual acceptance tests: mvn
      -Dcargo.tomcat.start.skip=true -Dcargo.tomcat.run.skip=false
      -DskipTests=true pre-integration-test 
      	- Run server with MySQL database: mvn -P
      run-tomcat-mysql,-acceptance-tests-cargo -DskipTests=true package
      cargo:run
      bf91733b
  3. 18 Feb, 2015 1 commit
  4. 11 Feb, 2015 1 commit
    • Administrator's avatar
      Testing improvement · 63347867
      Administrator authored
      Several testing improvement have been done:
      	- Cobertura plugin was replaced by JaCoCo plugin that supports Java 8
      syntax.
      	- Unit tests with a controller fixtured using EasyMock were added for
      PeopleDAO and PeopleResource.
      	- POM was reviewed, reordered and reformatted.
      	- Test classes naming was reviewed and standarized.
      	- Three test suites were added to group the unit, integration, and
      acceptance tests.
      	- Naming context management done in TestUtils was improved. 
      63347867
  5. 04 Feb, 2015 4 commits
    • Administrator's avatar
      Java 8 native SHA-256 and Base64 native algorithms. · 7d4b0096
      Administrator authored
      Dependency with Apache Commons Codec was removed and now the native Java
      8 utilities for SHA-256 and Base64 encoding and decoding is used.
      7d4b0096
    • Administrator's avatar
      java.util.logging.Logger as logger · 73365e45
      Administrator authored
      The java.util.logging.Logger was introduced as the logger for the
      application.
      73365e45
    • Administrator's avatar
      Annotations for web configuration. · 29daab8f
      Administrator authored
      Web configuration for REST services and login filter was moved from the
      web.xml file to code annotations.
      29daab8f
    • Administrator's avatar
      POM review and improvement, and project cleaning. · b45f3656
      Administrator authored
      POM was reviewed to update the dependencies of the project to the last
      version and to improve the test execution.
      
      Now it is possible to run the project with the testing database in a
      Tomcat Server v7.0 using the mvn tomcat7:run goal. In addition, Selenium
      tests now are executed as integration tests, starting the web server
      before the test execution and stoping it after the tests end. Finally,
      support for generating regular and cobertura test reports in HTML format
      was also added.
      
      The project was also cleaned by removing the MANIFEST.MF files and by
      reallocating the SQL files.
      b45f3656
  6. 19 Feb, 2014 2 commits
    • michada's avatar
      Test report generation added and minor code cleaning. · 8b9eed22
      michada authored
      Sunfire report generation plugin added to pom.xml.
      
      Minor code cleaning in pom.xml and PeopleWebTest class.
      8b9eed22
    • michada's avatar
      Login method modification. · cf184b2c
      michada authored
      New login method based in HTTP's Basic Authentication used. This new
      method eliminates the need of the database supporting the SHA256
      algorithm and facilitates the future use of Basic Authentication.
      
      Tests were updated to use the new token encoding.
      cf184b2c
  7. 15 Feb, 2014 2 commits
    • michada's avatar
      Tests for people management functionality added. · dfbb5e3a
      michada authored
      DAO class modified to support and alternative JNDI for the data source
      through the "db.jndi" system property. A new testing database resource
      was added to the Context.xml file.
      
      DAO tests use the "spring-test" library to create a JNDI context, as
      JUnit doesn't create any context. Additionaly, a custom DataSource is
      created using the "commons-dbcp" library and injected into the context.
      Testing database creation scripts are provided in the mysql-tests.sql
      file.
      
      REST API is tested in the server side using the
      "jersey-test-framework-provider-grizzly2" library. These tests also use
      the "spring-test" and "commons-dbcp" libraries to create a context and
      inject a custom data source.
      
      REST API is tested in the client side using the "Selenium IDE" and
      "RESTClient" plugins for Firefox. Manual database reset is required
      before launching the test suite.
      
      Web interface is tested using the "Selenium IDE" plugin for Firefox and
      using the "Selenium WebDrive" in JUnit tests. Same tests are implemented
      in both cases. Selenium IDE tests require a manual database reset before
      launching the test suite. JUnit test require the server to be started
      using the testing database.
      dfbb5e3a
    • michada's avatar
      Better error management in people DAO and REST API. · bf0490de
      michada authored
      PeopleDAO functions now throw an IllegalArgumentException when an
      invalid id or a null name or surname are provided. People's REST API
      modified to return a "Bad Request" status when an
      IllegalArgumentException is catched.
      bf0490de
  8. 12 Feb, 2014 1 commit
  9. 11 Feb, 2014 1 commit
    • michada's avatar
      Added login capabilities. · 41c409da
      michada authored
      Access to any resource except index.html can be restricted enabling the
      LoginFilter in the web.xml configuration file. It is currently disabled.
      
      Old index.html moved to main.html and replaced with an index.html that
      contains a login form.
      41c409da
  10. 10 Feb, 2014 2 commits
    • michada's avatar
      RESTful API correction. · 7e143670
      michada authored
      RESTful API modified to use PUT, DELETE, POST and GET methods.
      7e143670
    • michada's avatar
      First working version. · 7de0b1a9
      michada authored
      In this first version, this applicacion includes a complete CRUD using
      an AJAX+JSON+REST architecture.
      7de0b1a9