Skip to content

Commit ab19a24

Browse files
authored
Merge pull request #25 from Dovchiproeng/feature/update-spring
Feature/update spring
2 parents 50504c0 + 667595e commit ab19a24

File tree

50 files changed

+450
-370
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+450
-370
lines changed

account-service/pom.xml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,22 @@
1313
<parent>
1414
<groupId>org.springframework.boot</groupId>
1515
<artifactId>spring-boot-starter-parent</artifactId>
16-
<version>1.3.3.RELEASE</version>
16+
<version>2.0.3.RELEASE</version>
1717
<relativePath/> <!-- lookup parent from repository -->
1818
</parent>
1919

2020
<properties>
2121
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22+
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
2223
<java.version>1.8</java.version>
2324
</properties>
2425

2526
<dependencyManagement>
2627
<dependencies>
2728
<dependency>
2829
<groupId>org.springframework.cloud</groupId>
29-
<artifactId>spring-cloud-starter-parent</artifactId>
30-
<version>Brixton.RELEASE</version>
30+
<artifactId>spring-cloud-dependencies</artifactId>
31+
<version>${spring-cloud.version}</version>
3132
<type>pom</type>
3233
<scope>import</scope>
3334
</dependency>
@@ -43,10 +44,6 @@
4344
<groupId>org.springframework.boot</groupId>
4445
<artifactId>spring-boot-starter-security</artifactId>
4546
</dependency>
46-
<dependency>
47-
<groupId>org.springframework.security.oauth</groupId>
48-
<artifactId>spring-security-oauth2</artifactId>
49-
</dependency>
5047
<dependency>
5148
<groupId>org.springframework.cloud</groupId>
5249
<artifactId>spring-cloud-starter-config</artifactId>
@@ -57,11 +54,11 @@
5754
</dependency>
5855
<dependency>
5956
<groupId>org.springframework.cloud</groupId>
60-
<artifactId>spring-cloud-starter-feign</artifactId>
57+
<artifactId>spring-cloud-starter-openfeign</artifactId>
6158
</dependency>
6259
<dependency>
6360
<groupId>org.springframework.cloud</groupId>
64-
<artifactId>spring-cloud-starter-eureka</artifactId>
61+
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
6562
</dependency>
6663
<dependency>
6764
<groupId>org.springframework.boot</groupId>
Lines changed: 2 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,21 @@
11
package com.piggymetrics.account;
22

3-
import com.piggymetrics.account.service.security.CustomUserInfoTokenServices;
4-
import feign.RequestInterceptor;
5-
import org.springframework.beans.factory.annotation.Autowired;
63
import org.springframework.boot.SpringApplication;
74
import org.springframework.boot.autoconfigure.SpringBootApplication;
8-
import org.springframework.boot.autoconfigure.security.oauth2.resource.ResourceServerProperties;
9-
import org.springframework.boot.context.properties.ConfigurationProperties;
10-
import org.springframework.boot.context.properties.EnableConfigurationProperties;
115
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
12-
import org.springframework.cloud.netflix.feign.EnableFeignClients;
13-
import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor;
14-
import org.springframework.context.annotation.Bean;
15-
import org.springframework.context.annotation.Configuration;
6+
import org.springframework.cloud.openfeign.EnableFeignClients;
167
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
17-
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
18-
import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
19-
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
20-
import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails;
218
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableOAuth2Client;
22-
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
23-
import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
24-
import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
259

2610
@SpringBootApplication
27-
@EnableResourceServer
2811
@EnableDiscoveryClient
2912
@EnableOAuth2Client
3013
@EnableFeignClients
3114
@EnableGlobalMethodSecurity(prePostEnabled = true)
32-
@EnableConfigurationProperties
33-
@Configuration
34-
public class AccountApplication extends ResourceServerConfigurerAdapter {
35-
36-
@Autowired
37-
private ResourceServerProperties sso;
15+
public class AccountApplication {
3816

3917
public static void main(String[] args) {
4018
SpringApplication.run(AccountApplication.class, args);
4119
}
4220

43-
@Bean
44-
@ConfigurationProperties(prefix = "security.oauth2.client")
45-
public ClientCredentialsResourceDetails clientCredentialsResourceDetails() {
46-
return new ClientCredentialsResourceDetails();
47-
}
48-
49-
@Bean
50-
public RequestInterceptor oauth2FeignRequestInterceptor(){
51-
return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), clientCredentialsResourceDetails());
52-
}
53-
54-
@Bean
55-
public OAuth2RestTemplate clientCredentialsRestTemplate() {
56-
return new OAuth2RestTemplate(clientCredentialsResourceDetails());
57-
}
58-
59-
@Bean
60-
public ResourceServerTokenServices tokenServices() {
61-
return new CustomUserInfoTokenServices(sso.getUserInfoUri(), sso.getClientId());
62-
}
63-
64-
@Override
65-
public void configure(HttpSecurity http) throws Exception {
66-
http.authorizeRequests()
67-
.antMatchers("/" , "/demo").permitAll()
68-
.anyRequest().authenticated();
69-
}
7021
}

