package org.webpieces.httpfrontend2.api.http2;
import java.util.List;
import java.util.concurrent.ExecutionException;
import org.junit.Assert;
import org.junit.Test;
import org.webpieces.httpfrontend2.api.mock2.MockStreamWriter;
import org.webpieces.httpfrontend2.api.mock2.MockHttp2RequestListener.Cancel;
import org.webpieces.httpfrontend2.api.mock2.MockHttp2RequestListener.PassedIn;
import com.webpieces.hpack.api.dto.Http2Headers;
public class TestHttp2Errors extends AbstractHttp2Test {
@Test
public void testFarEndClosedSocket() throws InterruptedException, ExecutionException {
MockStreamWriter mockSw = new MockStreamWriter();
mockListener.addMockStreamToReturn(mockSw );
MockStreamWriter mockSw2 = new MockStreamWriter();
mockListener.addMockStreamToReturn(mockSw2 );
Http2Headers request1 = Http2Requests.createRequest(1, true);
Http2Headers request2 = Http2Requests.createRequest(3, true);
mockChannel.write(request1);
PassedIn in1 = mockListener.getSingleRequest();
mockChannel.write(request2);
PassedIn in2 = mockListener.getSingleRequest();
mockChannel.simulateClose();
List<Cancel> cancels = mockListener.getCancels();
Assert.assertEquals(in1.stream, cancels.get(0).stream);
Assert.assertEquals(in2.stream, cancels.get(1).stream);
}
}