Skip to content

Commit b877196

Browse files
committed
Added tests for eval_args address/port getters. Implemented said getters and CreateActivation.
Added logging for unsupported attributes fixed make issues by moving grpc_authorization_engine under grpc changed inet_aton to inet_pton fixed issue leftover from initial implementation of evalargs
1 parent 34795b4 commit b877196

26 files changed

+785
-42
lines changed

BUILD

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ grpc_cc_library(
325325
public_hdrs = GRPC_PUBLIC_HDRS + GRPC_SECURE_PUBLIC_HDRS,
326326
standalone = True,
327327
deps = [
328+
"grpc_authorization_engine",
328329
"grpc_common",
329330
"grpc_lb_policy_cds_secure",
330331
"grpc_lb_policy_eds_secure",
@@ -1863,6 +1864,9 @@ grpc_cc_library(
18631864
"src/core/lib/security/authorization/mock_cel/activation.h",
18641865
"src/core/lib/security/authorization/mock_cel/cel_value.h",
18651866
],
1867+
external_deps = [
1868+
"absl/container:flat_hash_set",
1869+
],
18661870
language = "c++",
18671871
deps = [
18681872
"envoy_ads_upb",

BUILD.gn

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -788,6 +788,12 @@ config("grpc_config") {
788788
"src/core/lib/json/json.h",
789789
"src/core/lib/json/json_reader.cc",
790790
"src/core/lib/json/json_writer.cc",
791+
"src/core/lib/security/authorization/authorization_engine.cc",
792+
"src/core/lib/security/authorization/authorization_engine.h",
793+
"src/core/lib/security/authorization/evaluate_args.cc",
794+
"src/core/lib/security/authorization/evaluate_args.h",
795+
"src/core/lib/security/authorization/mock_cel/activation.h",
796+
"src/core/lib/security/authorization/mock_cel/cel_value.h",
791797
"src/core/lib/security/context/security_context.cc",
792798
"src/core/lib/security/context/security_context.h",
793799
"src/core/lib/security/credentials/alts/alts_credentials.cc",
@@ -1003,6 +1009,7 @@ config("grpc_config") {
10031009
":absl/strings:strings",
10041010
":absl/status:status",
10051011
":absl/container:inlined_vector",
1012+
":absl/container:flat_hash_set",
10061013
"//third_party/cares",
10071014
":address_sorting",
10081015
]

CMakeLists.txt

Lines changed: 64 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,32 +103,47 @@ set_property(CACHE gRPC_ABSL_PROVIDER PROPERTY STRINGS "module" "package")
103103

104104
set(gRPC_ABSL_USED_TARGETS
105105
absl_algorithm
106+
absl_algorithm_container
106107
absl_atomic_hook
107108
absl_bad_optional_access
109+
absl_bad_variant_access
108110
absl_base
109111
absl_base_internal
110112
absl_bits
113+
absl_city
111114
absl_civil_time
112115
absl_compressed_tuple
113116
absl_config
117+
absl_container_common
118+
absl_container_memory
114119
absl_cord
115120
absl_core_headers
116121
absl_debugging_internal
117122
absl_demangle_internal
118123
absl_dynamic_annotations
119124
absl_endian
120125
absl_errno_saver
126+
absl_exponential_biased
121127
absl_fixed_array
128+
absl_flat_hash_set
122129
absl_function_ref
123130
absl_graphcycles_internal
131+
absl_hash
132+
absl_hash_function_defaults
133+
absl_hash_policy_traits
134+
absl_hashtable_debug_hooks
135+
absl_hashtablez_sampler
136+
absl_have_sse
124137
absl_inlined_vector
125138
absl_inlined_vector_internal
126139
absl_int128
127140
absl_kernel_timeout_internal
141+
absl_layout
128142
absl_log_severity
129143
absl_malloc_internal
130144
absl_memory
131145
absl_optional
146+
absl_raw_hash_set
132147
absl_raw_logging_internal
133148
absl_span
134149
absl_spinlock_wait
@@ -145,6 +160,7 @@ set(gRPC_ABSL_USED_TARGETS
145160
absl_time_zone
146161
absl_type_traits
147162
absl_utility
163+
absl_variant
148164
absl_meta
149165
)
150166

@@ -795,6 +811,7 @@ if(gRPC_BUILD_TESTS)
795811
add_dependencies(buildtests_cxx duplicate_header_bad_client_test)
796812
add_dependencies(buildtests_cxx end2end_test)
797813
add_dependencies(buildtests_cxx error_details_test)
814+
add_dependencies(buildtests_cxx evaluate_args_test)
798815
add_dependencies(buildtests_cxx eventmanager_libuv_test)
799816
add_dependencies(buildtests_cxx exception_test)
800817
add_dependencies(buildtests_cxx filter_end2end_test)
@@ -1702,6 +1719,8 @@ add_library(grpc
17021719
src/core/lib/iomgr/work_serializer.cc
17031720
src/core/lib/json/json_reader.cc
17041721
src/core/lib/json/json_writer.cc
1722+
src/core/lib/security/authorization/authorization_engine.cc
1723+
src/core/lib/security/authorization/evaluate_args.cc
17051724
src/core/lib/security/context/security_context.cc
17061725
src/core/lib/security/credentials/alts/alts_credentials.cc
17071726
src/core/lib/security/credentials/alts/check_gcp_environment.cc
@@ -1858,6 +1877,7 @@ target_link_libraries(grpc
18581877
absl::strings
18591878
absl::status
18601879
absl::inlined_vector
1880+
absl::flat_hash_set
18611881
)
18621882
if(_gRPC_PLATFORM_IOS OR _gRPC_PLATFORM_MAC)
18631883
target_link_libraries(grpc "-framework CoreFoundation")
@@ -1944,6 +1964,7 @@ if(gRPC_BUILD_TESTS)
19441964
add_library(grpc_test_util
19451965
test/core/util/cmdline.cc
19461966
test/core/util/debugger_macros.cc
1967+
test/core/util/eval_args_mock_endpoint.cc
19471968
test/core/util/fuzzer_util.cc
19481969
test/core/util/grpc_profiler.cc
19491970
test/core/util/histogram.cc
@@ -2010,6 +2031,7 @@ if(gRPC_BUILD_TESTS)
20102031
add_library(grpc_test_util_unsecure
20112032
test/core/util/cmdline.cc
20122033
test/core/util/debugger_macros.cc
2034+
test/core/util/eval_args_mock_endpoint.cc
20132035
test/core/util/fuzzer_util.cc
20142036
test/core/util/grpc_profiler.cc
20152037
test/core/util/histogram.cc
@@ -8410,8 +8432,6 @@ endif()
84108432
if(gRPC_BUILD_TESTS)
84118433

84128434
add_executable(authorization_engine_test
8413-
src/core/lib/security/authorization/authorization_engine.cc
8414-
src/core/lib/security/authorization/evaluate_args.cc
84158435
test/core/security/authorization_engine_test.cc
84168436
third_party/googletest/googletest/src/gtest-all.cc
84178437
third_party/googletest/googlemock/src/gmock-all.cc
@@ -10747,6 +10767,45 @@ target_link_libraries(error_details_test
1074710767
)
1074810768

1074910769

10770+
endif()
10771+
if(gRPC_BUILD_TESTS)
10772+
10773+
add_executable(evaluate_args_test
10774+
test/core/security/evaluate_args_test.cc
10775+
third_party/googletest/googletest/src/gtest-all.cc
10776+
third_party/googletest/googlemock/src/gmock-all.cc
10777+
)
10778+
10779+
target_include_directories(evaluate_args_test
10780+
PRIVATE
10781+
${CMAKE_CURRENT_SOURCE_DIR}
10782+
${CMAKE_CURRENT_SOURCE_DIR}/include
10783+
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
10784+
${_gRPC_RE2_INCLUDE_DIR}
10785+
${_gRPC_SSL_INCLUDE_DIR}
10786+
${_gRPC_UPB_GENERATED_DIR}
10787+
${_gRPC_UPB_GRPC_GENERATED_DIR}
10788+
${_gRPC_UPB_INCLUDE_DIR}
10789+
${_gRPC_ZLIB_INCLUDE_DIR}
10790+
third_party/googletest/googletest/include
10791+
third_party/googletest/googletest
10792+
third_party/googletest/googlemock/include
10793+
third_party/googletest/googlemock
10794+
${_gRPC_PROTO_GENS_DIR}
10795+
)
10796+
10797+
target_link_libraries(evaluate_args_test
10798+
${_gRPC_PROTOBUF_LIBRARIES}
10799+
${_gRPC_ALLTARGETS_LIBRARIES}
10800+
grpc_test_util
10801+
grpc
10802+
gpr
10803+
address_sorting
10804+
upb
10805+
${_gRPC_GFLAGS_LIBRARIES}
10806+
)
10807+
10808+
1075010809
endif()
1075110810
if(gRPC_BUILD_TESTS)
1075210811

@@ -14684,6 +14743,7 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
1468414743
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/simple_messages.grpc.pb.h
1468514744
test/core/util/cmdline.cc
1468614745
test/core/util/debugger_macros.cc
14746+
test/core/util/eval_args_mock_endpoint.cc
1468714747
test/core/util/fuzzer_util.cc
1468814748
test/core/util/grpc_profiler.cc
1468914749
test/core/util/histogram.cc
@@ -15625,7 +15685,7 @@ generate_pkgconfig(
1562515685
"high performance general RPC framework"
1562615686
"${gRPC_CORE_VERSION}"
1562715687
"gpr openssl"
15628-
"-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
15688+
"-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_exponential_biased -labsl_hash -labsl_bad_variant_access -labsl_city -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
1562915689
""
1563015690
"grpc.pc")
1563115691

@@ -15645,7 +15705,7 @@ generate_pkgconfig(
1564515705
"C++ wrapper for gRPC"
1564615706
"${gRPC_CPP_VERSION}"
1564715707
"grpc"
15648-
"-lgrpc++ -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
15708+
"-lgrpc++ -labsl_raw_hash_set -labsl_hashtablez_sampler -labsl_exponential_biased -labsl_hash -labsl_bad_variant_access -labsl_city -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
1564915709
""
1565015710
"grpc++.pc")
1565115711

0 commit comments

Comments
 (0)