account-service/src/main/java/com/piggymetrics/account/client/AuthServiceClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.piggymetrics.account.client;
22

33
import com.piggymetrics.account.domain.User;
4-
import org.springframework.cloud.netflix.feign.FeignClient;
4+
import org.springframework.cloud.openfeign.FeignClient;
55
import org.springframework.http.MediaType;
66
import org.springframework.web.bind.annotation.RequestMapping;
77
import org.springframework.web.bind.annotation.RequestMethod;

account-service/src/main/java/com/piggymetrics/account/client/StatisticsServiceClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.piggymetrics.account.client;
22

33
import com.piggymetrics.account.domain.Account;
4-
import org.springframework.cloud.netflix.feign.FeignClient;
4+
import org.springframework.cloud.openfeign.FeignClient;
55
import org.springframework.http.MediaType;
66
import org.springframework.web.bind.annotation.PathVariable;
77
import org.springframework.web.bind.annotation.RequestMapping;
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.piggymetrics.account.config;
2+
3+
import com.piggymetrics.account.service.security.CustomUserInfoTokenServices;
4+
import feign.RequestInterceptor;
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.boot.autoconfigure.security.oauth2.resource.ResourceServerProperties;
7+
import org.springframework.boot.context.properties.ConfigurationProperties;
8+
import org.springframework.cloud.security.oauth2.client.feign.OAuth2FeignRequestInterceptor;
9+
import org.springframework.context.annotation.Bean;
10+
import org.springframework.context.annotation.Configuration;
11+
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
12+
import org.springframework.security.oauth2.client.DefaultOAuth2ClientContext;
13+
import org.springframework.security.oauth2.client.OAuth2RestTemplate;
14+
import org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsResourceDetails;
15+
import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer;
16+
import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter;
17+
import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
18+
19+
/**
20+
* @author cdov
21+
*/
22+
@Configuration
23+
@EnableResourceServer
24+
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
25+
26+
private final ResourceServerProperties sso;
27+
28+
@Autowired
29+
public ResourceServerConfig(ResourceServerProperties sso) {
30+
this.sso = sso;
31+
}
32+
33+
@Bean
34+
@ConfigurationProperties(prefix = "security.oauth2.client")
35+
public ClientCredentialsResourceDetails clientCredentialsResourceDetails() {
36+
return new ClientCredentialsResourceDetails();
37+
}
38+
39+
@Bean
40+
public RequestInterceptor oauth2FeignRequestInterceptor(){
41+
return new OAuth2FeignRequestInterceptor(new DefaultOAuth2ClientContext(), clientCredentialsResourceDetails());
42+
}
43+
44+
@Bean
45+
public OAuth2RestTemplate clientCredentialsRestTemplate() {
46+
return new OAuth2RestTemplate(clientCredentialsResourceDetails());
47+
}
48+
49+
@Bean
50+
public ResourceServerTokenServices tokenServices() {
51+
return new CustomUserInfoTokenServices(sso.getUserInfoUri(), sso.getClientId());
52+
}
53+
54+
@Override
55+
public void configure(HttpSecurity http) throws Exception {
56+
http.authorizeRequests()
57+
.antMatchers("/" , "/demo").permitAll()
58+
.anyRequest().authenticated();
59+
}
60+
}

account-service/src/test/java/com/piggymetrics/account/AccountServiceApplicationTests.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22

33
import org.junit.Test;
44
import org.junit.runner.RunWith;
5-
import org.springframework.boot.test.SpringApplicationConfiguration;
5+
import org.springframework.boot.test.context.SpringBootTest;
66
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
7-
import org.springframework.test.context.web.WebAppConfiguration;
87

