| #include "quiche/common/test_tools/quiche_test_utils.h" |
| |
| #include "absl/status/status.h" |
| #include "absl/status/statusor.h" |
| #include "quiche/common/platform/api/quiche_test.h" |
| |
| namespace quiche::test { |
| namespace { |
| |
| using ::testing::HasSubstr; |
| using ::testing::Not; |
| |
| TEST(QuicheTestUtilsTest, StatusMatchers) { |
| const absl::Status ok = absl::OkStatus(); |
| QUICHE_EXPECT_OK(ok); |
| QUICHE_ASSERT_OK(ok); |
| EXPECT_THAT(ok, IsOk()); |
| |
| const absl::StatusOr<int> ok_with_value = 2023; |
| QUICHE_EXPECT_OK(ok_with_value); |
| QUICHE_ASSERT_OK(ok_with_value); |
| EXPECT_THAT(ok_with_value, IsOk()); |
| EXPECT_THAT(ok_with_value, IsOkAndHolds(2023)); |
| |
| const absl::Status err = absl::InternalError("test error"); |
| EXPECT_THAT(err, Not(IsOk())); |
| EXPECT_THAT(err, StatusIs(absl::StatusCode::kInternal, HasSubstr("test"))); |
| |
| const absl::StatusOr<int> err_with_value = absl::InternalError("test error"); |
| EXPECT_THAT(err_with_value, Not(IsOk())); |
| EXPECT_THAT(err_with_value, Not(IsOkAndHolds(2023))); |
| EXPECT_THAT(err_with_value, |
| StatusIs(absl::StatusCode::kInternal, HasSubstr("test"))); |
| } |
| |
| } // namespace |
| } // namespace quiche::test |