1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one
3
+ * or more contributor license agreements. See the NOTICE file
4
+ * distributed with this work for additional information
5
+ * regarding copyright ownership. The ASF licenses this file
6
+ * to you under the Apache License, Version 2.0 (the
7
+ * "License"); you may not use this file except in compliance
8
+ * with the License. You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+
19
+ package org .apache .zookeeper .server .quorum ;
20
+
21
+ import static org .junit .jupiter .api .Assertions .assertTrue ;
22
+ import java .io .IOException ;
23
+ import org .apache .zookeeper .ZKTestCase ;
24
+ import org .apache .zookeeper .ZooDefs ;
25
+ import org .apache .zookeeper .server .Request ;
26
+ import org .apache .zookeeper .txn .TxnHeader ;
27
+ import org .junit .jupiter .api .Test ;
28
+
29
+ class SendAckRequestProcessorTest extends ZKTestCase {
30
+ static class FakeLearner extends Learner {
31
+ public FakeLearner () {
32
+ sock = null ;
33
+ }
34
+
35
+ void writePacket (QuorumPacket pp , boolean flush ) throws IOException {
36
+ throw new IOException ();
37
+ }
38
+ }
39
+
40
+ @ Test
41
+ public void learnerSocketCloseTest () {
42
+ SendAckRequestProcessor processor = new SendAckRequestProcessor (new FakeLearner ());
43
+ processor .processRequest (new Request (0L , 0 , ZooDefs .OpCode .sync , new TxnHeader (), new LearnerInfo (), 0L ));
44
+ assertTrue (true , "should get here without exception" );
45
+ }
46
+ }
0 commit comments