98
@RunWith(SpringJUnit4ClassRunner.class)
10-
@SpringApplicationConfiguration(classes = AccountApplication.class)
11-
@WebAppConfiguration
9+
@SpringBootTest
1210
public class AccountServiceApplicationTests {
1311

1412
@Test

account-service/src/test/java/com/piggymetrics/account/controller/AccountControllerTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import com.fasterxml.jackson.databind.ObjectMapper;
44
import com.google.common.collect.ImmutableList;
5-
import com.piggymetrics.account.AccountApplication;
65
import com.piggymetrics.account.domain.*;
76
import com.piggymetrics.account.service.AccountService;
87
import com.sun.security.auth.UserPrincipal;
@@ -11,10 +10,9 @@
1110
import org.junit.runner.RunWith;
1211
import org.mockito.InjectMocks;
1312
import org.mockito.Mock;
14-
import org.springframework.boot.test.SpringApplicationConfiguration;
13+
import org.springframework.boot.test.context.SpringBootTest;
1514
import org.springframework.http.MediaType;
1615
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
17-
import org.springframework.test.context.web.WebAppConfiguration;
1816
import org.springframework.test.web.servlet.MockMvc;
1917
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
2018

@@ -28,8 +26,7 @@
2826
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
2927

3028
@RunWith(SpringJUnit4ClassRunner.class)
31-
@SpringApplicationConfiguration(classes = AccountApplication.class)
32-
@WebAppConfiguration
29+
@SpringBootTest
3330
public class AccountControllerTest {
3431

3532
private static final ObjectMapper mapper = new ObjectMapper();

account-service/src/test/java/com/piggymetrics/account/repository/AccountRepositoryTest.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.piggymetrics.account.repository;
22

3-
import com.piggymetrics.account.AccountApplication;
4-
import com.piggymetrics.account.domain.*;
3+
import com.piggymetrics.account.domain.Account;
4+
import com.piggymetrics.account.domain.Currency;
5+
import com.piggymetrics.account.domain.Item;
6+
import com.piggymetrics.account.domain.Saving;
7+
import com.piggymetrics.account.domain.TimePeriod;
58
import org.junit.Test;
69
import org.junit.runner.RunWith;
710
import org.springframework.beans.factory.annotation.Autowired;
8-
import org.springframework.boot.test.SpringApplicationConfiguration;
11+
import org.springframework.boot.test.autoconfigure.data.mongo.DataMongoTest;
912
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
1013

1114
import java.math.BigDecimal;
@@ -15,7 +18,7 @@
1518
import static org.junit.Assert.assertEquals;
1619

1720
@RunWith(SpringJUnit4ClassRunner.class)
18-
@SpringApplicationConfiguration(classes = AccountApplication.class)
21+
@DataMongoTest
1922
public class AccountRepositoryTest {
2023

2124
@Autowired

auth-service/pom.xml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,13 @@
1313
<parent>
1414
<groupId>org.springframework.boot</groupId>
1515
<artifactId>spring-boot-starter-parent</artifactId>
16-
<version>1.3.5.RELEASE</version>
16+
<version>2.0.3.RELEASE</version>
1717
<relativePath/> <!-- lookup parent from repository -->
1818
</parent>
1919

2020
<properties>
2121
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
22+
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
2223
<java.version>1.8</java.version>
2324
</properties>
2425

@@ -35,18 +36,18 @@
3536
<groupId>org.springframework.boot</groupId>
3637
<artifactId>spring-boot-starter-security</artifactId>
3738
</dependency>
38-
<dependency>
39-
<groupId>org.springframework.security.oauth</groupId>
40-
<artifactId>spring-security-oauth2</artifactId>
41-
</dependency>
39+
<dependency>
40+
<groupId>org.springframework.cloud</groupId>
41+
<artifactId>spring-cloud-starter-oauth2</artifactId>
42+
</dependency>
4243
<dependency>
4344
<groupId>org.springframework.boot</groupId>
4445
<artifactId>spring-boot-starter-web</artifactId>
4546
</dependency>
46-
<dependency>
47-
<groupId>org.springframework.cloud</groupId>
48-
<artifactId>spring-cloud-starter-eureka</artifactId>
49-
</dependency>
47+
<dependency>
48+
<groupId>org.springframework.cloud</groupId>
49+
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
50+
</dependency>
5051
<dependency>
5152
<groupId>org.springframework.boot</groupId>
5253
<artifactId>spring-boot-starter-test</artifactId>
@@ -70,8 +71,8 @@
7071
<dependencies>
7172
<dependency>
7273
<groupId>org.springframework.cloud</groupId>
73-
<artifactId>spring-cloud-starter-parent</artifactId>
74-
<version>Brixton.RELEASE</version>
74+
<artifactId>spring-cloud-dependencies</artifactId>
75+
<version>${spring-cloud.version}</version>
7576
<type>pom</type>
7677
<scope>import</scope>
7778
</dependency>

0 commit comments

Comments
 (0)