1# Copyright 2017 gRPC authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15load("//bazel:grpc_build_system.bzl", "grpc_cc_binary", "grpc_cc_library", "grpc_cc_test", "grpc_package")
16
17licenses(["notice"])
18
19grpc_package(
20    name = "test/cpp/end2end",
21    visibility = "public",
22)  # Allows external users to implement end2end tests.
23
24grpc_cc_library(
25    name = "test_service_impl",
26    testonly = True,
27    srcs = ["test_service_impl.cc"],
28    hdrs = ["test_service_impl.h"],
29    external_deps = [
30        "gtest",
31    ],
32    deps = [
33        "//src/proto/grpc/testing:echo_proto",
34        "//test/cpp/util:test_util",
35    ],
36)
37
38grpc_cc_library(
39    name = "test_health_check_service_impl",
40    testonly = True,
41    srcs = ["test_health_check_service_impl.cc"],
42    hdrs = ["test_health_check_service_impl.h"],
43    deps = [
44        "//:grpc",
45        "//:grpc++",
46        "//src/proto/grpc/health/v1:health_proto",
47    ],
48)
49
50grpc_cc_library(
51    name = "counted_service",
52    testonly = True,
53    hdrs = ["counted_service.h"],
54    deps = [
55        "//:grpc",
56    ],
57)
58
59grpc_cc_library(
60    name = "interceptors_util",
61    testonly = True,
62    srcs = ["interceptors_util.cc"],
63    hdrs = ["interceptors_util.h"],
64    external_deps = [
65        "gtest",
66    ],
67    deps = [
68        "//src/proto/grpc/testing:echo_proto",
69        "//test/cpp/util:test_util",
70    ],
71)
72
73grpc_cc_test(
74    name = "async_end2end_test",
75    srcs = ["async_end2end_test.cc"],
76    external_deps = [
77        "gtest",
78    ],
79    tags = ["no_test_ios"],
80    deps = [
81        "//:gpr",
82        "//:grpc",
83        "//:grpc++",
84        "//src/proto/grpc/health/v1:health_proto",
85        "//src/proto/grpc/testing:echo_messages_proto",
86        "//src/proto/grpc/testing:echo_proto",
87        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
88        "//test/core/util:grpc_test_util",
89        "//test/cpp/util:test_util",
90    ],
91)
92
93grpc_cc_test(
94    name = "time_change_test",
95    srcs = ["time_change_test.cc"],
96    data = [
97        ":client_crash_test_server",
98    ],
99    external_deps = [
100        "gtest",
101    ],
102    tags = [
103        "no_test_android",  # android_cc_test doesn't work with data dependency.
104        "no_test_ios",
105        "no_windows",
106    ],
107    deps = [
108        ":test_service_impl",
109        "//:gpr",
110        "//:grpc",
111        "//:grpc++",
112        "//src/proto/grpc/testing:echo_messages_proto",
113        "//src/proto/grpc/testing:echo_proto",
114        "//test/core/util:grpc_test_util",
115        "//test/cpp/util:test_util",
116    ],
117)
118
119grpc_cc_test(
120    name = "client_crash_test",
121    srcs = ["client_crash_test.cc"],
122    data = [
123        ":client_crash_test_server",
124    ],
125    external_deps = [
126        "gtest",
127    ],
128    flaky = True,  # TODO(b/161828686)
129    tags = [
130        "no_test_android",  # android_cc_test doesn't work with data dependency.
131        "no_test_ios",
132        "no_windows",
133    ],
134    deps = [
135        "//:gpr",
136        "//:grpc",
137        "//:grpc++",
138        "//src/proto/grpc/testing:echo_messages_proto",
139        "//src/proto/grpc/testing:echo_proto",
140        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
141        "//test/core/util:grpc_test_util",
142        "//test/cpp/util:test_util",
143    ],
144)
145
146grpc_cc_binary(
147    name = "client_crash_test_server",
148    testonly = True,
149    srcs = ["client_crash_test_server.cc"],
150    external_deps = [
151        "absl/flags:flag",
152        "gtest",
153    ],
154    deps = [
155        ":test_service_impl",
156        "//:gpr",
157        "//:grpc",
158        "//:grpc++",
159        "//src/proto/grpc/testing:echo_messages_proto",
160        "//src/proto/grpc/testing:echo_proto",
161        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
162        "//test/core/util:grpc_test_util",
163        "//test/cpp/util:test_config",
164        "//test/cpp/util:test_util",
165    ],
166)
167
168grpc_cc_test(
169    name = "client_callback_end2end_test",
170    srcs = ["client_callback_end2end_test.cc"],
171    external_deps = [
172        "gtest",
173    ],
174    deps = [
175        ":interceptors_util",
176        ":test_service_impl",
177        "//:gpr",
178        "//:grpc",
179        "//:grpc++",
180        "//src/proto/grpc/testing:echo_messages_proto",
181        "//src/proto/grpc/testing:echo_proto",
182        "//src/proto/grpc/testing:simple_messages_proto",
183        "//test/core/util:grpc_test_util",
184        "//test/cpp/util:test_util",
185    ],
186)
187
188grpc_cc_test(
189    name = "delegating_channel_test",
190    srcs = ["delegating_channel_test.cc"],
191    external_deps = [
192        "gtest",
193    ],
194    deps = [
195        ":test_service_impl",
196        "//:gpr",
197        "//:grpc",
198        "//:grpc++",
199        "//src/proto/grpc/testing:echo_messages_proto",
200        "//src/proto/grpc/testing:echo_proto",
201        "//test/core/util:grpc_test_util",
202        "//test/cpp/util:test_util",
203    ],
204)
205
206grpc_cc_test(
207    name = "client_interceptors_end2end_test",
208    srcs = ["client_interceptors_end2end_test.cc"],
209    external_deps = [
210        "gtest",
211    ],
212    deps = [
213        ":interceptors_util",
214        ":test_service_impl",
215        "//:gpr",
216        "//:grpc",
217        "//:grpc++",
218        "//src/proto/grpc/testing:echo_messages_proto",
219        "//src/proto/grpc/testing:echo_proto",
220        "//test/core/util:grpc_test_util",
221        "//test/cpp/util:test_util",
222    ],
223)
224
225grpc_cc_library(
226    name = "end2end_test_lib",
227    testonly = True,
228    srcs = ["end2end_test.cc"],
229    external_deps = [
230        "gtest",
231    ],
232    linkstatic = True,
233    deps = [
234        ":interceptors_util",
235        ":test_service_impl",
236        "//:gpr",
237        "//:grpc",
238        "//:grpc++",
239        "//:grpc++_test",
240        "//src/proto/grpc/testing:echo_messages_proto",
241        "//src/proto/grpc/testing:echo_proto",
242        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
243        "//test/core/util:grpc_test_util",
244        "//test/cpp/util:test_util",
245    ],
246    alwayslink = 1,
247)
248
249grpc_cc_test(
250    name = "channelz_service_test",
251    srcs = ["channelz_service_test.cc"],
252    data = [
253        "//src/core/tsi/test_creds:ca.pem",
254        "//src/core/tsi/test_creds:client.key",
255        "//src/core/tsi/test_creds:client.pem",
256        "//src/core/tsi/test_creds:server1.key",
257        "//src/core/tsi/test_creds:server1.pem",
258    ],
259    external_deps = [
260        "gtest",
261    ],
262    # TODO(yulin-liang): The test is not able to load the certificate files on
263    # iOS. Figure out why.
264    tags = ["no_test_ios"],
265    deps = [
266        ":test_service_impl",
267        "//:gpr",
268        "//:grpc",
269        "//:grpc++",
270        "//:grpcpp_channelz",
271        "//src/proto/grpc/channelz:channelz_proto",
272        "//src/proto/grpc/testing:echo_messages_proto",
273        "//src/proto/grpc/testing:echo_proto",
274        "//test/core/util:grpc_test_util",
275        "//test/cpp/util:test_util",
276    ],
277)
278
279grpc_cc_test(
280    name = "server_early_return_test",
281    srcs = ["server_early_return_test.cc"],
282    external_deps = [
283        "gtest",
284    ],
285    deps = [
286        "//:gpr",
287        "//:grpc",
288        "//:grpc++",
289        "//src/proto/grpc/testing:echo_messages_proto",
290        "//src/proto/grpc/testing:echo_proto",
291        "//test/core/util:grpc_test_util",
292        "//test/cpp/util:test_util",
293    ],
294)
295
296grpc_cc_test(
297    name = "end2end_test",
298    size = "large",
299    flaky = True,  # TODO(b/151704375)
300    tags = ["no_test_ios"],
301    deps = [
302        ":end2end_test_lib",
303        # DO NOT REMOVE THE grpc++ dependence below since the internal build
304        # system uses it to specialize targets
305        "//:grpc++",
306    ],
307)
308
309grpc_cc_test(
310    name = "exception_test",
311    srcs = ["exception_test.cc"],
312    external_deps = [
313        "gtest",
314    ],
315    deps = [
316        "//:gpr",
317        "//:grpc",
318        "//:grpc++",
319        "//src/proto/grpc/testing:echo_messages_proto",
320        "//src/proto/grpc/testing:echo_proto",
321        "//test/core/util:grpc_test_util",
322        "//test/cpp/util:test_util",
323    ],
324)
325
326grpc_cc_test(
327    name = "filter_end2end_test",
328    srcs = ["filter_end2end_test.cc"],
329    external_deps = [
330        "gtest",
331    ],
332    deps = [
333        "//:gpr",
334        "//:grpc",
335        "//:grpc++",
336        "//src/proto/grpc/testing:echo_messages_proto",
337        "//src/proto/grpc/testing:echo_proto",
338        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
339        "//test/core/util:grpc_test_util",
340        "//test/cpp/util:test_util",
341    ],
342)
343
344grpc_cc_test(
345    name = "generic_end2end_test",
346    srcs = ["generic_end2end_test.cc"],
347    external_deps = [
348        "gtest",
349    ],
350    deps = [
351        "//:gpr",
352        "//:grpc",
353        "//:grpc++",
354        "//src/proto/grpc/testing:echo_messages_proto",
355        "//src/proto/grpc/testing:echo_proto",
356        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
357        "//test/core/util:grpc_test_util",
358        "//test/cpp/util:test_util",
359    ],
360)
361
362grpc_cc_test(
363    name = "health_service_end2end_test",
364    srcs = ["health_service_end2end_test.cc"],
365    external_deps = [
366        "gtest",
367    ],
368    deps = [
369        ":test_health_check_service_impl",
370        ":test_service_impl",
371        "//:gpr",
372        "//:grpc",
373        "//:grpc++",
374        "//src/proto/grpc/health/v1:health_proto",
375        "//src/proto/grpc/testing:echo_messages_proto",
376        "//src/proto/grpc/testing:echo_proto",
377        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
378        "//test/core/util:grpc_test_util",
379        "//test/cpp/util:test_util",
380    ],
381)
382
383grpc_cc_test(
384    name = "hybrid_end2end_test",
385    srcs = ["hybrid_end2end_test.cc"],
386    external_deps = [
387        "gtest",
388    ],
389    deps = [
390        ":test_service_impl",
391        "//:gpr",
392        "//:grpc",
393        "//:grpc++",
394        "//src/proto/grpc/testing:echo_messages_proto",
395        "//src/proto/grpc/testing:echo_proto",
396        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
397        "//test/core/util:grpc_test_util",
398        "//test/cpp/util:test_util",
399    ],
400)
401
402grpc_cc_test(
403    name = "raw_end2end_test",
404    srcs = ["raw_end2end_test.cc"],
405    external_deps = [
406        "gtest",
407    ],
408    deps = [
409        ":test_service_impl",
410        "//:gpr",
411        "//:grpc",
412        "//:grpc++",
413        "//src/proto/grpc/testing:echo_messages_proto",
414        "//src/proto/grpc/testing:echo_proto",
415        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
416        "//test/core/util:grpc_test_util",
417        "//test/cpp/util:test_util",
418    ],
419)
420
421grpc_cc_test(
422    name = "mock_test",
423    srcs = ["mock_test.cc"],
424    external_deps = [
425        "gtest",
426    ],
427    deps = [
428        "//:gpr",
429        "//:grpc",
430        "//:grpc++",
431        "//:grpc++_test",
432        "//src/proto/grpc/testing:echo_messages_proto",
433        "//src/proto/grpc/testing:echo_proto",
434        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
435        "//test/core/util:grpc_test_util",
436        "//test/cpp/util:test_util",
437    ],
438)
439
440grpc_cc_test(
441    name = "nonblocking_test",
442    srcs = ["nonblocking_test.cc"],
443    external_deps = [
444        "gtest",
445    ],
446    deps = [
447        "//:gpr",
448        "//:grpc",
449        "//:grpc++",
450        "//src/proto/grpc/testing:echo_messages_proto",
451        "//src/proto/grpc/testing:echo_proto",
452        "//test/core/util:grpc_test_util",
453        "//test/cpp/util:test_util",
454    ],
455)
456
457grpc_cc_test(
458    name = "client_lb_end2end_test",
459    srcs = ["client_lb_end2end_test.cc"],
460    external_deps = [
461        "gtest",
462    ],
463    flaky = True,  # TODO(b/151315347)
464    tags = ["no_windows"],  # TODO(jtattermusch): fix test on windows
465    deps = [
466        ":test_service_impl",
467        "//:gpr",
468        "//:grpc",
469        "//:grpc++",
470        "//src/proto/grpc/testing:echo_messages_proto",
471        "//src/proto/grpc/testing:echo_proto",
472        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
473        "//src/proto/grpc/testing/xds/v3:orca_load_report_proto",
474        "//test/core/util:grpc_test_util",
475        "//test/core/util:test_lb_policies",
476        "//test/cpp/util:test_util",
477    ],
478)
479
480grpc_cc_test(
481    name = "rls_end2end_test",
482    srcs = ["rls_end2end_test.cc"],
483    external_deps = [
484        "gtest",
485        "absl/types:optional",
486    ],
487    tags = ["no_test_ios"],
488    deps = [
489        ":counted_service",
490        ":test_service_impl",
491        "//:gpr",
492        "//:grpc",
493        "//:grpc++",
494        "//src/proto/grpc/lookup/v1:rls_proto",
495        "//src/proto/grpc/testing:echo_messages_proto",
496        "//src/proto/grpc/testing:echo_proto",
497        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
498        "//test/core/util:grpc_test_util",
499        "//test/core/util:test_lb_policies",
500        "//test/cpp/util:test_config",
501        "//test/cpp/util:test_util",
502    ],
503)
504
505grpc_cc_test(
506    name = "service_config_end2end_test",
507    srcs = ["service_config_end2end_test.cc"],
508    external_deps = [
509        "gtest",
510    ],
511    deps = [
512        ":test_service_impl",
513        "//:gpr",
514        "//:grpc",
515        "//:grpc++",
516        "//src/proto/grpc/testing:echo_messages_proto",
517        "//src/proto/grpc/testing:echo_proto",
518        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
519        "//test/core/util:grpc_test_util",
520        "//test/cpp/util:test_util",
521    ],
522)
523
524grpc_cc_test(
525    name = "grpclb_end2end_test",
526    srcs = ["grpclb_end2end_test.cc"],
527    external_deps = [
528        "gtest",
529    ],
530    flaky = True,  # TODO(b/150567713)
531    tags = ["no_windows"],  # TODO(jtattermusch): fix test on windows
532    deps = [
533        ":counted_service",
534        ":test_service_impl",
535        "//:gpr",
536        "//:grpc",
537        "//:grpc++",
538        "//:grpc_resolver_fake",
539        "//src/proto/grpc/lb/v1:load_balancer_proto",
540        "//src/proto/grpc/testing:echo_messages_proto",
541        "//src/proto/grpc/testing:echo_proto",
542        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
543        "//test/core/util:grpc_test_util",
544        "//test/cpp/util:test_config",
545        "//test/cpp/util:test_util",
546    ],
547)
548
549grpc_cc_test(
550    name = "proto_server_reflection_test",
551    srcs = ["proto_server_reflection_test.cc"],
552    external_deps = [
553        "gtest",
554    ],
555    deps = [
556        ":test_service_impl",
557        "//:gpr",
558        "//:grpc",
559        "//:grpc++",
560        "//:grpc++_reflection",
561        "//src/proto/grpc/testing:echo_messages_proto",
562        "//src/proto/grpc/testing:echo_proto",
563        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
564        "//test/core/util:grpc_test_util",
565        "//test/cpp/util:grpc++_proto_reflection_desc_db",
566        "//test/cpp/util:test_util",
567    ],
568)
569
570grpc_cc_test(
571    name = "server_builder_plugin_test",
572    srcs = ["server_builder_plugin_test.cc"],
573    external_deps = [
574        "gtest",
575    ],
576    deps = [
577        ":test_service_impl",
578        "//:gpr",
579        "//:grpc",
580        "//:grpc++",
581        "//src/proto/grpc/testing:echo_messages_proto",
582        "//src/proto/grpc/testing:echo_proto",
583        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
584        "//test/core/util:grpc_test_util",
585        "//test/cpp/util:test_util",
586    ],
587)
588
589grpc_cc_test(
590    name = "server_crash_test",
591    srcs = ["server_crash_test.cc"],
592    data = [
593        ":server_crash_test_client",
594    ],
595    external_deps = [
596        "gtest",
597    ],
598    tags = [
599        "no_test_android",  # android_cc_test doesn't work with data dependency.
600        "no_test_ios",
601        "no_windows",
602    ],
603    deps = [
604        "//:gpr",
605        "//:grpc",
606        "//:grpc++",
607        "//src/proto/grpc/testing:echo_messages_proto",
608        "//src/proto/grpc/testing:echo_proto",
609        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
610        "//test/core/util:grpc_test_util",
611        "//test/cpp/util:test_util",
612    ],
613)
614
615grpc_cc_binary(
616    name = "server_crash_test_client",
617    testonly = True,
618    srcs = ["server_crash_test_client.cc"],
619    external_deps = [
620        "absl/flags:flag",
621        "gtest",
622    ],
623    deps = [
624        "//:gpr",
625        "//:grpc",
626        "//:grpc++",
627        "//src/proto/grpc/testing:echo_messages_proto",
628        "//src/proto/grpc/testing:echo_proto",
629        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
630        "//test/core/util:grpc_test_util",
631        "//test/cpp/util:test_config",
632        "//test/cpp/util:test_util",
633    ],
634)
635
636grpc_cc_test(
637    name = "server_interceptors_end2end_test",
638    srcs = ["server_interceptors_end2end_test.cc"],
639    external_deps = [
640        "gtest",
641    ],
642    deps = [
643        ":interceptors_util",
644        ":test_service_impl",
645        "//:gpr",
646        "//:grpc",
647        "//:grpc++",
648        "//src/proto/grpc/testing:echo_messages_proto",
649        "//src/proto/grpc/testing:echo_proto",
650        "//test/core/util:grpc_test_util",
651        "//test/cpp/util:test_util",
652    ],
653)
654
655grpc_cc_test(
656    name = "server_load_reporting_end2end_test",
657    srcs = ["server_load_reporting_end2end_test.cc"],
658    external_deps = [
659        "gtest",
660    ],
661    tags = [
662        "no_test_ios",
663        "no_windows",
664    ],
665    deps = [
666        "//:grpcpp_server_load_reporting",
667        "//src/proto/grpc/testing:echo_proto",
668        "//test/cpp/util:test_util",
669    ],
670)
671
672grpc_cc_test(
673    name = "flaky_network_test",
674    srcs = ["flaky_network_test.cc"],
675    external_deps = [
676        "gtest",
677    ],
678    tags = [
679        # Test manipulates network settings (e.g. using iptables) while running so it is only
680        # run on demand ("manual") and when no other tests are running ("exclusive").
681        # It also means that the test won't work with setups like bazel RBE.
682        "manual",
683        "exclusive",
684        "no_test_ios",
685    ],
686    deps = [
687        ":test_service_impl",
688        "//:gpr",
689        "//:grpc",
690        "//:grpc++",
691        "//src/proto/grpc/testing:echo_messages_proto",
692        "//src/proto/grpc/testing:echo_proto",
693        "//test/core/util:grpc_test_util",
694        "//test/cpp/util:test_util",
695    ],
696)
697
698grpc_cc_test(
699    name = "shutdown_test",
700    srcs = ["shutdown_test.cc"],
701    external_deps = [
702        "gtest",
703    ],
704    deps = [
705        "//:gpr",
706        "//:grpc",
707        "//:grpc++",
708        "//src/proto/grpc/testing:echo_messages_proto",
709        "//src/proto/grpc/testing:echo_proto",
710        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
711        "//test/core/util:grpc_test_util",
712        "//test/cpp/util:test_util",
713    ],
714)
715
716grpc_cc_test(
717    name = "streaming_throughput_test",
718    srcs = ["streaming_throughput_test.cc"],
719    external_deps = [
720        "gtest",
721    ],
722    tags = ["no_windows"],
723    deps = [
724        "//:gpr",
725        "//:grpc",
726        "//:grpc++",
727        "//src/proto/grpc/testing:echo_messages_proto",
728        "//src/proto/grpc/testing:echo_proto",
729        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
730        "//test/core/util:grpc_test_util",
731        "//test/cpp/util:test_util",
732    ],
733)
734
735grpc_cc_test(
736    name = "thread_stress_test",
737    size = "large",
738    srcs = ["thread_stress_test.cc"],
739    external_deps = [
740        "gtest",
741    ],
742    shard_count = 5,
743    tags = ["no_windows"],  # TODO(jtattermusch): fix test on windows
744    deps = [
745        "//:gpr",
746        "//:grpc",
747        "//:grpc++",
748        "//src/proto/grpc/testing:echo_messages_proto",
749        "//src/proto/grpc/testing:echo_proto",
750        "//src/proto/grpc/testing/duplicate:echo_duplicate_proto",
751        "//test/core/util:grpc_test_util",
752        "//test/cpp/util:test_util",
753    ],
754)
755
756grpc_cc_test(
757    name = "cfstream_test",
758    srcs = ["cfstream_test.cc"],
759    external_deps = [
760        "gtest",
761    ],
762    tags = [
763        # Test requires root and manipulates network settings while running so it is only
764        # run on demand ("manual") and when no other tests are running ("exclusive").
765        # It also means that the test won't work with setups like bazel RBE.
766        "manual",
767        "exclusive",
768        "no_test_android",
769        "no_test_ios",
770    ],
771    deps = [
772        ":test_service_impl",
773        "//:gpr",
774        "//:grpc",
775        "//:grpc++",
776        "//src/proto/grpc/testing:echo_messages_proto",
777        "//src/proto/grpc/testing:echo_proto",
778        "//src/proto/grpc/testing:simple_messages_proto",
779        "//test/core/util:grpc_test_util",
780        "//test/cpp/util:test_util",
781    ],
782)
783
784grpc_cc_test(
785    name = "message_allocator_end2end_test",
786    srcs = ["message_allocator_end2end_test.cc"],
787    external_deps = [
788        "gtest",
789    ],
790    deps = [
791        ":test_service_impl",
792        "//:gpr",
793        "//:grpc",
794        "//:grpc++",
795        "//src/proto/grpc/testing:echo_messages_proto",
796        "//src/proto/grpc/testing:echo_proto",
797        "//src/proto/grpc/testing:simple_messages_proto",
798        "//test/core/util:grpc_test_util",
799        "//test/cpp/util:test_util",
800    ],
801)
802
803grpc_cc_test(
804    name = "context_allocator_end2end_test",
805    srcs = ["context_allocator_end2end_test.cc"],
806    external_deps = [
807        "gtest",
808    ],
809    deps = [
810        ":test_service_impl",
811        "//:gpr",
812        "//:grpc",
813        "//:grpc++",
814        "//src/proto/grpc/testing:echo_messages_proto",
815        "//src/proto/grpc/testing:echo_proto",
816        "//src/proto/grpc/testing:simple_messages_proto",
817        "//test/core/util:grpc_test_util",
818        "//test/cpp/util:test_util",
819    ],
820)
821
822grpc_cc_test(
823    name = "port_sharing_end2end_test",
824    srcs = ["port_sharing_end2end_test.cc"],
825    external_deps = [
826        "gtest",
827    ],
828    deps = [
829        ":test_service_impl",
830        "//:gpr",
831        "//:grpc",
832        "//:grpc++",
833        "//src/proto/grpc/testing:echo_messages_proto",
834        "//src/proto/grpc/testing:echo_proto",
835        "//test/core/util:grpc_test_util",
836        "//test/cpp/util:test_util",
837    ],
838)
839
840grpc_cc_test(
841    name = "admin_services_end2end_test",
842    srcs = ["admin_services_end2end_test.cc"],
843    external_deps = [
844        "gtest",
845    ],
846    deps = [
847        "//:grpc++",
848        "//:grpc++_reflection",
849        "//:grpcpp_admin",
850        "//test/core/util:grpc_test_util",
851        "//test/cpp/util:test_util",
852    ],
853)
854
855grpc_cc_test(
856    name = "sdk_authz_end2end_test",
857    srcs = ["sdk_authz_end2end_test.cc"],
858    external_deps = [
859        "gtest",
860    ],
861    deps = [
862        ":test_service_impl",
863        "//:gpr",
864        "//:grpc",
865        "//:grpc++",
866        "//:grpc++_authorization_provider",
867        "//src/proto/grpc/testing:echo_messages_proto",
868        "//src/proto/grpc/testing:echo_proto",
869        "//test/core/util:grpc_test_util",
870        "//test/cpp/util:test_util",
871    ],
872)
873