You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by fr...@apache.org on 2016/12/20 10:34:17 UTC
svn commit: r1775252 -
/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/
Author: frm
Date: Tue Dec 20 10:34:17 2016
New Revision: 1775252
URL: http://svn.apache.org/viewvc?rev=1775252&view=rev
Log:
OAK-5350 - Improve code coverage for o.a.j.o.segment.standby.codec
Added:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobRequestEncoderTest.java (with props)
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadRequestEncoderTest.java (with props)
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetReferencesRequestEncoderTest.java (with props)
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentRequestEncoderTest.java (with props)
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/MessagesTest.java (with props)
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java
jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java
Added: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobRequestEncoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobRequestEncoderTest.java?rev=1775252&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobRequestEncoderTest.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobRequestEncoderTest.java Tue Dec 20 10:34:17 2016
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.standby.codec;
+
+import static org.apache.jackrabbit.oak.segment.standby.codec.Messages.newGetBlobRequest;
+import static org.junit.Assert.assertEquals;
+
+import io.netty.channel.embedded.EmbeddedChannel;
+import org.junit.Test;
+
+public class GetBlobRequestEncoderTest {
+
+ @Test
+ public void encodeRequest() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new GetBlobRequestEncoder());
+ channel.writeOutbound(new GetBlobRequest("clientId", "blobId"));
+ String message = (String) channel.readOutbound();
+ assertEquals(newGetBlobRequest("clientId", "blobId"), message);
+ }
+
+}
Propchange: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetBlobRequestEncoderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadRequestEncoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadRequestEncoderTest.java?rev=1775252&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadRequestEncoderTest.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadRequestEncoderTest.java Tue Dec 20 10:34:17 2016
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.standby.codec;
+
+import static org.apache.jackrabbit.oak.segment.standby.codec.Messages.newGetHeadRequest;
+import static org.junit.Assert.assertEquals;
+
+import io.netty.channel.embedded.EmbeddedChannel;
+import org.junit.Test;
+
+public class GetHeadRequestEncoderTest {
+
+ @Test
+ public void encodeRequest() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new GetHeadRequestEncoder());
+ channel.writeOutbound(new GetHeadRequest("clientId"));
+ String message = (String) channel.readOutbound();
+ assertEquals(newGetHeadRequest("clientId"), message);
+ }
+
+}
Propchange: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetHeadRequestEncoderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetReferencesRequestEncoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetReferencesRequestEncoderTest.java?rev=1775252&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetReferencesRequestEncoderTest.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetReferencesRequestEncoderTest.java Tue Dec 20 10:34:17 2016
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.standby.codec;
+
+import static org.apache.jackrabbit.oak.segment.standby.codec.Messages.newGetReferencesRequest;
+import static org.junit.Assert.assertEquals;
+
+import io.netty.channel.embedded.EmbeddedChannel;
+import org.junit.Test;
+
+public class GetReferencesRequestEncoderTest {
+
+ @Test
+ public void encodeRequest() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new GetReferencesRequestEncoder());
+ channel.writeOutbound(new GetReferencesRequest("clientId", "segmentId"));
+ String message = (String) channel.readOutbound();
+ assertEquals(newGetReferencesRequest("clientId", "segmentId"), message);
+ }
+
+}
Propchange: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetReferencesRequestEncoderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentRequestEncoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentRequestEncoderTest.java?rev=1775252&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentRequestEncoderTest.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentRequestEncoderTest.java Tue Dec 20 10:34:17 2016
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.standby.codec;
+
+import static org.apache.jackrabbit.oak.segment.standby.codec.Messages.newGetSegmentRequest;
+import static org.junit.Assert.assertEquals;
+
+import io.netty.channel.embedded.EmbeddedChannel;
+import org.junit.Test;
+
+public class GetSegmentRequestEncoderTest {
+
+ @Test
+ public void encodeRequest() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new GetSegmentRequestEncoder());
+ channel.writeOutbound(new GetSegmentRequest("clientId", "segmentId"));
+ String message = (String) channel.readOutbound();
+ assertEquals(newGetSegmentRequest("clientId", "segmentId"), message);
+ }
+
+}
Propchange: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/GetSegmentRequestEncoderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/MessagesTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/MessagesTest.java?rev=1775252&view=auto
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/MessagesTest.java (added)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/MessagesTest.java Tue Dec 20 10:34:17 2016
@@ -0,0 +1,69 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jackrabbit.oak.segment.standby.codec;
+
+import static org.apache.jackrabbit.oak.segment.standby.codec.Messages.extractClientFrom;
+import static org.apache.jackrabbit.oak.segment.standby.codec.Messages.extractMessageFrom;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.junit.Test;
+
+public class MessagesTest {
+
+ @Test
+ public void extractMessageFromPayloadWithoutMagic() throws Exception {
+ assertNull(extractMessageFrom("wrong"));
+ }
+
+ @Test
+ public void extractMessageFromEmptyPayload() throws Exception {
+ assertNull(extractMessageFrom("Standby-CMD@"));
+ }
+
+ @Test
+ public void extractMessageFromPayloadWithClient() throws Exception {
+ assertEquals("message", extractMessageFrom("Standby-CMD@client:message"));
+ }
+
+ @Test
+ public void extractMessageFromPayloadWithoutClient() throws Exception {
+ assertEquals("message", extractMessageFrom("Standby-CMD@:message"));
+ }
+
+ @Test
+ public void extractClientFromPayloadWithoutMagic() throws Exception {
+ assertNull(extractClientFrom("wrong"));
+ }
+
+ @Test
+ public void extractClientFromEmptyPayload() throws Exception {
+ assertNull(extractClientFrom("Standby-CMD@"));
+ }
+
+ @Test
+ public void extractClientFromPayloadWithClient() throws Exception {
+ assertEquals("client", extractClientFrom("Standby-CMD@client:message"));
+ }
+
+ @Test
+ public void extractClientFromPayloadWithoutClient() throws Exception {
+ assertEquals("", extractClientFrom("Standby-CMD@:message"));
+ }
+
+}
Propchange: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/MessagesTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java?rev=1775252&r1=1775251&r2=1775252&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/RequestDecoderTest.java Tue Dec 20 10:34:17 2016
@@ -67,4 +67,11 @@ public class RequestDecoderTest {
assertNull(channel.readInbound());
}
+ @Test
+ public void shouldIgnoreInvalidMessages() throws Exception {
+ EmbeddedChannel channel = new EmbeddedChannel(new RequestDecoder());
+ channel.writeInbound("wrong");
+ assertEquals("wrong", channel.readInbound());
+ }
+
}
Modified: jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java?rev=1775252&r1=1775251&r2=1775252&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/standby/codec/ResponseDecoderTest.java Tue Dec 20 10:34:17 2016
@@ -27,6 +27,7 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import java.util.Collections;
import java.util.UUID;
import com.google.common.base.Charsets;
@@ -143,6 +144,20 @@ public class ResponseDecoderTest {
}
@Test
+ public void shouldDropGetReferencesResponsesWithoutDelimiter() throws Exception {
+ byte[] data = "a".getBytes(Charsets.UTF_8);
+
+ ByteBuf buf = Unpooled.buffer();
+ buf.writeInt(data.length + 1);
+ buf.writeByte(Messages.HEADER_REFERENCES);
+ buf.writeBytes(data);
+
+ EmbeddedChannel channel = new EmbeddedChannel(new ResponseDecoder());
+ channel.writeInbound(buf);
+ assertNull(channel.readInbound());
+ }
+
+ @Test
public void shouldDecodeValidSingleElementGetReferencesResponses() throws Exception {
byte[] data = "a:b".getBytes(Charsets.UTF_8);