1 /*
2  *
3  * Copyright 2015 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #import <XCTest/XCTest.h>
20 
21 /**
22  * Implements tests as described here:
23  * https://github.com/grpc/grpc/blob/master/doc/interop-test-descriptions.md
24  *
25  * This is an abstract class that needs to be subclassed. See |+host|.
26  */
27 @interface InteropTests : XCTestCase
28 /**
29  * Host to send the RPCs to. The base implementation returns nil, which would make all tests to
30  * fail.
31  * Override in a subclass to perform these tests against a specific address.
32  */
33 + (NSString *)host;
34 
35 /**
36  * Bytes of overhead of test proto responses due to encoding. This is used to excercise the behavior
37  * when responses are just above or below the max response size. For some reason, the local and
38  * remote servers enconde responses with different overhead (?), so this is defined per-subclass.
39  */
40 - (int32_t)encodingOverhead;
41 @end
42