• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2014 The gRPC Authors
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package io.grpc.testing.integration;
18 
19 import com.google.protobuf.MessageLite;
20 import io.grpc.Metadata;
21 import io.grpc.protobuf.lite.ProtoLiteUtils;
22 import java.util.List;
23 import org.junit.Assert;
24 
25 /**
26  * Utility methods to support integration testing.
27  */
28 public class Util {
29 
30   public static final Metadata.Key<Messages.SimpleContext> METADATA_KEY =
31       Metadata.Key.of(
32           "grpc.testing.SimpleContext" + Metadata.BINARY_HEADER_SUFFIX,
33           ProtoLiteUtils.metadataMarshaller(Messages.SimpleContext.getDefaultInstance()));
34   public static final Metadata.Key<String> ECHO_INITIAL_METADATA_KEY
35       = Metadata.Key.of("x-grpc-test-echo-initial", Metadata.ASCII_STRING_MARSHALLER);
36   public static final Metadata.Key<byte[]> ECHO_TRAILING_METADATA_KEY
37       = Metadata.Key.of("x-grpc-test-echo-trailing-bin", Metadata.BINARY_BYTE_MARSHALLER);
38 
39   /** Assert that two messages are equal, producing a useful message if not. */
assertEquals(MessageLite expected, MessageLite actual)40   public static void assertEquals(MessageLite expected, MessageLite actual) {
41     if (expected == null || actual == null) {
42       Assert.assertEquals(expected, actual);
43     } else {
44       if (!expected.equals(actual)) {
45         // This assertEquals should always complete.
46         Assert.assertEquals(expected.toString(), actual.toString());
47         // But if it doesn't, then this should.
48         Assert.assertEquals(expected, actual);
49         Assert.fail("Messages not equal, but assertEquals didn't throw");
50       }
51     }
52   }
53 
54   /** Assert that two lists of messages are equal, producing a useful message if not. */
assertEquals(List<? extends MessageLite> expected, List<? extends MessageLite> actual)55   public static void assertEquals(List<? extends MessageLite> expected,
56       List<? extends MessageLite> actual) {
57     if (expected == null || actual == null) {
58       Assert.assertEquals(expected, actual);
59     } else if (expected.size() != actual.size()) {
60       Assert.assertEquals(expected, actual);
61     } else {
62       for (int i = 0; i < expected.size(); i++) {
63         assertEquals(expected.get(i), actual.get(i));
64       }
65     }
66   }
67 }
68