From af56039866b5a940bd2022f482a63603258a5469 Mon Sep 17 00:00:00 2001 From: Siwa12100 Date: Mon, 1 Apr 2024 16:23:03 +0200 Subject: [PATCH] travail sur l'authentification --- pom.xml | 44 +++-- .../authentification/AuthController.java | 41 +++++ .../AuthenticationRequest.java | 24 +++ .../AuthenticationResponse.java | 14 ++ .../authentification/JwtRequestFilter.java | 53 ++++++ .../authentification/JwtUtil.java | 62 +++++++ .../SpringSecurityConfig.java | 59 ++++++ .../controleurs/ArticlesControleur.java | 5 + src/main/resources/application.properties | 2 + target/demo-0.0.1-SNAPSHOT.jar.original | Bin 5511 -> 0 bytes target/maven-archiver/pom.properties | 3 - .../compile/default-compile/createdFiles.lst | 9 +- .../compile/default-compile/inputFiles.lst | 16 +- .../default-testCompile/createdFiles.lst | 1 - .../default-testCompile/inputFiles.lst | 1 - target/site-webapp/WEB-INF/web.xml | 34 ---- target/site-webapp/css/maven-base.css | 168 ------------------ target/site-webapp/css/maven-theme.css | 161 ----------------- target/site-webapp/css/print.css | 26 --- target/site-webapp/css/site.css | 1 - target/site-webapp/images/collapsed.gif | Bin 53 -> 0 bytes target/site-webapp/images/expanded.gif | Bin 52 -> 0 bytes target/site-webapp/images/external.png | Bin 230 -> 0 bytes target/site-webapp/images/icon_error_sml.gif | Bin 1010 -> 0 bytes target/site-webapp/images/icon_info_sml.gif | Bin 606 -> 0 bytes .../site-webapp/images/icon_success_sml.gif | Bin 990 -> 0 bytes .../site-webapp/images/icon_warning_sml.gif | Bin 576 -> 0 bytes .../images/logos/build-by-maven-black.png | Bin 2294 -> 0 bytes .../images/logos/build-by-maven-white.png | Bin 2260 -> 0 bytes .../images/logos/maven-feather.png | Bin 3330 -> 0 bytes target/site-webapp/images/newwindow.png | Bin 220 -> 0 bytes .../TEST-tp2.demo.DemoApplicationTests.xml | 82 --------- .../tp2.demo.DemoApplicationTests.txt | 4 - 33 files changed, 305 insertions(+), 505 deletions(-) create mode 100644 src/main/java/VeraxFeather/authentification/AuthController.java create mode 100644 src/main/java/VeraxFeather/authentification/AuthenticationRequest.java create mode 100644 src/main/java/VeraxFeather/authentification/AuthenticationResponse.java create mode 100644 src/main/java/VeraxFeather/authentification/JwtRequestFilter.java create mode 100644 src/main/java/VeraxFeather/authentification/JwtUtil.java create mode 100644 src/main/java/VeraxFeather/authentification/SpringSecurityConfig.java delete mode 100644 target/demo-0.0.1-SNAPSHOT.jar.original delete mode 100644 target/maven-archiver/pom.properties delete mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst delete mode 100644 target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst delete mode 100644 target/site-webapp/WEB-INF/web.xml delete mode 100644 target/site-webapp/css/maven-base.css delete mode 100644 target/site-webapp/css/maven-theme.css delete mode 100644 target/site-webapp/css/print.css delete mode 100644 target/site-webapp/css/site.css delete mode 100644 target/site-webapp/images/collapsed.gif delete mode 100644 target/site-webapp/images/expanded.gif delete mode 100644 target/site-webapp/images/external.png delete mode 100644 target/site-webapp/images/icon_error_sml.gif delete mode 100644 target/site-webapp/images/icon_info_sml.gif delete mode 100644 target/site-webapp/images/icon_success_sml.gif delete mode 100644 target/site-webapp/images/icon_warning_sml.gif delete mode 100644 target/site-webapp/images/logos/build-by-maven-black.png delete mode 100644 target/site-webapp/images/logos/build-by-maven-white.png delete mode 100644 target/site-webapp/images/logos/maven-feather.png delete mode 100644 target/site-webapp/images/newwindow.png delete mode 100644 target/surefire-reports/TEST-tp2.demo.DemoApplicationTests.xml delete mode 100644 target/surefire-reports/tp2.demo.DemoApplicationTests.txt diff --git a/pom.xml b/pom.xml index 75bcfd4..e119324 100644 --- a/pom.xml +++ b/pom.xml @@ -1,6 +1,7 @@ - + 4.0.0 org.springframework.boot @@ -11,21 +12,25 @@ tp2 VeraxFeather 0.0.1-SNAPSHOT - demo + VeraxFeather Demo project for Spring Boot 17 - 18 - 18 - org.springframework.boot spring-boot-starter-web + + jakarta.servlet + jakarta.servlet-api + 4.0.4 + provided + + org.springframework.boot @@ -43,18 +48,30 @@ runtime - org.springframework.boot spring-boot-starter-hateoas + + org.springframework.boot + spring-boot-starter-security + + + + org.springframework.boot + spring-boot-starter-oauth2-resource-server + + + + io.jsonwebtoken + jjwt + 0.9.1 + - org.springframework.boot spring-boot-starter-test - 2.6.3 test @@ -64,20 +81,19 @@ - org.junit.jupiter junit-jupiter-api - 5.7.2 + 5.7.2 test + org.junit.jupiter junit-jupiter-engine - 5.7.2 + 5.7.2 test - @@ -88,5 +104,5 @@ - + diff --git a/src/main/java/VeraxFeather/authentification/AuthController.java b/src/main/java/VeraxFeather/authentification/AuthController.java new file mode 100644 index 0000000..2988679 --- /dev/null +++ b/src/main/java/VeraxFeather/authentification/AuthController.java @@ -0,0 +1,41 @@ +package VeraxFeather.authentification; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import org.springframework.security.core.userdetails.UserDetailsService; + + +@RestController +public class AuthController { + + @Autowired + private AuthenticationManager authenticationManager; + + @Autowired + private JwtUtil jwtTokenUtil; + + @Autowired + private UserDetailsService userDetailsService; + + @PostMapping("/authenticate") + public AuthenticationResponse createAuthenticationToken(@RequestBody AuthenticationRequest authenticationRequest) { + Authentication authenticate = authenticationManager.authenticate( + new UsernamePasswordAuthenticationToken(authenticationRequest.getUsername(), authenticationRequest.getPassword()) + ); + + SecurityContextHolder.getContext().setAuthentication(authenticate); + + final UserDetails userDetails = userDetailsService.loadUserByUsername(authenticationRequest.getUsername()); + final String jwt = jwtTokenUtil.generateToken(userDetails); + + return new AuthenticationResponse(jwt); + } +} diff --git a/src/main/java/VeraxFeather/authentification/AuthenticationRequest.java b/src/main/java/VeraxFeather/authentification/AuthenticationRequest.java new file mode 100644 index 0000000..404cab4 --- /dev/null +++ b/src/main/java/VeraxFeather/authentification/AuthenticationRequest.java @@ -0,0 +1,24 @@ +package VeraxFeather.authentification; + +public class AuthenticationRequest { + + private String username; + private String password; + + // Getters et setters + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/src/main/java/VeraxFeather/authentification/AuthenticationResponse.java b/src/main/java/VeraxFeather/authentification/AuthenticationResponse.java new file mode 100644 index 0000000..2b4eb35 --- /dev/null +++ b/src/main/java/VeraxFeather/authentification/AuthenticationResponse.java @@ -0,0 +1,14 @@ +package VeraxFeather.authentification; + +public class AuthenticationResponse { + + private final String jwt; + + public AuthenticationResponse(String jwt) { + this.jwt = jwt; + } + + public String getJwt() { + return jwt; + } +} diff --git a/src/main/java/VeraxFeather/authentification/JwtRequestFilter.java b/src/main/java/VeraxFeather/authentification/JwtRequestFilter.java new file mode 100644 index 0000000..378d09d --- /dev/null +++ b/src/main/java/VeraxFeather/authentification/JwtRequestFilter.java @@ -0,0 +1,53 @@ +package VeraxFeather.authentification; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; +import org.springframework.util.StringUtils; +import org.springframework.web.filter.OncePerRequestFilter; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import java.io.IOException; + +public class JwtRequestFilter extends OncePerRequestFilter { + + @Autowired + private UserDetailsService userDetailsService; + + @Autowired + private JwtUtil jwtUtil; + + @Override + protected void doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) throws jakarta.servlet.ServletException, IOException { + + final String authorizationHeader = request.getHeader("Authorization"); + + String username = null; + String jwt = null; + + if (authorizationHeader != null && authorizationHeader.startsWith("Bearer ")) { + jwt = authorizationHeader.substring(7); + username = jwtUtil.extractUsername(jwt); + } + + if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) { + UserDetails userDetails = this.userDetailsService.loadUserByUsername(username); + + if (jwtUtil.validateToken(jwt, userDetails)) { + UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken( + userDetails, null, userDetails.getAuthorities()); + authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); + SecurityContextHolder.getContext().setAuthentication(authentication); + } + } + + filterChain.doFilter(request, response); + } +} diff --git a/src/main/java/VeraxFeather/authentification/JwtUtil.java b/src/main/java/VeraxFeather/authentification/JwtUtil.java new file mode 100644 index 0000000..80c8117 --- /dev/null +++ b/src/main/java/VeraxFeather/authentification/JwtUtil.java @@ -0,0 +1,62 @@ +package VeraxFeather.authentification; + +import java.util.HashMap; +import java.util.Map; +import java.util.function.Function; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.stereotype.Component; +import java.util.Date; + +@Component +public class JwtUtil { + + @Value("${jwt.secret}") + private String secretKey; + + @Value("${jwt.expiration}") + private Long expirationTime; + + public String extractUsername(String token) { + return extractClaim(token, Claims::getSubject); + } + + public Date extractExpiration(String token) { + return extractClaim(token, Claims::getExpiration); + } + + public T extractClaim(String token, Function claimsResolver) { + final Claims claims = extractAllClaims(token); + return claimsResolver.apply(claims); + } + + private Claims extractAllClaims(String token) { + return Jwts.parser().setSigningKey(secretKey).parseClaimsJws(token).getBody(); + } + + private Boolean isTokenExpired(String token) { + return extractExpiration(token).before(new Date()); + } + + public Boolean validateToken(String token, UserDetails userDetails) { + final String username = extractUsername(token); + return (username.equals(userDetails.getUsername()) && !isTokenExpired(token)); + } + + public String generateToken(UserDetails userDetails) { + Map claims = new HashMap<>(); + return createToken(claims, userDetails.getUsername()); + } + + private String createToken(Map claims, String subject) { + return Jwts.builder() + .setClaims(claims) + .setSubject(subject) + .setIssuedAt(new Date(System.currentTimeMillis())) + .setExpiration(new Date(System.currentTimeMillis() + expirationTime * 1000)) // Expiration time en secondes + .signWith(SignatureAlgorithm.HS256, secretKey).compact(); + } +} diff --git a/src/main/java/VeraxFeather/authentification/SpringSecurityConfig.java b/src/main/java/VeraxFeather/authentification/SpringSecurityConfig.java new file mode 100644 index 0000000..6b3db4f --- /dev/null +++ b/src/main/java/VeraxFeather/authentification/SpringSecurityConfig.java @@ -0,0 +1,59 @@ +package VeraxFeather.authentification; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationManager; +import org.springframework.security.config.Customizer; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.http.SessionCreationPolicy; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.oauth2.jose.jws.MacAlgorithm; +import org.springframework.security.oauth2.jwt.JwtDecoder; +import org.springframework.security.oauth2.jwt.NimbusJwtDecoder; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; +import org.springframework.security.web.SecurityFilterChain; + +import javax.crypto.spec.SecretKeySpec; + +@Configuration +@EnableWebSecurity +public class SpringSecurityConfig { + + private String jwtKey = "laclegeneree256…."; + + @Bean + public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { + return http + .csrf(csrf -> csrf.disable()) + .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) + .authorizeHttpRequests(auth -> auth.anyRequest().authenticated()) + .httpBasic(Customizer.withDefaults()) + .oauth2ResourceServer((oauth2) -> oauth2.jwt(Customizer.withDefaults())) + .build(); + } + + @Bean + public JwtDecoder jwtDecoder() { +// SecretKeySpec secretKey = new SecretKeySpec(this.jwtKey.getBytes(), "HmacSHA256"); +// return NimbusJwtDecoder.withSecretKey(secretKey).macAlgorithm(MacAlgorithm.HS256).build(); + + return NimbusJwtDecoder.withSecretKey(new SecretKeySpec(jwtKey.getBytes(), "HmacSHA256")) + .build(); + } + + @Bean + public UserDetailsService users() { + UserDetails user = User.builder().username("user").password(passwordEncoder().encode("password")).roles("USER") + .build(); + return new InMemoryUserDetailsManager(user); + } + + @Bean + public BCryptPasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } +} \ No newline at end of file diff --git a/src/main/java/VeraxFeather/controleurs/ArticlesControleur.java b/src/main/java/VeraxFeather/controleurs/ArticlesControleur.java index 4215bbb..bf20c4d 100644 --- a/src/main/java/VeraxFeather/controleurs/ArticlesControleur.java +++ b/src/main/java/VeraxFeather/controleurs/ArticlesControleur.java @@ -1,5 +1,7 @@ package VeraxFeather.controleurs; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; @@ -15,11 +17,13 @@ public class ArticlesControleur { private final IArticlesDataManager articlesDataManager = new StubArticles(); @GetMapping(value="/articles", produces="application/json") + @PreAuthorize("hasRole('USER')") public List
getAllArticles() { return articlesDataManager.getAllArticles(); } @GetMapping(value="/articles/{id}", produces="application/json") + @PreAuthorize("hasRole('USER')") public Article getArticle(@PathVariable int id) { System.out.println("Id renseigné : " + id); @@ -31,3 +35,4 @@ public class ArticlesControleur { return "L'API fonctionne correctement!"; } } + diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8b13789..7c6a1a7 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,3 @@ +jwt.secret=superclesecrete +jwt.expiration=604800 # 604800 secondes équivalent à 7 jours diff --git a/target/demo-0.0.1-SNAPSHOT.jar.original b/target/demo-0.0.1-SNAPSHOT.jar.original deleted file mode 100644 index 97a72e1b24f4d13af01d7b7c86649d4dbe4de522..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5511 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 M5W>Cd1SA0PANY3}uK)l5 diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties deleted file mode 100644 index b66207f..0000000 --- a/target/maven-archiver/pom.properties +++ /dev/null @@ -1,3 +0,0 @@ -artifactId=demo -groupId=tp2 -version=0.0.1-SNAPSHOT diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index b1f17ff..89cec37 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,5 +1,4 @@ -tp2\demo\Exception\LivreException.class -tp2\demo\Model\Livre.class -tp2\demo\Exception\LivreExceptionForbidden.class -tp2\demo\Controller\LivreController.class -tp2\demo\DemoApplication.class +VeraxFeather\modele\articles\Article.class +VeraxFeather\modele\articles\contenus\Contenu.class +VeraxFeather\modele\articles\IArticlesDataManager.class +VeraxFeather\modele\articles\stub\StubArticles.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index bb81da5..ad8d5aa 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,5 +1,11 @@ -C:\Users\jeanm\OneDrive\Documents\BUT\cours_s4\servicesWeb\tp2\demo\src\main\java\tp2\demo\Model\Livre.java -C:\Users\jeanm\OneDrive\Documents\BUT\cours_s4\servicesWeb\tp2\demo\src\main\java\tp2\demo\Exception\LivreException.java -C:\Users\jeanm\OneDrive\Documents\BUT\cours_s4\servicesWeb\tp2\demo\src\main\java\tp2\demo\DemoApplication.java -C:\Users\jeanm\OneDrive\Documents\BUT\cours_s4\servicesWeb\tp2\demo\src\main\java\tp2\demo\Controller\LivreController.java -C:\Users\jeanm\OneDrive\Documents\BUT\cours_s4\servicesWeb\tp2\demo\src\main\java\tp2\demo\Exception\LivreExceptionForbidden.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\authentification\JwtRequestFilter.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\authentification\SpringSecurityConfig.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\VeraxFeatherApi.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\controleurs\ArticlesControleur.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\modele\articles\contenus\ContenuMedia.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\modele\articles\Article.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\modele\articles\contenus\ContenuParagraphe.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\authentification\JwtUtil.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\modele\articles\stub\StubArticles.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\modele\articles\contenus\Contenu.java +C:\Users\jeanm\OneDrive\Documents\BUT\VeraxFeather\src\main\java\VeraxFeather\modele\articles\IArticlesDataManager.java diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst deleted file mode 100644 index 6eb95e0..0000000 --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +++ /dev/null @@ -1 +0,0 @@ -tp2\demo\DemoApplicationTests.class diff --git a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst deleted file mode 100644 index 9ab25d9..0000000 --- a/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +++ /dev/null @@ -1 +0,0 @@ -C:\Users\jeanm\OneDrive\Documents\BUT\cours_s4\servicesWeb\tp2\demo\src\test\java\tp2\demo\DemoApplicationTests.java diff --git a/target/site-webapp/WEB-INF/web.xml b/target/site-webapp/WEB-INF/web.xml deleted file mode 100644 index b1cc76e..0000000 --- a/target/site-webapp/WEB-INF/web.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - doxia - org.apache.maven.plugins.site.run.DoxiaFilter - - - - doxia - /* - - diff --git a/target/site-webapp/css/maven-base.css b/target/site-webapp/css/maven-base.css deleted file mode 100644 index 742a735..0000000 --- a/target/site-webapp/css/maven-base.css +++ /dev/null @@ -1,168 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -body { - margin: 0px; - padding: 0px; -} -table { - padding:0px; - width: 100%; - margin-left: -2px; - margin-right: -2px; -} -acronym { - cursor: help; - border-bottom: 1px dotted #feb; -} -table.bodyTable th, table.bodyTable td { - padding: 2px 4px 2px 4px; - vertical-align: top; -} -div.clear { - clear:both; - visibility: hidden; -} -div.clear hr { - display: none; -} -#bannerLeft, #bannerRight { - font-size: xx-large; - font-weight: bold; -} -#bannerLeft img, #bannerRight img { - margin: 0px; -} -.xleft, #bannerLeft img { - float:left; -} -.xright, #bannerRight { - float:right; -} -#banner { - padding: 0px; -} -#breadcrumbs { - padding: 3px 10px 3px 10px; -} -#leftColumn { - width: 170px; - float:left; - overflow: auto; -} -#bodyColumn { - margin-right: 1.5em; - margin-left: 197px; -} -#legend { - padding: 8px 0 8px 0; -} -#navcolumn { - padding: 8px 4px 0 8px; -} -#navcolumn h5 { - margin: 0; - padding: 0; - font-size: small; -} -#navcolumn ul { - margin: 0; - padding: 0; - font-size: small; -} -#navcolumn li { - list-style-type: none; - background-image: none; - background-repeat: no-repeat; - background-position: 0 0.4em; - padding-left: 16px; - list-style-position: outside; - line-height: 1.2em; - font-size: smaller; -} -#navcolumn li.expanded { - background-image: url(../images/expanded.gif); -} -#navcolumn li.collapsed { - background-image: url(../images/collapsed.gif); -} -#navcolumn li.none { - text-indent: -1em; - margin-left: 1em; -} -#poweredBy { - text-align: center; -} -#navcolumn img { - margin-top: 10px; - margin-bottom: 3px; -} -#poweredBy img { - display:block; - margin: 20px 0 20px 17px; -} -#search img { - margin: 0px; - display: block; -} -#search #q, #search #btnG { - border: 1px solid #999; - margin-bottom:10px; -} -#search form { - margin: 0px; -} -#lastPublished { - font-size: x-small; -} -.navSection { - margin-bottom: 2px; - padding: 8px; -} -.navSectionHead { - font-weight: bold; - font-size: x-small; -} -.section { - padding: 4px; -} -#footer { - padding: 3px 10px 3px 10px; - font-size: x-small; -} -#breadcrumbs { - font-size: x-small; - margin: 0pt; -} -.source { - padding: 12px; - margin: 1em 7px 1em 7px; -} -.source pre { - margin: 0px; - padding: 0px; -} -#navcolumn img.imageLink, .imageLink { - padding-left: 0px; - padding-bottom: 0px; - padding-top: 0px; - padding-right: 2px; - border: 0px; - margin: 0px; -} diff --git a/target/site-webapp/css/maven-theme.css b/target/site-webapp/css/maven-theme.css deleted file mode 100644 index 4e2bdfb..0000000 --- a/target/site-webapp/css/maven-theme.css +++ /dev/null @@ -1,161 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -body { - padding: 0px 0px 10px 0px; -} -body, td, select, input, li{ - font-family: Verdana, Helvetica, Arial, sans-serif; - font-size: 13px; -} -code{ - font-family: Courier, monospace; - font-size: 13px; -} -a { - text-decoration: none; -} -a:link { - color:#36a; -} -a:visited { - color:#47a; -} -a:active, a:hover { - color:#69c; -} -#legend li.externalLink { - background: url(../images/external.png) left top no-repeat; - padding-left: 18px; -} -a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { - background: url(../images/external.png) right center no-repeat; - padding-right: 18px; -} -#legend li.newWindow { - background: url(../images/newwindow.png) left top no-repeat; - padding-left: 18px; -} -a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { - background: url(../images/newwindow.png) right center no-repeat; - padding-right: 18px; -} -h2 { - padding: 4px 4px 4px 6px; - border: 1px solid #999; - color: #900; - background-color: #ddd; - font-weight:900; - font-size: x-large; -} -h3 { - padding: 4px 4px 4px 6px; - border: 1px solid #aaa; - color: #900; - background-color: #eee; - font-weight: normal; - font-size: large; -} -h4 { - padding: 4px 4px 4px 6px; - border: 1px solid #bbb; - color: #900; - background-color: #fff; - font-weight: normal; - font-size: large; -} -h5 { - padding: 4px 4px 4px 6px; - color: #900; - font-size: medium; -} -p { - line-height: 1.3em; - font-size: small; -} -#breadcrumbs { - border-top: 1px solid #aaa; - border-bottom: 1px solid #aaa; - background-color: #ccc; -} -#leftColumn { - margin: 10px 0 0 5px; - border: 1px solid #999; - background-color: #eee; - padding-bottom: 3px; /* IE-9 scrollbar-fix */ -} -#navcolumn h5 { - font-size: smaller; - border-bottom: 1px solid #aaaaaa; - padding-top: 2px; - color: #000; -} - -table.bodyTable th { - color: white; - background-color: #bbb; - text-align: left; - font-weight: bold; -} - -table.bodyTable th, table.bodyTable td { - font-size: 1em; -} - -table.bodyTable tr.a { - background-color: #ddd; -} - -table.bodyTable tr.b { - background-color: #eee; -} - -.source { - border: 1px solid #999; -} -dl { - padding: 4px 4px 4px 6px; - border: 1px solid #aaa; - background-color: #ffc; -} -dt { - color: #900; -} -#organizationLogo img, #projectLogo img, #projectLogo span{ - margin: 8px; -} -#banner { - border-bottom: 1px solid #fff; -} -.errormark, .warningmark, .donemark, .infomark { - background: url(../images/icon_error_sml.gif) no-repeat; -} - -.warningmark { - background-image: url(../images/icon_warning_sml.gif); -} - -.donemark { - background-image: url(../images/icon_success_sml.gif); -} - -.infomark { - background-image: url(../images/icon_info_sml.gif); -} - diff --git a/target/site-webapp/css/print.css b/target/site-webapp/css/print.css deleted file mode 100644 index 97be85f..0000000 --- a/target/site-webapp/css/print.css +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { - display: none !important; -} -#bodyColumn, body.docs div.docs { - margin: 0 !important; - border: none !important -} diff --git a/target/site-webapp/css/site.css b/target/site-webapp/css/site.css deleted file mode 100644 index 055e7e2..0000000 --- a/target/site-webapp/css/site.css +++ /dev/null @@ -1 +0,0 @@ -/* You can override this file with your own styles */ \ No newline at end of file diff --git a/target/site-webapp/images/collapsed.gif b/target/site-webapp/images/collapsed.gif deleted file mode 100644 index 6e710840640c1bfd9dd76ce7fef56f1004092508..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 53 ycmZ?wbhEHbWM^P!XkdT>#h)yUTnvm1Iv_qshJlI4r7uBZ*YkPFU8d4p4Aua}2?(?R diff --git a/target/site-webapp/images/expanded.gif b/target/site-webapp/images/expanded.gif deleted file mode 100644 index 0fef3d89e0df1f8bc49a0cd827f2607c7d7fd2f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52 xcmZ?wbhEHbWM^P!XkdT>#h)yUTnvm1Iv_qshJlH@g}+fUi&t{amUB!D)&R0C2fzRT diff --git a/target/site-webapp/images/external.png b/target/site-webapp/images/external.png deleted file mode 100644 index 3f999fc88b360074e41f38c3b4bc06ccb3bb7cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd{{R1fCIbVIy!atN z8e~{WkY6y6%iy53@(Yk3;OXKRQgJIOfsI*BO@UFsfhWLBc>*(#PB?Jn2*(o!76E4F z2oaVU3``tH+Kgs0GI5+@Tg}d)z%jd%F@?{8!SRZ5b1yT80-FZIMn)zc2Ca66y`pzY R*nwsJMCn#OVEqF*oew~oaAu*+mN;-=y?VHT3tIe$XQqrDo-uB_a z!$aaK`z6))OKGn34?nwc^SuifkIL#EmDgV_qjg-#8v*0u4q4%1moUw{LZ54UeCgzNF^jX`uv-XK+9g@yFrG9?@ z!9&5&Tgk*j(b!GF&{N4I-Owl3GNQ;Kslp@APSw&&&ux9d>WxL~{EYoKm2KHvv3+ax zZUYB?Ae*8JnchZheXeEaa>@87?_fB*jV>(`erUx0B6j@wa!KnN)QWMO1rn9HC8 zQU}Tt3>@bftT|;oHYhlHH8T8tc{qL2LBC1&wnQeg^-S05<#H=J%;q~&KX!$OXH$lP zifQJ#9>L8|xhAVRHT-xPa*}7JK>(A*!AmL!CQC~j>707p+C5b#ib-SZ5@wfn#-0y8 zor_pb3M^%mkXhlduwjw4dk@RWhYZ<*tSUAV9x3eYyi#^d39lH{872xT#>g14FgCZb z+Lvv}DClhGVU*`8y(Qe}(9I>Lw<6->0~Q`zX3oMH2272dBARI`0wDzxS_G8b_H+a` TZ#n2*^y*Bf^Krq04Gh)*dSnrT diff --git a/target/site-webapp/images/icon_info_sml.gif b/target/site-webapp/images/icon_info_sml.gif deleted file mode 100644 index c6cb9ad7ce438a798426703e86a7ffc197d51dbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 606 zcmZ?wbhEHb!Rj)7jHhhdgsOUdoQoueZi?7 z>>gViTe&E#V48n=mrru5S3;v}WQB8hiDz7$TU2Fg8RZkU)J)l4H+4sO@7jjxJ4?G(<~7c1nYFul=C0P+d#d`@bj{yi z-npcE!T#Qb2PP~z)H;3B%r(bntUlH>Y2~CvyV|C%UbyM>vTf&9?!2&e&!siHFV0_c zVB`KP8}?n^dg$7Yqc`@PxOMQ%-NWbZ9Xfk=)1K2OFF!hV;r{6>kIr6ua^~ve%eS9j zy7lbD`I|4_et!J??bq+WzI^-n`RfmdkOIfh!pgqYwSCK`t~@$#!^!1aj_y2mzyI{@?vuB79>2N$==JkApPs$`_~ygc*YCf)diVLp z{pXKfy#M&+`?nvze*gIk#Q*;N0|qHLXbBUFKUo+V7>XElKuSSz!oa?}p{S|3rL`#` zEj=M8CWV#D$GthOu#hRgfH^NPHz`Z6or!6tudIJkhF|)EqL_SUmH;#E=*;vU)ut4d z*}1MJ+3|6yK5|W*0YQlwY}}E_93D;*P3)($(!#iHyj&dYc$?gAB*f@)n?~7Mn)5Ze zB*b!gs&gB@F*e|Da`5(ac688Lp~TGAEh5PBlHo`4aV}w%hy?;49h(#+>`NXTD0Bjy;4ci{C-1K14rU#4Xoa9{m6qopA9n0cn|!>ecYkij zwyX=!4*mH3EoqLqSGiVbyFqxD(bS8XSDu{6U1jZO70Ic@{~t&7=B^ zBD)NOoAkU&Gy^LQJ5PtV?u{&65}4ZUmfYbweP{LTy^YnAGv=AGa7*6wj}%~b0?7r5!@qH7P%p1*$L z@#{ODxoUwG+WsY)zWExj-aqxpQS(e!bx&6L`u)?tfB$~}{{8*?cVO&*V`-G2NeC$Z zWMO1r=w{FXnGVVm3>>=|#5rX=HY{-DP?VFNPL-%m%>B+*~5-k^-+4*MLFr;tQ0}^rlS-^!^Q`Mx1hrB$jwn&hk~Xk=#Nl+_9Nu|Y$D G!5RQ;-6)O# diff --git a/target/site-webapp/images/icon_warning_sml.gif b/target/site-webapp/images/icon_warning_sml.gif deleted file mode 100644 index 873bbb52cb9768103c27fbb9a9bac16ac615fce5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmZ?wbhEHbB!Sy%bj7w z8LP{2I!WYbmF&-Ixi?j6tD|K1XR2M#l>Aw*aXL%wXS3nYW}{zi=4WzsU5r%E6qx+# za{AThd85YVOsT`KDUrWsBtGknIa3>Sy(4;AS@f^Dxt>-=XPXm#FD(1Lr2hBv=9?3X zZS^!XrNw@)>eiN((2|w-y>{aB1+99DGMA?}+UTggT+(Z*rf8+5x~aWVOGcurtl;&U zIa)H3I&#vwvQjJBn`YHj9iKlB7`)(M#!e{yWMO1rC}Yq8NrU2qfqia6SyOXMYa1sM zM_a34eqyRfcQbQJY;^IYGTuzaxglKLqNQEA}OiQec+sQ#rUUjLqg_MpsPmY43 zsgmVV8EHK$eV-B~6*UcAW2+w%1e4o&9#aAczLGF}PmMg|6J0Ey4q A)Bpeg diff --git a/target/site-webapp/images/logos/build-by-maven-black.png b/target/site-webapp/images/logos/build-by-maven-black.png deleted file mode 100644 index 919fd0f66a7f713920dd7422035db1c9d484351d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2294 zcmVKOG`!VuDc=fnx$+R6#>c^>b&wcOS?|$!`a}U6ptjU_J zlBA}l*3{J0)YMd0R~Hr*dU$xO^ie1jhYlTLS+=C4#MRYRCX#twGUSD6Il$6AA+=UAlkY(ZF;m4037Yc>v&!1mPsNXdliHV74&z>zUEv=}iC@U)i zfc^XTJ3BiAKvYyzczAd~K){|od(ip)`}f`5-HnZnv$L~Hzqq=(y7Kb!>gsAwPfu@e z@3gcu0LabFC4?{xBNPh18Fpy3+Tr2hfq{Yc_V$w}PjVdhGtMTH$zU){PfznaPmK)? z4KH52=;-KZX=#a#jlFZ{PF7YH!!Q{c8Taqs=Xt)UsK{tE{@>vc{2Hgh!NL0adH}e0 z@19Df^78Tm0ES@zz{SO7Zf@=upJ1_AP_bIAgpih&mWqmsojZ4GG#a&9{f)&Au~_Wm z<0F^L4;(mPHk)-io!M*-3JMa7#VIK%EBy%}_$g6IPEM9cBvPp~K0f}{t5+6_rMbEJ z(xpqcZ{G$0j^p<2+vnuu^bN3MdU`rLJ3Br;9ss7MrVbuFxUjHLQBhGX6WriQ5|M*_w z@5bUDdV71dTCG;AO-@dx@4a~OA{y)K>k+2N$jAo|9?w z?b_+nr`2k;!{M;o?Qh<^`R=>#RtFA0KR<`Vfh)Li;|5+X!otGn&U<@%H*VaBDU;Gf zr_<5=()7Iqfmk>yLj`}084`48Zf?d|M~)mpOHfeI{QNv2WMN?;Dk=&9GBY#LVzb%$ z`};Aq6GAK&OK4~)&U*g*IT{xh7M8K~%9SgtQ-;OG#ZeC5ym=F=X|vf(9h#b&K7RZN z05+S=X0xGjU|@g-%ePwl!GC`7t=5VDruDp`t9rXwq=tAb*88KQqo~N`a#V_oixKzA z%F4dJzL1cRy1F{CSUfW`qfjWeZ{Hpm7>H$yNF>V6&c<>vGBOgU_w@7}J9g~o(WA6z z#sgc0B0VlH4i&T6{Pyiz)FUDys6$s*7rnXCi!3z)!0DGJ5eITHyM2Q|E@qtti{QRD z*nbiZg+h^&lY>QINl6I+oH}*N-Q67kYHMqqoSd*@fE67^695Pa36aTU0HD+95)%{g zFw)c0Gcqy&K&4WxG906$qk6p_b=txpgmiazqaGF(M)NU+!{3cPsc^{*a`Ja$nXfZ@ zhsL%N4whw0OG`2M6&4oG&CQ8KBHBPHC@3f>C|I^a>__(qFp!^RU zV`F0uhl6EVxm><`_ijATmoHz|)ztxjL?XdmSuB<(Po5A$mM!w}C3kdS~ef}W>dub-Hhz&fI`vJ#oXvTST@?6qsxN=r)tz|+%n^XARiL+I)0 z!HGL|?4Z?OC@z>ppO+fmk zEDIk1FgrV2R8&O&@;qNwR)+h@$;nZx)dqvXVzG2}b>-#d_4oHa!G&Dp59OYMg zd;9A2I}{29&+|ObzkB!Y^XJcKjE;^*({SomlT)I^E^_90Q{xPG;bvU;38ml zcng&pTZhKxAmAX-{xuvUBO`bZu-omWrKK8;X6fkl>(@`5I6;GyySuwkDCBv*tE;QE zwH1kg)0Ijk1~{Qms8A@Vadob6a=9D}VUx-9>C-1l1S|^dcDq`w#&Z*k#hB*+K%>#n z=0$)zo8T)X1Ujc}V+Omw8!O@%0GKp7%(fp1ER{;7QYogYiHQlT)w*&q5{X2iP;Ak diff --git a/target/site-webapp/images/logos/build-by-maven-white.png b/target/site-webapp/images/logos/build-by-maven-white.png deleted file mode 100644 index 7d44c9c2e5742bdf8649ad282f83208f1da9b982..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2260 zcmV;_2rKuAP)4hTLUyOQ{PVbVY5&Y3g!&hN~bnR7}ZgkXUt ziC%zU0gf+&kEv>t|d$x|zXw1mS0D%1b{8z7DF%0wW-8(XBFc`A3vVI|O z^!N97baWg(eE86zLn4uA_wL=Zb@+UKU|=8sJb3V6XlSUctSl!dhm4xd=KJ^W|8h2q zR4NS%3yX+|NKQ`f?d=7Cf`Wo)&z=E5TU%REQIXYZefjbwRvsQ6zIyfQojZ3l8V#{v zv)R(q)39Vr2GBPsa+apV2%%fIZY3ln0Kl+1Y8c*(xe3X6sWFH9kH*UDDLl)ZN`}u~;f9D%P!A2LK5P2`MQl z(b3TuDUC++_U+qm01k;n!Z1u+TwGjS+}X2d^Yil+3Pn;B-~q z{Qdm_z{kf&EEb1^gw)j3R904!x}#RBj~+c578Vv16olc}xpQZGd;7k9`>@WHD_2M| z{%VB2fNVCK&1U^_rTW_bx`C@MK&%ZR^ybZ*=;&yb zN);0mV>X+~OA`|lRVtNAr7A8i#zL)DyJycHxm+$5izO0?QmM?$%p@6le0*H3R;yI1 z=;-LCrlu1oPI!8HIypHhmCA~Wig|;>WHON!GbSbmcN`jxhJ=GssnlpRR;zVzaF8J4 z>+3sJhW@0w{LH6-`(Afr<9kMWBXoSUM7Dox&JGJtojOI96z3EG z*uH)HWN?qO7x!`hzQnzLg5JL3Ui^ps%X$n4`+YK2S-yNZo>gC8kJmXUC#D?-i_a7IlwdR(Kkw#T>s)<( zJ!ZVTycREBO!{t;H9|r{F#q)FQ_`LjAsBnPnnKk2PZ;V3*7{M#@%jyBNObh|^_fg2 zd|f0I3eTTEPf=83VhUbHWgRft|{%MRRMp6H>seM7wV6&k5Vn7H0DDSDT_wn(;aaUDU zWi%QoiptK;CgqIWB$bwy78Mm?w@oI~&6_tPBO~$kExCLno}10)mX;RGM?^%-PjqOt zTFi(#=@4C7NJmxEVK7l6G0yhEp_Lq9)1fj}S-2%Mdrv$L~tStVt%xVSheDG9e5EX$6J zj8GIMm&=bIKaK;TqoYG05D0}r0!Kqb1E0?q2n1`_uAR{_f0E{OgnR$~y~Sd|+0n_# z2@6L?MsUQ^H0|QzLJoDKqobtlneyk|8`Sp{cp}PUC5RRQ^8?;2;Iss$eWk%*n3$Nr z(73v~e)3}s219#$yTM=(2n6o#?!LahxUO>?H!v`O%bZ*;$Ideh!!Qg0h{fVXix$lf i91DLtEx@rr0RIK2cl{g~?Z1Nn0000}s diff --git a/target/site-webapp/images/logos/maven-feather.png b/target/site-webapp/images/logos/maven-feather.png deleted file mode 100644 index b5ada836e9eb4af4db810f648b013933e72c8fbe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3330 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 diff --git a/target/site-webapp/images/newwindow.png b/target/site-webapp/images/newwindow.png deleted file mode 100644 index 6287f72bd08a870908e7361d98c35ee0d6dcbc82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^+(699!3-oX?^2ToQY`6?zK#qG>ra@ocD)4hB}-f* zN`mv#O3D+9QW+dm@{>{(JaZG%Q-e|yQz{EjrrH1%@dWsUxR#cd&SYTt4+aeuCvSob zD+%%o1`04ZXs!GLj7%Iec?BF2%&y2ZFfeUwWbk2P5nvW+xWT~4#-PT{uyM;F);OSv44$rjF6*2U FngH~|K)3(^ diff --git a/target/surefire-reports/TEST-tp2.demo.DemoApplicationTests.xml b/target/surefire-reports/TEST-tp2.demo.DemoApplicationTests.xml deleted file mode 100644 index dce8cbf..0000000 --- a/target/surefire-reports/TEST-tp2.demo.DemoApplicationTests.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/target/surefire-reports/tp2.demo.DemoApplicationTests.txt b/target/surefire-reports/tp2.demo.DemoApplicationTests.txt deleted file mode 100644 index f34f13e..0000000 --- a/target/surefire-reports/tp2.demo.DemoApplicationTests.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: tp2.demo.DemoApplicationTests -------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.291 s -- in tp2.demo.DemoApplicationTests