11#include " sai_p4/capabilities.h"
22
3- #include " absl/status/status.h"
43#include " gmock/gmock.h"
54#include " gtest/gtest.h"
65#include " gutil/gutil/proto_matchers.h"
7- #include " gutil/gutil/status_matchers.h"
6+ #include " gutil/gutil/status_matchers.h" // IWYU pragma: keep
87#include " sai_p4/capabilities.pb.h"
98
109namespace sai {
1110namespace {
1211
1312using ::gutil::EqualsProto;
14- using ::gutil::IsOkAndHolds;
1513using ::p4::v1::CapabilitiesResponse;
1614
1715TEST (CapabilitiesTest, AddExperimentalResourceCapabilitiesWorks) {
@@ -43,12 +41,22 @@ TEST(CapabilitiesTest, GetExperimentalResourceCapabilitiesWorks) {
4341 ASSERT_OK (AddExperimentalResourceCapabilities (
4442 experimental_resource_capabilities, response));
4543 EXPECT_THAT (GetExperimentalResourceCapabilities (response),
46- IsOkAndHolds ( EqualsProto (experimental_resource_capabilities) ));
44+ EqualsProto (experimental_resource_capabilities));
4745}
4846
49- TEST (CapabilitiesTest, GetExperimentalResourceCapabilitiesFailsWhenMissing) {
47+ TEST (CapabilitiesTest,
48+ GetExperimentalResourceCapabilitiesReturnsEmptyWhenMissing) {
5049 EXPECT_THAT (GetExperimentalResourceCapabilities (CapabilitiesResponse ()),
51- gutil::StatusIs (absl::StatusCode::kNotFound ));
50+ EqualsProto (ExperimentalResourceCapabilities ()));
51+ }
52+
53+ TEST (CapabilitiesTest,
54+ GetExperimentalResourceCapabilitiesReturnsEmptyWhenWrongType) {
55+ CapabilitiesResponse response;
56+ p4::v1::TableEntry entry;
57+ ASSERT_TRUE (response.mutable_experimental ()->PackFrom (entry));
58+ EXPECT_THAT (GetExperimentalResourceCapabilities (response),
59+ EqualsProto (ExperimentalResourceCapabilities ()));
5260}
5361
5462TEST (CapabilitiesTest, GetWcmpGroupLimitationsWorks) {
@@ -63,21 +71,29 @@ TEST(CapabilitiesTest, GetWcmpGroupLimitationsWorks) {
6371 experimental_resource_capabilities, response));
6472 EXPECT_THAT (
6573 GetWcmpGroupLimitations (response),
66- IsOkAndHolds (EqualsProto (
67- experimental_resource_capabilities.wcmp_group_limitations ())));
74+ EqualsProto (experimental_resource_capabilities.wcmp_group_limitations ()));
6875}
6976
70- TEST (CapabilitiesTest, GetWcmpGroupLimitationsWorksWithDefaultValues ) {
77+ TEST (CapabilitiesTest, GetWcmpGroupLimitationsWorksWhenMissing ) {
7178 CapabilitiesResponse response;
7279 ASSERT_OK (AddExperimentalResourceCapabilities (
7380 ExperimentalResourceCapabilities (), response));
7481 EXPECT_THAT (GetWcmpGroupLimitations (response),
75- IsOkAndHolds ( EqualsProto (WcmpGroupLimitations () )));
82+ EqualsProto (WcmpGroupLimitations ()));
7683}
7784
78- TEST (CapabilitiesTest, GetWcmpGroupLimitationsFailsWhenParentMessageMissing) {
85+ TEST (CapabilitiesTest,
86+ GetWcmpGroupLimitationsReturnsEmptyWhenParentWhenMissing) {
7987 EXPECT_THAT (GetWcmpGroupLimitations (CapabilitiesResponse ()),
80- gutil::StatusIs (absl::StatusCode::kNotFound ));
88+ EqualsProto (WcmpGroupLimitations ()));
89+ }
90+
91+ TEST (CapabilitiesTest, GetWcmpGroupLimitationsReturnsEmptyWhenWrongType) {
92+ CapabilitiesResponse response;
93+ p4::v1::TableEntry entry;
94+ ASSERT_TRUE (response.mutable_experimental ()->PackFrom (entry));
95+ EXPECT_THAT (GetWcmpGroupLimitations (response),
96+ EqualsProto (WcmpGroupLimitations ()));
8197}
8298
8399} // namespace
0 commit comments