minor formatting work
This commit is contained in:
parent
67fcde1009
commit
29c0fd8371
@ -13,7 +13,6 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
import com.baeldung.ndc.Investment;
|
import com.baeldung.ndc.Investment;
|
||||||
import com.baeldung.ndc.service.InvestmentService;
|
import com.baeldung.ndc.service.InvestmentService;
|
||||||
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
public class JBossLoggingController {
|
public class JBossLoggingController {
|
||||||
@Autowired
|
@Autowired
|
||||||
|
@ -22,16 +22,11 @@ public class RxJavaBackpressureTest {
|
|||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
Observable
|
Observable.range(1, 1_000_000).observeOn(Schedulers.computation()).subscribe(testSubscriber);
|
||||||
.range(1, 1_000_000)
|
|
||||||
.observeOn(Schedulers.computation())
|
|
||||||
.subscribe(testSubscriber);
|
|
||||||
|
|
||||||
// then
|
// then
|
||||||
testSubscriber.awaitTerminalEvent();
|
testSubscriber.awaitTerminalEvent();
|
||||||
assertTrue(testSubscriber
|
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
||||||
.getOnErrorEvents()
|
|
||||||
.size() == 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,14 +36,10 @@ public class RxJavaBackpressureTest {
|
|||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
||||||
|
|
||||||
source
|
source.observeOn(Schedulers.computation()).subscribe(testSubscriber);
|
||||||
.observeOn(Schedulers.computation())
|
|
||||||
.subscribe(testSubscriber);
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
IntStream
|
IntStream.range(0, 1_000_000).forEach(source::onNext);
|
||||||
.range(0, 1_000_000)
|
|
||||||
.forEach(source::onNext);
|
|
||||||
|
|
||||||
// then
|
// then
|
||||||
testSubscriber.awaitTerminalEvent();
|
testSubscriber.awaitTerminalEvent();
|
||||||
@ -62,20 +53,13 @@ public class RxJavaBackpressureTest {
|
|||||||
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
source
|
source.window(500).observeOn(Schedulers.computation()).subscribe(testSubscriber);
|
||||||
.window(500)
|
|
||||||
.observeOn(Schedulers.computation())
|
|
||||||
.subscribe(testSubscriber);
|
|
||||||
|
|
||||||
IntStream
|
IntStream.range(0, 1_000).forEach(source::onNext);
|
||||||
.range(0, 1_000)
|
|
||||||
.forEach(source::onNext);
|
|
||||||
|
|
||||||
// then
|
// then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber
|
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
||||||
.getOnErrorEvents()
|
|
||||||
.size() == 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,21 +70,13 @@ public class RxJavaBackpressureTest {
|
|||||||
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
PublishSubject<Integer> source = PublishSubject.<Integer> create();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
source
|
source.buffer(1024).observeOn(Schedulers.computation()).subscribe(testSubscriber);
|
||||||
.buffer(1024)
|
|
||||||
.observeOn(Schedulers.computation())
|
|
||||||
.subscribe(testSubscriber);
|
|
||||||
|
|
||||||
IntStream
|
|
||||||
.range(0, 1_000)
|
|
||||||
.forEach(source::onNext);
|
|
||||||
|
|
||||||
|
IntStream.range(0, 1_000).forEach(source::onNext);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber
|
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
||||||
.getOnErrorEvents()
|
|
||||||
.size() == 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -113,19 +89,13 @@ public class RxJavaBackpressureTest {
|
|||||||
// when
|
// when
|
||||||
source.sample(100, TimeUnit.MILLISECONDS)
|
source.sample(100, TimeUnit.MILLISECONDS)
|
||||||
// .throttleFirst(100, TimeUnit.MILLISECONDS)
|
// .throttleFirst(100, TimeUnit.MILLISECONDS)
|
||||||
.observeOn(Schedulers.computation())
|
.observeOn(Schedulers.computation()).subscribe(testSubscriber);
|
||||||
.subscribe(testSubscriber);
|
|
||||||
|
|
||||||
IntStream
|
|
||||||
.range(0, 1_000)
|
|
||||||
.forEach(source::onNext);
|
|
||||||
|
|
||||||
|
IntStream.range(0, 1_000).forEach(source::onNext);
|
||||||
|
|
||||||
// then
|
// then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber
|
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
||||||
.getOnErrorEvents()
|
|
||||||
.size() == 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,17 +105,12 @@ public class RxJavaBackpressureTest {
|
|||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
Observable
|
Observable.range(1, 1_000_000).onBackpressureBuffer(16, () -> {
|
||||||
.range(1, 1_000_000)
|
}, BackpressureOverflow.ON_OVERFLOW_DROP_OLDEST).observeOn(Schedulers.computation()).subscribe(testSubscriber);
|
||||||
.onBackpressureBuffer(16, () -> {}, BackpressureOverflow.ON_OVERFLOW_DROP_OLDEST)
|
|
||||||
.observeOn(Schedulers.computation())
|
|
||||||
.subscribe(testSubscriber);
|
|
||||||
|
|
||||||
// then
|
// then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber
|
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
||||||
.getOnErrorEvents()
|
|
||||||
.size() == 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,17 +120,11 @@ public class RxJavaBackpressureTest {
|
|||||||
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
TestSubscriber<Integer> testSubscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
// when
|
// when
|
||||||
Observable
|
Observable.range(1, 1_000_000).onBackpressureDrop().observeOn(Schedulers.computation()).subscribe(testSubscriber);
|
||||||
.range(1, 1_000_000)
|
|
||||||
.onBackpressureDrop()
|
|
||||||
.observeOn(Schedulers.computation())
|
|
||||||
.subscribe(testSubscriber);
|
|
||||||
|
|
||||||
// then
|
// then
|
||||||
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
testSubscriber.awaitTerminalEvent(2, TimeUnit.SECONDS);
|
||||||
assertTrue(testSubscriber
|
assertTrue(testSubscriber.getOnErrorEvents().size() == 0);
|
||||||
.getOnErrorEvents()
|
|
||||||
.size() == 0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,17 +13,13 @@ import java.util.concurrent.TimeUnit;
|
|||||||
import static org.hamcrest.Matchers.*;
|
import static org.hamcrest.Matchers.*;
|
||||||
import static org.junit.Assert.assertThat;
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
|
|
||||||
public class RxJavaTesting {
|
public class RxJavaTesting {
|
||||||
@Test
|
@Test
|
||||||
public void givenObservable_whenZip_shouldAssertBlockingInASameThread() {
|
public void givenObservable_whenZip_shouldAssertBlockingInASameThread() {
|
||||||
// given
|
// given
|
||||||
List<String> letters = Arrays.asList("A", "B", "C", "D", "E");
|
List<String> letters = Arrays.asList("A", "B", "C", "D", "E");
|
||||||
List<String> results = new ArrayList<>();
|
List<String> results = new ArrayList<>();
|
||||||
Observable<String> observable = Observable
|
Observable<String> observable = Observable.from(letters).zipWith(Observable.range(1, Integer.MAX_VALUE), (string, index) -> index + "-" + string);
|
||||||
.from(letters)
|
|
||||||
.zipWith(Observable.range(1, Integer.MAX_VALUE),
|
|
||||||
(string, index) -> index + "-" + string);
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
observable.subscribe(results::add);
|
observable.subscribe(results::add);
|
||||||
@ -40,10 +36,7 @@ public class RxJavaTesting {
|
|||||||
List<String> letters = Arrays.asList("A", "B", "C", "D", "E");
|
List<String> letters = Arrays.asList("A", "B", "C", "D", "E");
|
||||||
TestSubscriber<String> subscriber = new TestSubscriber<>();
|
TestSubscriber<String> subscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
Observable<String> observable = Observable
|
Observable<String> observable = Observable.from(letters).zipWith(Observable.range(1, Integer.MAX_VALUE), ((string, index) -> index + "-" + string));
|
||||||
.from(letters)
|
|
||||||
.zipWith(Observable.range(1, Integer.MAX_VALUE),
|
|
||||||
((string, index) -> index + "-" + string));
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
observable.subscribe(subscriber);
|
observable.subscribe(subscriber);
|
||||||
@ -61,12 +54,7 @@ public class RxJavaTesting {
|
|||||||
List<String> letters = Arrays.asList("A", "B", "C", "D", "E");
|
List<String> letters = Arrays.asList("A", "B", "C", "D", "E");
|
||||||
TestSubscriber<String> subscriber = new TestSubscriber<>();
|
TestSubscriber<String> subscriber = new TestSubscriber<>();
|
||||||
|
|
||||||
|
Observable<String> observable = Observable.from(letters).zipWith(Observable.range(1, Integer.MAX_VALUE), ((string, index) -> index + "-" + string)).concatWith(Observable.error(new RuntimeException("error in Observable")));
|
||||||
Observable<String> observable = Observable
|
|
||||||
.from(letters)
|
|
||||||
.zipWith(Observable.range(1, Integer.MAX_VALUE),
|
|
||||||
((string, index) -> index + "-" + string))
|
|
||||||
.concatWith(Observable.error(new RuntimeException("error in Observable")));
|
|
||||||
|
|
||||||
// when
|
// when
|
||||||
observable.subscribe(subscriber);
|
observable.subscribe(subscriber);
|
||||||
@ -84,11 +72,9 @@ public class RxJavaTesting {
|
|||||||
TestSubscriber<String> subscriber = new TestSubscriber<>();
|
TestSubscriber<String> subscriber = new TestSubscriber<>();
|
||||||
Observable<Long> tick = Observable.interval(1, TimeUnit.SECONDS, scheduler);
|
Observable<Long> tick = Observable.interval(1, TimeUnit.SECONDS, scheduler);
|
||||||
|
|
||||||
Observable<String> observable = Observable.from(letters)
|
Observable<String> observable = Observable.from(letters).zipWith(tick, (string, index) -> index + "-" + string);
|
||||||
.zipWith(tick, (string, index) -> index + "-" + string);
|
|
||||||
|
|
||||||
observable.subscribeOn(scheduler)
|
observable.subscribeOn(scheduler).subscribe(subscriber);
|
||||||
.subscribe(subscriber);
|
|
||||||
|
|
||||||
// expect
|
// expect
|
||||||
subscriber.assertNoValues();
|
subscriber.assertNoValues();
|
||||||
@ -110,4 +96,3 @@ public class RxJavaTesting {
|
|||||||
assertThat(subscriber.getOnNextEvents(), hasItems("0-A", "1-B", "2-C", "3-D", "4-E"));
|
assertThat(subscriber.getOnNextEvents(), hasItems("0-A", "1-B", "2-C", "3-D", "4-E"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,14 +21,8 @@ public class MultipleLoginSecurityConfig {
|
|||||||
@Bean
|
@Bean
|
||||||
public UserDetailsService userDetailsService() throws Exception {
|
public UserDetailsService userDetailsService() throws Exception {
|
||||||
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
|
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
|
||||||
manager.createUser(User.withUsername("user")
|
manager.createUser(User.withUsername("user").password("userPass").roles("USER").build());
|
||||||
.password("userPass")
|
manager.createUser(User.withUsername("admin").password("adminPass").roles("ADMIN").build());
|
||||||
.roles("USER")
|
|
||||||
.build());
|
|
||||||
manager.createUser(User.withUsername("admin")
|
|
||||||
.password("adminPass")
|
|
||||||
.roles("ADMIN")
|
|
||||||
.build());
|
|
||||||
return manager;
|
return manager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,37 +36,16 @@ public class MultipleLoginSecurityConfig {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
||||||
auth.inMemoryAuthentication()
|
auth.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN");
|
||||||
.withUser("admin")
|
|
||||||
.password("admin")
|
|
||||||
.roles("ADMIN");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void configure(HttpSecurity http) throws Exception {
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
http.antMatcher("/admin*")
|
http.antMatcher("/admin*").authorizeRequests().anyRequest().hasRole("ADMIN")
|
||||||
.authorizeRequests()
|
|
||||||
.anyRequest()
|
|
||||||
.hasRole("ADMIN")
|
|
||||||
// log in
|
// log in
|
||||||
.and()
|
.and().formLogin().loginPage("/loginAdmin").loginProcessingUrl("/admin_login").failureUrl("/loginAdmin?error=loginError").defaultSuccessUrl("/adminPage")
|
||||||
.formLogin()
|
|
||||||
.loginPage("/loginAdmin")
|
|
||||||
.loginProcessingUrl("/admin_login")
|
|
||||||
.failureUrl("/loginAdmin?error=loginError")
|
|
||||||
.defaultSuccessUrl("/adminPage")
|
|
||||||
// logout
|
// logout
|
||||||
.and()
|
.and().logout().logoutUrl("/admin_logout").logoutSuccessUrl("/protectedLinks").deleteCookies("JSESSIONID").and().exceptionHandling().accessDeniedPage("/403").and().csrf().disable();
|
||||||
.logout()
|
|
||||||
.logoutUrl("/admin_logout")
|
|
||||||
.logoutSuccessUrl("/protectedLinks")
|
|
||||||
.deleteCookies("JSESSIONID")
|
|
||||||
.and()
|
|
||||||
.exceptionHandling()
|
|
||||||
.accessDeniedPage("/403")
|
|
||||||
.and()
|
|
||||||
.csrf()
|
|
||||||
.disable();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,36 +59,15 @@ public class MultipleLoginSecurityConfig {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
||||||
auth.inMemoryAuthentication()
|
auth.inMemoryAuthentication().withUser("user").password("user").roles("USER");
|
||||||
.withUser("user")
|
|
||||||
.password("user")
|
|
||||||
.roles("USER");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void configure(HttpSecurity http) throws Exception {
|
protected void configure(HttpSecurity http) throws Exception {
|
||||||
http.antMatcher("/user*")
|
http.antMatcher("/user*").authorizeRequests().anyRequest().hasRole("USER")
|
||||||
.authorizeRequests()
|
|
||||||
.anyRequest()
|
|
||||||
.hasRole("USER")
|
|
||||||
// log in
|
// log in
|
||||||
.and()
|
.and().formLogin().loginPage("/loginUser").loginProcessingUrl("/user_login").failureUrl("/loginUser?error=loginError").defaultSuccessUrl("/userPage")
|
||||||
.formLogin()
|
|
||||||
.loginPage("/loginUser")
|
|
||||||
.loginProcessingUrl("/user_login")
|
|
||||||
.failureUrl("/loginUser?error=loginError")
|
|
||||||
.defaultSuccessUrl("/userPage")
|
|
||||||
// logout
|
// logout
|
||||||
.and()
|
.and().logout().logoutUrl("/user_logout").logoutSuccessUrl("/protectedLinks").deleteCookies("JSESSIONID").and().exceptionHandling().accessDeniedPage("/403").and().csrf().disable();
|
||||||
.logout()
|
|
||||||
.logoutUrl("/user_logout")
|
|
||||||
.logoutSuccessUrl("/protectedLinks")
|
|
||||||
.deleteCookies("JSESSIONID")
|
|
||||||
.and()
|
|
||||||
.exceptionHandling()
|
|
||||||
.accessDeniedPage("/403")
|
|
||||||
.and()
|
|
||||||
.csrf()
|
|
||||||
.disable();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user