1. 07 Feb, 2017 4 commits
    • Administrator's avatar
      Adds automatic deployment capabilities to Tomcat execution · b0904247
      Administrator authored
      The run-tomcat-mysql allows the execution of the project in a Tomcat 8 server
      with a MySQL database through the "cargo:run" or "cargo:start" goals. This
      commit adds the fizzed-watcher-maven-plugin to provide the project with
      automatic redeployment when using the aforementioned profile.
      
      For example, executing the Maven command the application will be served in a
      Tomcat server an automatically redeployed when any file changes:
      
      mvn -DskipTest=true -Prun-tomcat-mysql cargo:start fizzed-watcher:run
      b0904247
    • Administrator's avatar
      Updates the POM configuration · 8696114a
      Administrator authored
      This commit updates the dependency and plugin versions in the POM file.
      The most important update is the one relative to Selenium, as recent
      Firefox browsers do not work with old Selenium Firefox drivers. Now,
      during the construction, the Gecko driver is downloaded to work with
      recent Firefox browsers.
      8696114a
    • Administrator's avatar
      Fixes the login token in PeopleWebTest · 9addf09a
      Administrator authored
      The login token was incorrectly set to "admin:admin" instead of
      "admin:adminpass". This commit fixes this and sets the valid token
      value.
      9addf09a
    • Administrator's avatar
      Removes WebContent directory · e75d5730
      Administrator authored
      The WebContent directory was not used in this project.
      e75d5730
  2. 10 Jun, 2016 3 commits
  3. 19 Apr, 2016 3 commits
  4. 29 Feb, 2016 2 commits
    • Administrator's avatar
      Fixes column nullability in MySQL scripts · 62db9925
      Administrator authored
      Some columns of the MySQL database created by the scripts in the "db"
      directory where incorrectly set as nullable. This commit fixes this
      error and sets them as non nullable columns.
      62db9925
    • Administrator's avatar
      Sets UTF-8 as the source encoding · e0a21f1e
      Administrator authored
      The POM has been updated to fix UTF-8 as the source code encoding. This
      avoids problems when building the project in Windows systems.
      e0a21f1e
  5. 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
  6. 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
  7. 18 Feb, 2015 1 commit
  8. 11 Feb, 2015 2 commits
    • 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
    • Administrator's avatar
      Scope adjustment of some test libraries · a42e8ca4
      Administrator authored
      The libraries jersey-test-framework-provider-grizzly2 and commons-dbcp
      are only used in the test, but they had the default scope. Now, they are
      test scoped.
      a42e8ca4
  9. 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
  10. 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
  11. 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
  12. 12 Feb, 2014 1 commit
  13. 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
  14. 10 Feb, 2014 3 commits