From 969ea6d79cfe537bcf8edc561aed27b9cd6e48e4 Mon Sep 17 00:00:00 2001 From: Miguel Reboiro Jato Date: Mon, 18 Sep 2023 19:31:09 +0200 Subject: [PATCH] Upgrades dependency versions --- README.md | 198 +++++------------- domain/pom.xml | 4 +- .../esei/xcs/domain/entities/OwnerTest.java | 2 +- .../esei/xcs/domain/entities/PetTest.java | 2 +- .../esei/xcs/domain/entities/UserTest.java | 2 +- jsf/pom.xml | 19 +- jsf/src/main/webapp/WEB-INF/template.xhtml | 4 +- .../es/uvigo/esei/xcs/jsf/OwnerJsfTest.java | 2 +- .../uvigo/esei/xcs/jsf/pages/LoginPage.java | 2 +- .../uvigo/esei/xcs/jsf/pages/OwnersPage.java | 2 +- pom.xml | 69 +++--- rest/pom.xml | 4 +- .../esei/xcs/rest/OwnerResourceRestTest.java | 2 +- .../esei/xcs/rest/OwnerResourceUnitTest.java | 2 +- service/pom.xml | 4 +- .../service/OwnerServiceIntegrationTest.java | 2 +- .../service/PetServiceIntegrationTest.java | 2 +- ...erServiceIllegalAccessIntegrationTest.java | 4 +- tests/pom.xml | 2 +- .../xcs/domain/entities/IsEqualToOwner.java | 7 - .../xcs/domain/entities/IsEqualToPet.java | 7 - .../xcs/domain/entities/IsEqualToUser.java | 4 - .../esei/xcs/http/util/HasHttpStatus.java | 7 - 23 files changed, 125 insertions(+), 228 deletions(-) diff --git a/README.md b/README.md index bd8b543..9cd1bed 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,10 @@ This repository contains the code base of a sample project that will be used in the XCS subject inside the DGSS itinerary. ## 1. Deployment Environment -The environment is based on Java 8, Maven 3.3+, Git 1.9+, MySQL 8+, -WildFly 10.1.0 and Eclipse for JavaEE. +The environment is based on Java 8, Maven 3.3+, Git 1.9+, MySQL 8+, WildFly 10.1.0 and Eclipse IDE for Enterprise Java and Web Developers. ### 1.1. Java JDK 8 -Download and install Java JDK 8, preferably the Oracle version (the commands -`java` and `javac` must be available). +Download and install Java JDK 8 (the commands `java` and `javac` must be available). You can test your Java installation with the commands: @@ -19,9 +17,7 @@ javac -version ``` ### 1.2. Maven 3.3+ -Install Maven 3 in your system, if it was not installed (the `mvn` command must -be available). If you are in a Debian-based OS, install the `maven` package -(**don't install `maven2` package!!**): +Install Maven 3 in your system, if it was not installed (the `mvn` command must be available). If you are in a Debian-based OS, install the `maven` package (**don't install `maven2` package!!**): ``` sudo apt-get install maven @@ -34,10 +30,7 @@ mvn --version ``` ### 1.3. Git 1.9+ -Firstly, install Git in your system if it was not installed (the `git` command -must be available). We will work with Git to get updates of these sample. -Concretely, we will work with a Git repository inside -[our Gitlab server](https://www.sing-group.org/dt/gitlab). +Firstly, install Git in your system if it was not installed (the `git` command must be available). We will work with Git to get updates of these sample. Concretely, we will work with a Git repository inside [our Gitlab server](https://www.sing-group.org/dt/gitlab). You can tests your Git installation with the command: @@ -52,17 +45,13 @@ git clone http://sing-group.org/dt/gitlab/dgss-2324/xcs-sample.git ``` ### 1.4. MySQL 8+ -In order to run the tests with the `wildfly-embedded-mysql` profile (more about -this in the **Sample 2** section) and to run the application, we need a MySQL -server. +In order to run the tests with the `wildfly-embedded-mysql` profile (more about this in the **Sample 2** section) and to run the application, we need a MySQL server. The server can be installed as usual, but it must contain two databases: * The `xcs` database for running the application. * The `xcssampletest` database for testing the appliaction. -In both cases, the user `xcs` identified by `xcs` password should have all -privileges on this database. You can do this by executing the following -commands: +In both cases, the user `xcs` identified by `xcs` password should have all privileges on this database. You can do this by executing the following commands: ```sql CREATE DATABASE xcs; @@ -75,9 +64,7 @@ GRANT ALL PRIVILEGES ON xcssampletest.* TO xcs@'%'; FLUSH PRIVILEGES; ``` -If you want to add some data to the `xcs` database to run the application (data -will be automatically inserted to the `xcssampletest` database during the -tests) you can also execute: +If you want to add some data to the `xcs` database to run the application (data will be automatically inserted to the `xcssampletest` database during the tests) you can also execute: ```sql DROP TABLE IF EXISTS `User`; @@ -117,49 +104,28 @@ VALUES ('CAT','2000-01-01 01:01:01','Pepecat','pepe'), ('BIRD','2000-01-01 01:01:01','Anabird','ana'); ``` -You can find the `xcs-sample-mysql.sql` and `xcs-sample-test-mysql.sql` scripts -with these queries stored in the `additional-material/db` project folder. +You can find the `xcs-sample-mysql.sql` and `xcs-sample-test-mysql.sql` scripts with these queries stored in the `additional-material/db` project folder. ### 1.5. Eclipse for Java EE -Open Eclipse for Java EE and import your Maven project with -`File -> Import -> Maven -> Existing Maven Projects`. In the dialog opened you -have to select as `Root directory` the directory of the project that you have -just cloned (it should contain a `pom.xml` file). - -Eclipse should then import a parent project (`xcs-sample`) and 6 child projects -(`tests`, `domain`, `service`, `rest`, `jsf` and `ear`). If any project is -disabled for import it is probably because you already have another project in -your workspace with the same name. To avoid this problem you can open the -advanced settings of the dialog and use a custom `Name template` (for example, -`xcs-sample-[artifactId]`). - -If you want, you can use any other IDE, such as IntelliJ IDEA or NetBeans, as -long as they are compatible with Maven projects, but we recommend using Eclipse -for Java EE. +Open Eclipse for Java EE and import your Maven project with `File -> Import -> Maven -> Existing Maven Projects`. In the dialog opened you have to select as `Root directory` the directory of the project that you have just cloned (it should contain a `pom.xml` file). + +Eclipse should then import a parent project (`xcs-sample`) and 6 child projects (`tests`, `domain`, `service`, `rest`, `jsf` and `ear`). If any project is disabled for import it is probably because you already have another project in your workspace with the same name. To avoid this problem you can open the advanced settings of the dialog and use a custom `Name template` (for example, `xcs-sample-[artifactId]`). + +If you want, you can use any other IDE, such as IntelliJ IDEA or NetBeans, as long as they are compatible with Maven projects, but we recommend using Eclipse for Java EE. ### 1.6 WildFly 10.1.0 -If you want to run the project you need a Java EE server. In this section you -can find how to configure a local WildFly server to execute the project. -Basically, we need to configure the WildFly server to include the datasource and -the security configuration needed by the application. - -In the following sections you can find an explanation of how you can configure -the WildFly server by editing the `standalone.xml`. However, the -`additional-material/wildfly` directory of the project already includes a -`standalone.xml` ready to be used with the 10.1.0 version, that you can -just copy directly into your WildFly server (replacing the original +If you want to run the project you need a Java EE server. In this section you can find how to configure a local WildFly server to execute the project. Basically, we need to configure the WildFly server to include the datasource and the security configuration needed by the application. + +In the following sections you can find an explanation of how you can configure the WildFly server by editing the `standalone.xml`. However, the `additional-material/wildfly` directory of the project already includes a `standalone.xml` ready to be used with the 10.1.0 version, that you can just copy directly into your WildFly server (replacing the original `standalone/configuration/standalone.xml` file). #### 1.6.1. Datasource configuration -There are several ways to add a datasource to a WildFly server. We are going to -add it by editing the `standalone/configuration/standalone.xml` configuration -file of the server. To do so, you have to edit this file and add the following -content to the `` element: +There are several ways to add a datasource to a WildFly server. We are going to add it by editing the `standalone/configuration/standalone.xml` configuration file of the server. To do so, you have to edit this file and add the following content to the `` element: ```xml jdbc:mysql://localhost:3306/xcs?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Europe%2FMadrid - mysql-connector-java-8.0.21.jar + mysql-connector-java-8.1.0.jar xcs xcs @@ -167,14 +133,11 @@ content to the `` element: ``` -In addition, you also have to add the MySQL driver to the deployments folder -(`standalone/deployments`). You can download it form [here](http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.21/mysql-connector-java-8.0.21.jar) -to the deployments (`standalone/deployments`) directory and WildFly will +In addition, you also have to add the MySQL driver to the deployments folder (`standalone/deployments`). You can download it form [here] (https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.1.0/mysql-connector-j-8.1.0.jar) to the deployments (`standalone/deployments`) directory and WildFly will automatically deploy it on startup. #### 1.6.2. Security configuration -All the WildFly security configuration is done in the -`standalone/configuration/standalone.xml` file of the server. +All the WildFly security configuration is done in the `standalone/configuration/standalone.xml` file of the server. Inside the `` element you have to add a new security realm: @@ -186,8 +149,7 @@ Inside the `` element you have to add a new security realm: ``` -Then, inside the `` element you have to add the following -security domains: +Then, inside the `` element you have to add the following security domains: ```xml @@ -212,48 +174,30 @@ security domains: ``` #### 1.6.3. Deploying the application manually -When the `package` goal is run in the `xcs-sample` project, an EAR file is -generated inside the `target` folder of the `ear` project. +When the `package` goal is run in the `xcs-sample` project, an EAR file is generated inside the `target` folder of the `ear` project. -The EAR file contains all the elements of the project (JARs and WARs) and, -therefore, you only have to deploy this file in the WildFly container to deploy -the entire application. To do so, you can copy this file to the -`standalone/deployments` folder of WidlFly. +The EAR file contains all the elements of the project (JARs and WARs) and, therefore, you only have to deploy this file in the WildFly container to deploy the entire application. To do so, you can copy this file to the `standalone/deployments` folder of WidlFly. -Once this is done, you can run the WildFly server executing the -`bin/standalone.sh` script. The application should be running in -http://localhost:8080/xcs-sample. If you want to access through the web -interface, you can open the http://localhost:8080/xcs-sample/jsf URL. +Once this is done, you can run the WildFly server executing the `bin/standalone.sh` script. The application should be running in http://localhost:8080/xcs-sample. If you want to access through the web interface, you can open the http://localhost:8080/xcs-sample/jsf URL. #### 1.6.4 Deploying the application from Maven -Maven configuration is prepared to deploy the generated EAR file to a running -WildFly. Doing so is as easy as launching the `wildfly:deploy` goal: +Maven configuration is prepared to deploy the generated EAR file to a running WildFly. Doing so is as easy as launching the `wildfly:deploy` goal: ```bash mvn wildfly:deploy ``` -This will launch the construction of the project and, at the end, the EAR will -be deployed. Remember that, if you want a fast deployment, you can avoid the -test execution with the parameter `-DskipTests=true`. +This will launch the construction of the project and, at the end, the EAR will be deployed. Remember that, if you want a fast deployment, you can avoid the test execution with the parameter `-DskipTests=true`. #### 1.7. Running the application from Maven (Recommended) -This project includes the Maven WildFly plugin, which allows the execution of -the application without needing an external WildFly server. To run the -application with the running MySQL database (`xcs`) you just have execute the -following command: +This project includes the Maven WildFly plugin, which allows the execution of the application without needing an external WildFly server. To run the application with the running MySQL database (`xcs`) you just have execute the following command: ```bash mvn install -P wildfly-mysql-run,-wildfly-embedded-h2 ``` -This will launch the complete construction cycle without running the tests, -start a WildFly server and deploy the application. Once the application is -running you can access it in the URL http://localhost:8080/xcs-sample/jsf. +This will launch the complete construction cycle without running the tests, start a WildFly server and deploy the application. Once the application is running you can access it in the URL http://localhost:8080/xcs-sample/jsf. -**Important**: You shouldn't have a local WildFly instance running or Maven will -not be able to start its own WildFly and will try to deploy the application in -the running instance. This will cause changes to the WildFly configuration that -may leave it in an unstable state. +**Important**: You shouldn't have a local WildFly instance running or Maven will not be able to start its own WildFly and will try to deploy the application in the running instance. This will cause changes to the WildFly configuration that may leave it in an unstable state. To stop the WildFly launched you can execute the following command: @@ -263,62 +207,38 @@ mvn wildfly:shutdown ## 2. Samples ## 2.1. Sample 1: Testing entities -Using JUnit and Hamcrest, we will see how to test JPA entities or any other -Java class. This libraries are the base for every test done in the application. +Using JUnit and Hamcrest, we will see how to test JPA entities or any other Java class. This libraries are the base for every test done in the application. ## 2.2. Sample 2: Testing EJBs -Using Arquillian and Arquillian Persistence, the EJBs are tested. We wouldn't do -unit testing in this layer, as we don't want to mock the `EntityManager`. +Using Arquillian and Arquillian Persistence, the EJBs are tested. We wouldn't do unit testing in this layer, as we don't want to mock the `EntityManager`. -In this layer we will use some workarounds to set the desired role and principal -in the tests. +In this layer we will use some workarounds to set the desired role and principal in the tests. ### 2.2.1. How to run tests with Arquillian? This project is configured to use two Maven profiles: -* `wildfly-embedded-h2`: this profile uses WildFly in embedded mode with a H2 -database, whose driver is included by default in WilFly. +* `wildfly-embedded-h2`: this profile uses WildFly in embedded mode with a H2 database, whose driver is included by default in WilFly. * `wildfly-embedded-mysql`: same as before, but it uses a MySQL database. -In both profiles, the WildFly server is automatically downloaded using the -`maven-dependency-plugin`, that extracts it in the `target/wildfly-` -folder (`target/wildfly-10.1.0.Final` currently). In the MySQL profile, the -MySQL driver is also downloaded using this plugin and added to the -`target/wildfly-/standalone/deployments` folder, to make it available -in the WildFly server. +In both profiles, the WildFly server is automatically downloaded using the `maven-dependency-plugin`, that extracts it in the `target/wildfly-` folder (`target/wildfly-10.1.0.Final` currently). In the MySQL profile, the MySQL driver is also downloaded using this plugin and added to the `target/wildfly-/standalone/deployments` folder, to make it available in the WildFly server. -For each profile, Maven is configured to use the files stored in -`src/test/resources-` as resources when running tests, in addition -to the stored in the `src/test/resources` folder, as usual. Inside this folder, -the projects using Arquillian must include a `standalone.xml` file, that will be -replace the default `standalone.xml` file of the WildFly server. This is -specially useful to configure the security constraints and datasources. +For each profile, Maven is configured to use the files stored in `src/test/resources-` as resources when running tests, in addition to the stored in the `src/test/resources` folder, as usual. Inside this folder, the projects using Arquillian must include a `standalone.xml` file, that will be replace the default `standalone.xml` file of the WildFly server. This is specially useful to configure the security constraints and datasources. -In order to avoid port collising with other WildFly instances, the WildFly used -by the test have a port offset of 10000. This means that the HTTP port is -displaced from the default 8080 port to the 18080 port, and the management port -is displaced from the default 9990 port to the 19990 port. +In order to avoid port collising with other WildFly instances, the WildFly used by the test have a port offset of 10000. This means that the HTTP port is displaced from the default 8080 port to the 18080 port, and the management port is displaced from the default 9990 port to the 19990 port. -Therefore, when running Maven tests (e.g. `mvn test`), they will run without any -external requirement. +Therefore, when running Maven tests (e.g. `mvn test`), they will run without any external requirement. #### 2.2.1.1 Arquillian tests in Eclipse -To run Arquillian tests in Eclipse (or in any non-Maven enviroment) a further -step is needed. You must configure the following system properties: +To run Arquillian tests in Eclipse (or in any non-Maven enviroment) a further step is needed. You must configure the following system properties: * `arquillian.launch`: the launch configuration that arquillian should use. -* `wildfly.version`: the version of the WildFly server stored in `target`. -The current version is `10.1.0.Final`. +* `wildfly.version`: the version of the WildFly server stored in `target`. The current version is `10.1.0.Final`. * `wildfly.jbossHome`: the location of the WildFly server. * `wildfly.modulePath`: the location of the module of the WildFly server. -* `java.util.logging.manager`: the logger to be used by the standard Java -logger. Commonly, the value `org.jboss.logmanager.LogManager` is used. -* `jboss.socket.binding.port-offset`: this is an optional parameter that -can be used to move the WildFly default ports. +* `java.util.logging.manager`: the logger to be used by the standard Java logger. Commonly, the value `org.jboss.logmanager.LogManager` is used. +* `jboss.socket.binding.port-offset`: this is an optional parameter that can be used to move the WildFly default ports. * `wildfly.http.port`: HTTP of the WildFly server. * `wildfly.management.port`: management port of the WildFly server. -In Eclipse, this system properties can be added to the run configuration in the -`VM arguments` field of the `Arguments` tab. For example, the following -configuration will work for the current configuration: +In Eclipse, this system properties can be added to the run configuration in the `VM arguments` field of the `Arguments` tab. For example, the following configuration will work for the current configuration: ``` -Darquillian.launch=wildfly-embedded @@ -331,17 +251,14 @@ configuration will work for the current configuration: -Dwildfly.management.port=19990 ``` -This configuration will run with the **H2** database. If you wish to run the -tests with the **MySQL** database, you have to add to additional system -configuration: -* `mysql.version`: The version of the MySQL driver (currently, `8.0.21`). +This configuration will run with the **H2** database. If you wish to run the tests with the **MySQL** database, you have to add to additional system configuration: +* `mysql.version`: The version of the MySQL driver (currently, `8.1.0`) -Therefore, the `VM arguments` configuration for running the tests in Eclipse -using the MySQL database is: +Therefore, the `VM arguments` configuration for running the tests in Eclipse using the MySQL database is: ``` -Darquillian.launch=wildfly-embedded --Dmysql.version=8.0.21 +-Dmysql.version=8.1.0 -Dwildfly.version=10.1.0.Final -Dwildfly.jbossHome=target/wildfly-10.1.0.Final -Dwildfly.modulePath=target/wildfly-10.1.0.Final/modules @@ -352,12 +269,10 @@ using the MySQL database is: ``` ## 2.3. Sample 3: Testing with test doubles -Using EasyMock, we will mock the EJBs to test the REST classes isolated from the -underlying layer. +Using EasyMock, we will mock the EJBs to test the REST classes isolated from the underlying layer. ## 2.4. Sample 4: Testing JAX-RS -Using Arquillian REST Client, we will test the REST API accessing it as real -HTTP clients. +Using Arquillian REST Client, we will test the REST API accessing it as real HTTP clients. Tests can be run using the same configuration as explained in *Sample 2*. @@ -366,20 +281,17 @@ When executed, the REST resources can be found in: * Pets: http://localhost:8080/xcs-sample/rest/api/pet ## 2.5. Sample 5: Testing JSF -Using Arquillian Drone, Arquillian Graphene and Selenium, we will test the JSF -web interface accessing it as real Web clients. +Using Arquillian Drone, Arquillian Graphene and Selenium, we will test the JSF web interface accessing it as real Web clients. Tests can be run using the same configuration as explained in *Sample 2*. -When executed, the REST resources can be found in -http://localhost:8080/xcs-sample/jsf/faces/index.html. +When executed, the REST resources can be found in http://localhost:8080/xcs-sample/jsf/faces/index.html. + +Warning: JSF test have been disabled due to a [known connection issue](https://firefox-source-docs.mozilla.org/testing/geckodriver/Usage.html#Running-Firefox-in-an-container-based-package) between the Firefox driver and the Firefox installed by default in Ubuntu +22.04. ## 2.6. Sample 6: Additional Testing Tools ### Test coverage with JaCoCo -Test coverage is a very useful tool that shows the parts of the source code that -are covered by the tests. The coverage analysis is done during the tests -execution, making it very precise. +Test coverage is a very useful tool that shows the parts of the source code that are covered by the tests. The coverage analysis is done during the tests execution, making it very precise. -The JaCoCo plugin is now part or the project, analyzing the test execution. This -plugin generates a HTML report in the `target/site/jacoco` folder. This report -is very useful to check if some part of the code is missing some tests. +The JaCoCo plugin is now part or the project, analyzing the test execution. This plugin generates a HTML report in the `target/site/jacoco` folder. This report is very useful to check if some part of the code is missing some tests. diff --git a/domain/pom.xml b/domain/pom.xml index be0c312..6147fbe 100644 --- a/domain/pom.xml +++ b/domain/pom.xml @@ -32,11 +32,11 @@ org.hamcrest - java-hamcrest + hamcrest test - + diff --git a/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/OwnerTest.java b/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/OwnerTest.java index 928bae2..90c499a 100644 --- a/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/OwnerTest.java +++ b/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/OwnerTest.java @@ -8,7 +8,7 @@ import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.collection.IsEmptyIterable.emptyIterable; import static org.hamcrest.collection.IsIterableContainingInAnyOrder.containsInAnyOrder; import static org.hamcrest.collection.IsIterableContainingInOrder.contains; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import java.util.Date; diff --git a/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/PetTest.java b/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/PetTest.java index c5b4ea2..879edae 100644 --- a/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/PetTest.java +++ b/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/PetTest.java @@ -4,7 +4,7 @@ import static org.apache.commons.lang3.StringUtils.repeat; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import java.util.Date; diff --git a/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/UserTest.java b/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/UserTest.java index 3455bf2..0c1e50a 100644 --- a/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/UserTest.java +++ b/domain/src/test/java/es/uvigo/esei/xcs/domain/entities/UserTest.java @@ -3,7 +3,7 @@ package es.uvigo.esei.xcs.domain.entities; import static org.apache.commons.lang3.StringUtils.repeat; import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import org.junit.Before; import org.junit.Test; diff --git a/jsf/pom.xml b/jsf/pom.xml index 23108fd..90c38e2 100644 --- a/jsf/pom.xml +++ b/jsf/pom.xml @@ -42,7 +42,7 @@ org.hamcrest - java-hamcrest + hamcrest test @@ -66,6 +66,11 @@ pom test + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-impl-maven + test + @@ -100,12 +105,12 @@ download-geckodriver process-test-resources - + - + run @@ -140,12 +145,12 @@ download-geckodriver process-test-resources - + - + run @@ -248,12 +253,12 @@ download-geckodriver process-test-resources - + - + run diff --git a/jsf/src/main/webapp/WEB-INF/template.xhtml b/jsf/src/main/webapp/WEB-INF/template.xhtml index 50854f7..85c07dd 100644 --- a/jsf/src/main/webapp/WEB-INF/template.xhtml +++ b/jsf/src/main/webapp/WEB-INF/template.xhtml @@ -5,7 +5,7 @@ Pet Store - +
@@ -42,6 +42,6 @@
- +
\ No newline at end of file diff --git a/jsf/src/test/java/es/uvigo/esei/xcs/jsf/OwnerJsfTest.java b/jsf/src/test/java/es/uvigo/esei/xcs/jsf/OwnerJsfTest.java index 5246c2d..fd53ad7 100644 --- a/jsf/src/test/java/es/uvigo/esei/xcs/jsf/OwnerJsfTest.java +++ b/jsf/src/test/java/es/uvigo/esei/xcs/jsf/OwnerJsfTest.java @@ -11,7 +11,7 @@ import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.owners; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.ownersAnd; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.ownersWithout; import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import java.nio.file.Path; import java.nio.file.Paths; diff --git a/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/LoginPage.java b/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/LoginPage.java index c49d2e7..b19dce5 100644 --- a/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/LoginPage.java +++ b/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/LoginPage.java @@ -1,7 +1,7 @@ package es.uvigo.esei.xcs.jsf.pages; import static org.hamcrest.core.StringContains.containsString; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import org.jboss.arquillian.drone.api.annotation.Drone; import org.jboss.arquillian.graphene.page.Location; diff --git a/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/OwnersPage.java b/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/OwnersPage.java index 4407066..a314da5 100644 --- a/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/OwnersPage.java +++ b/jsf/src/test/java/es/uvigo/esei/xcs/jsf/pages/OwnersPage.java @@ -2,7 +2,7 @@ package es.uvigo.esei.xcs.jsf.pages; import static java.util.Arrays.stream; import static org.hamcrest.core.StringContains.containsString; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import org.jboss.arquillian.drone.api.annotation.Drone; import org.jboss.arquillian.graphene.GrapheneElement; diff --git a/pom.xml b/pom.xml index b6da356..db6042b 100644 --- a/pom.xml +++ b/pom.xml @@ -38,42 +38,42 @@ 7.0 - 1.1.13.Final + 1.7.1.Final 1.0.0.Alpha4 - 3.4.0 + 3.13.0 3.0.0-beta-2 10.1.0.Final 3.4 - 3.3.7-1 + 3.4.1 - 1.0.0.Alpha9 + 1.1.0 1.0.0.Alpha7 3.0.3.Final 2.1.0.Final - 3.4 + 5.2.0 v0.33.0 - 2.3.1 - 2.0.0.0 - 0.7.9 - 4.12 - 8.0.21 - 3.0.24.Final + 2.5.4 + 2.2 + 0.8.10 + 4.13.2 + 8.1.0 + 3.15.6.Final 1.5.10 - 1.8 - 3.6.1 + 3.1.0 + 3.11.0 2.10.1 - 2.10.4 - 2.10 - 2.8.2 - 3.0.2 - 3.0.1 - 2.20 - 1.2.0.Final + 3.6.0 + 3.6.0 + 3.1.1 + 3.3.1 + 3.3.0 + 3.1.2 + 1.2.2.Final @@ -91,6 +91,13 @@ pom import + + org.jboss.shrinkwrap.resolver + shrinkwrap-resolver-bom + ${shrinkwrap.resolver.bom.version} + pom + import + org.jboss.arquillian.selenium selenium-bom @@ -147,7 +154,7 @@ org.hamcrest - java-hamcrest + hamcrest ${hamcrest.version} @@ -188,8 +195,8 @@ ${jacoco.version} - mysql - mysql-connector-java + com.mysql + mysql-connector-j ${mysql.connector.java.version} @@ -589,8 +596,8 @@ - mysql - mysql-connector-java + com.mysql + mysql-connector-j jar false ${project.build.directory}/wildfly-${wildfly.version}/standalone/deployments @@ -607,8 +614,8 @@ - mysql - mysql-connector-java + com.mysql + mysql-connector-j jar false ${project.build.directory} @@ -690,8 +697,8 @@ - mysql - mysql-connector-java + com.mysql + mysql-connector-j jar false ${project.build.directory}/wildfly-${wildfly.version}/standalone/deployments @@ -708,8 +715,8 @@ - mysql - mysql-connector-java + com.mysql + mysql-connector-j jar false ${project.build.directory} diff --git a/rest/pom.xml b/rest/pom.xml index 307dfd7..34c97b3 100644 --- a/rest/pom.xml +++ b/rest/pom.xml @@ -38,7 +38,7 @@ org.hamcrest - java-hamcrest + hamcrest test @@ -67,7 +67,7 @@ test - + diff --git a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java index 1c77e70..9247c59 100644 --- a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java +++ b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceRestTest.java @@ -18,7 +18,7 @@ import static es.uvigo.esei.xcs.http.util.HasHttpStatus.hasMethodNotAllowedStatu import static es.uvigo.esei.xcs.http.util.HasHttpStatus.hasOkStatus; import static javax.ws.rs.client.Entity.json; import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import java.util.List; diff --git a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java index 446d177..c034afc 100644 --- a/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java +++ b/rest/src/test/java/es/uvigo/esei/xcs/rest/OwnerResourceUnitTest.java @@ -20,7 +20,7 @@ import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.collection.IsEmptyCollection.empty; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import java.net.URI; import java.util.List; diff --git a/service/pom.xml b/service/pom.xml index 1479b2b..98b5bb1 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -37,7 +37,7 @@ org.hamcrest - java-hamcrest + hamcrest test @@ -56,7 +56,7 @@ test - + diff --git a/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java b/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java index d13da1e..07acf25 100644 --- a/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java +++ b/service/src/test/java/es/uvigo/esei/xcs/service/OwnerServiceIntegrationTest.java @@ -20,7 +20,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.collection.IsCollectionWithSize.hasSize; import static org.hamcrest.collection.IsEmptyCollection.empty; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import java.util.Collection; import java.util.List; diff --git a/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java b/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java index 45707e8..b8b6c3d 100644 --- a/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java +++ b/service/src/test/java/es/uvigo/esei/xcs/service/PetServiceIntegrationTest.java @@ -14,7 +14,7 @@ import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.petWithId; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.collection.IsEmptyCollection.empty; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import java.util.Date; import java.util.List; diff --git a/service/src/test/java/es/uvigo/esei/xcs/service/UserServiceIllegalAccessIntegrationTest.java b/service/src/test/java/es/uvigo/esei/xcs/service/UserServiceIllegalAccessIntegrationTest.java index 83bec3d..805e370 100644 --- a/service/src/test/java/es/uvigo/esei/xcs/service/UserServiceIllegalAccessIntegrationTest.java +++ b/service/src/test/java/es/uvigo/esei/xcs/service/UserServiceIllegalAccessIntegrationTest.java @@ -4,7 +4,7 @@ import static es.uvigo.esei.xcs.domain.entities.IsEqualToUser.equalToUser; import static es.uvigo.esei.xcs.domain.entities.OwnersDataset.existentOwner; import static es.uvigo.esei.xcs.domain.entities.UsersDataset.existentAdmin; import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; +import static org.hamcrest.MatcherAssert.assertThat; import javax.ejb.EJB; import javax.inject.Inject; @@ -21,10 +21,8 @@ import org.junit.Test; import org.junit.runner.RunWith; import es.uvigo.esei.xcs.domain.entities.Owner; -import es.uvigo.esei.xcs.domain.entities.OwnersDataset; import es.uvigo.esei.xcs.domain.entities.Pet; import es.uvigo.esei.xcs.domain.entities.User; -import es.uvigo.esei.xcs.domain.entities.UsersDataset; import es.uvigo.esei.xcs.service.util.security.RoleCaller; import es.uvigo.esei.xcs.service.util.security.TestPrincipal; diff --git a/tests/pom.xml b/tests/pom.xml index b34c7e3..d605111 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -30,7 +30,7 @@ org.hamcrest - java-hamcrest + hamcrest compile diff --git a/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToOwner.java b/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToOwner.java index 848ca78..0c1673e 100644 --- a/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToOwner.java +++ b/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToOwner.java @@ -1,6 +1,5 @@ package es.uvigo.esei.xcs.domain.entities; -import org.hamcrest.Factory; import org.hamcrest.Matcher; public class IsEqualToOwner extends IsEqualToEntity { @@ -25,32 +24,26 @@ public class IsEqualToOwner extends IsEqualToEntity { } } - @Factory public static IsEqualToOwner equalToOwner(Owner owner) { return new IsEqualToOwner(owner, true); } - @Factory public static IsEqualToOwner equalToOwnerWithoutRelations(Owner owner) { return new IsEqualToOwner(owner, false); } - @Factory public static Matcher> containsOwnersInAnyOrder(Owner ... owners) { return containsEntityInAnyOrder(IsEqualToOwner::equalToOwner, owners); } - @Factory public static Matcher> containsOwnersWithoutRelationsInAnyOrder(Owner ... owners) { return containsEntityInAnyOrder(IsEqualToOwner::equalToOwnerWithoutRelations, owners); } - @Factory public static Matcher> containsOwnersInAnyOrder(Iterable owners) { return containsEntityInAnyOrder(IsEqualToOwner::equalToOwner, owners); } - @Factory public static Matcher> containsOwnersWithoutRelationsInAnyOrder(Iterable owners) { return containsEntityInAnyOrder(IsEqualToOwner::equalToOwnerWithoutRelations, owners); } diff --git a/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToPet.java b/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToPet.java index 554034c..90c5b8c 100644 --- a/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToPet.java +++ b/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToPet.java @@ -1,6 +1,5 @@ package es.uvigo.esei.xcs.domain.entities; -import org.hamcrest.Factory; import org.hamcrest.Matcher; public class IsEqualToPet extends IsEqualToEntity { @@ -26,32 +25,26 @@ public class IsEqualToPet extends IsEqualToEntity { } } - @Factory public static IsEqualToPet equalToPet(Pet pet) { return new IsEqualToPet(pet, true); } - @Factory public static IsEqualToPet equalToPetWithoutRelations(Pet pet) { return new IsEqualToPet(pet, false); } - @Factory public static Matcher> containsPetsInAnyOrder(Pet ... pets) { return containsEntityInAnyOrder(IsEqualToPet::equalToPet, pets); } - @Factory public static Matcher> containsPetsWithoutRelationsInAnyOrder(Pet ... pets) { return containsEntityInAnyOrder(IsEqualToPet::equalToPetWithoutRelations, pets); } - @Factory public static Matcher> containsPetsInAnyOrder(Iterable pets) { return containsEntityInAnyOrder(IsEqualToPet::equalToPet, pets); } - @Factory public static Matcher> containsPetsWithoutRelationsInAnyOrder(Iterable pets) { return containsEntityInAnyOrder(IsEqualToPet::equalToPetWithoutRelations, pets); } diff --git a/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToUser.java b/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToUser.java index 7359d22..87aafe5 100644 --- a/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToUser.java +++ b/tests/src/main/java/es/uvigo/esei/xcs/domain/entities/IsEqualToUser.java @@ -1,6 +1,5 @@ package es.uvigo.esei.xcs.domain.entities; -import org.hamcrest.Factory; import org.hamcrest.Matcher; public class IsEqualToUser extends IsEqualToEntity { @@ -21,17 +20,14 @@ public class IsEqualToUser extends IsEqualToEntity { } } - @Factory public static IsEqualToUser equalToUser(User user) { return new IsEqualToUser(user); } - @Factory public static Matcher> containsUsersInAnyOrder(User ... users) { return containsEntityInAnyOrder(IsEqualToUser::equalToUser, users); } - @Factory public static Matcher> containsUsersInAnyOrder(Iterable users) { return containsEntityInAnyOrder(IsEqualToUser::equalToUser, users); } diff --git a/tests/src/main/java/es/uvigo/esei/xcs/http/util/HasHttpStatus.java b/tests/src/main/java/es/uvigo/esei/xcs/http/util/HasHttpStatus.java index fe4af53..46bfcb8 100644 --- a/tests/src/main/java/es/uvigo/esei/xcs/http/util/HasHttpStatus.java +++ b/tests/src/main/java/es/uvigo/esei/xcs/http/util/HasHttpStatus.java @@ -4,7 +4,6 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.StatusType; import org.hamcrest.Description; -import org.hamcrest.Factory; import org.hamcrest.TypeSafeMatcher; import static javax.ws.rs.core.Response.Status.BAD_REQUEST; @@ -33,32 +32,26 @@ public class HasHttpStatus extends TypeSafeMatcher { return this.status.getStatusCode() == item.getStatus(); } - @Factory public static HasHttpStatus hasHttpStatus(int statusCode) { return new HasHttpStatus(statusCode); } - @Factory public static HasHttpStatus hasHttpStatus(StatusType status) { return new HasHttpStatus(status); } - @Factory public static HasHttpStatus hasOkStatus() { return new HasHttpStatus(OK); } - @Factory public static HasHttpStatus hasCreatedStatus() { return new HasHttpStatus(CREATED); } - @Factory public static HasHttpStatus hasMethodNotAllowedStatus() { return new HasHttpStatus(METHOD_NOT_ALLOWED); } - @Factory public static HasHttpStatus hasBadRequestStatus() { return new HasHttpStatus(BAD_REQUEST); } -- 2.18.1