@@ -0,0 +1,1603 @@
+/*%0A * Copyright 2020 LINE Corporation%0A *%0A * LINE Corporation licenses this file to you under the Apache License,%0A * version 2.0 (the %22License%22); you may not use this file except in compliance%0A * with the License. You may obtain a copy of the License at:%0A *%0A *   https://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS, WITHOUT%0A * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the%0A * License for the specific language governing permissions and limitations%0A * under the License.%0A */%0A%0Apackage com.linecorp.armeria.internal;%0A%0Aimport static org.assertj.core.api.Assertions.assertThat;%0Aimport static org.assertj.core.api.Assertions.assertThatThrownBy;%0A%0Aimport org.junit.jupiter.api.Test;%0Aimport org.junit.jupiter.api.extension.RegisterExtension;%0A%0Aimport com.linecorp.armeria.testing.junit.common.EventLoopGroupExtension;%0A%0Aimport reactor.core.publisher.Flux;%0Aimport reactor.core.scheduler.Schedulers;%0A%0Aclass EventLoopThreadTest %7B%0A%0A    @RegisterExtension%0A    public static final EventLoopGroupExtension eventLoop = new EventLoopGroupExtension(1);%0A%0A    @Test%0A    void reactorNonBlocking() %7B%0A        eventLoop.get().next().submit(() -%3E %7B%0A            assertThat(Schedulers.isInNonBlockingThread()).isTrue();%0A%0A            final String%5B%5D test = new String%5B%5D %7B%221%22, %222%22, %223%22, %224%22, %225%22%7D;%0A            assertThatThrownBy(() -%3E Flux.fromArray(test).blockFirst())%0A                    .isInstanceOf(IllegalStateException.class);%0A        %7D).syncUninterruptibly();%0A    %7D%0A%7D%0A

Add test for #2404 (Reactor non-blocking integration) (#2405)