diff --git a/test/extensions/common/aws/BUILD b/test/extensions/common/aws/BUILD index e1ccda24b87e1..b1ac67e22d2ef 100644 --- a/test/extensions/common/aws/BUILD +++ b/test/extensions/common/aws/BUILD @@ -40,6 +40,7 @@ envoy_cc_test( "//test/mocks/server:factory_context_mocks", "//test/mocks/upstream:cluster_manager_mocks", "//test/test_common:environment_lib", + "//test/test_common:status_utility_lib", "//test/test_common:test_runtime_lib", ], ) @@ -51,6 +52,7 @@ envoy_cc_test( deps = [ "//source/extensions/common/aws:aws_cluster_manager_lib", "//test/mocks/server:server_factory_context_mocks", + "//test/test_common:status_utility_lib", "@envoy_api//envoy/config/cluster/v3:pkg_cc_proto", ], ) @@ -63,6 +65,7 @@ envoy_cc_test( "//source/extensions/common/aws:utility_lib", "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:server_factory_context_mocks", + "//test/test_common:status_utility_lib", "//test/test_common:utility_lib", ], ) @@ -107,5 +110,6 @@ envoy_cc_test( "//source/extensions/common/aws/signers:sigv4_signer_impl_lib", "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:factory_context_mocks", + "//test/test_common:status_utility_lib", ], ) diff --git a/test/extensions/common/aws/aws_cluster_manager_test.cc b/test/extensions/common/aws/aws_cluster_manager_test.cc index 3836f335f4c5e..88964d522d5dd 100644 --- a/test/extensions/common/aws/aws_cluster_manager_test.cc +++ b/test/extensions/common/aws/aws_cluster_manager_test.cc @@ -3,10 +3,14 @@ #include "source/extensions/common/aws/aws_cluster_manager.h" #include "test/mocks/server/server_factory_context.h" +#include "test/test_common/status_utility.h" #include "gtest/gtest.h" +using ::Envoy::StatusHelpers::IsOk; +using ::Envoy::StatusHelpers::IsOkAndHolds; using testing::NiceMock; +using ::testing::Not; using testing::Return; namespace Envoy { namespace Extensions { @@ -57,12 +61,9 @@ TEST_F(AwsClusterManagerTest, AddClusters) { "cluster_3", envoy::config::cluster::v3::Cluster::DiscoveryType::Cluster_DiscoveryType_STRICT_DNS, "uri_3"); - EXPECT_TRUE(aws_cluster_manager->getUriFromClusterName("cluster_1").ok()); - EXPECT_EQ(aws_cluster_manager->getUriFromClusterName("cluster_1").value(), "uri_1"); - EXPECT_TRUE(aws_cluster_manager->getUriFromClusterName("cluster_2").ok()); - EXPECT_EQ(aws_cluster_manager->getUriFromClusterName("cluster_2").value(), "uri_2"); - EXPECT_TRUE(aws_cluster_manager->getUriFromClusterName("cluster_3").ok()); - EXPECT_EQ(aws_cluster_manager->getUriFromClusterName("cluster_3").value(), "uri_3"); + EXPECT_THAT(aws_cluster_manager->getUriFromClusterName("cluster_1"), IsOkAndHolds("uri_1")); + EXPECT_THAT(aws_cluster_manager->getUriFromClusterName("cluster_2"), IsOkAndHolds("uri_2")); + EXPECT_THAT(aws_cluster_manager->getUriFromClusterName("cluster_3"), IsOkAndHolds("uri_3")); // Adding an extra with the same cluster name has no effect status = aws_cluster_manager->addManagedCluster( "cluster_1", @@ -158,7 +159,7 @@ TEST_F(AwsClusterManagerTest, CreateQueuedViaInitManagerWithFailedCluster) { "new_url"); // Cluster creation should be queued at this point init_target_->initialize(init_watcher_); - EXPECT_FALSE(aws_cluster_manager->getUriFromClusterName("cluster_1").ok()); + EXPECT_THAT(aws_cluster_manager->getUriFromClusterName("cluster_1"), Not(IsOk())); } // Checks that aws cluster manager constructor does not add an init target if the init manager is @@ -208,7 +209,7 @@ TEST_F(AwsClusterManagerTest, ClusterManagerCannotAdd) { envoy::config::cluster::v3::Cluster::DiscoveryType::Cluster_DiscoveryType_STRICT_DNS, "new_url"); EXPECT_EQ(absl::StatusCode::kInternal, status.code()); - EXPECT_FALSE(aws_cluster_manager->getUriFromClusterName("cluster_1").ok()); + EXPECT_THAT(aws_cluster_manager->getUriFromClusterName("cluster_1"), Not(IsOk())); } // Noop test for coverage diff --git a/test/extensions/common/aws/credential_provider_chains_test.cc b/test/extensions/common/aws/credential_provider_chains_test.cc index ef01c2bcb5579..02e94b4dd9571 100644 --- a/test/extensions/common/aws/credential_provider_chains_test.cc +++ b/test/extensions/common/aws/credential_provider_chains_test.cc @@ -5,12 +5,16 @@ #include "test/mocks/server/server_factory_context.h" #include "test/mocks/upstream/cluster_manager.h" #include "test/test_common/environment.h" +#include "test/test_common/status_utility.h" #include "test/test_common/test_runtime.h" #include "gtest/gtest.h" +using ::Envoy::StatusHelpers::IsOk; +using ::Envoy::StatusHelpers::IsOkAndHolds; using testing::_; using testing::NiceMock; +using ::testing::Not; using testing::Ref; using testing::Return; using testing::ReturnRef; @@ -21,6 +25,10 @@ namespace Extensions { namespace Common { namespace Aws { +MATCHER_P(ChainHasNumProviders, num_providers, "") { + return arg->getNumProviders() == static_cast(num_providers); +} + class DefaultCredentialsProviderChainTest : public testing::Test { public: DefaultCredentialsProviderChainTest() : api_(Api::createApiForTest(time_system_)) { @@ -342,7 +350,7 @@ TEST_F(CustomCredentialsProviderChainTest, NoProvider) { credential_provider_config.set_custom_credential_provider_chain(true); auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "region", credential_provider_config); - EXPECT_FALSE(chain.ok()); + EXPECT_THAT(chain, Not(IsOk())); } TEST_F(CustomCredentialsProviderChainTest, InstanceProfileOnly) { @@ -351,8 +359,7 @@ TEST_F(CustomCredentialsProviderChainTest, InstanceProfileOnly) { credential_provider_config.mutable_instance_profile_credential_provider(); auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "region", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(1, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(1))); } TEST_F(CustomCredentialsProviderChainTest, InstanceProfileAndEnvironmentOnly) { @@ -362,8 +369,7 @@ TEST_F(CustomCredentialsProviderChainTest, InstanceProfileAndEnvironmentOnly) { credential_provider_config.mutable_environment_credential_provider(); auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "region", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(2, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(2))); } TEST_F(CustomCredentialsProviderChainTest, WebIdentityOnly) { @@ -375,8 +381,7 @@ TEST_F(CustomCredentialsProviderChainTest, WebIdentityOnly) { ->set_environment_variable("TEST"); auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "region", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(1, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(1))); } TEST_F(CustomCredentialsProviderChainTest, CredentialFileOnly) { @@ -385,8 +390,7 @@ TEST_F(CustomCredentialsProviderChainTest, CredentialFileOnly) { credential_provider_config.mutable_credentials_file_provider(); auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "region", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(1, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(1))); } TEST_F(CustomCredentialsProviderChainTest, ContainerOnly) { @@ -397,8 +401,7 @@ TEST_F(CustomCredentialsProviderChainTest, ContainerOnly) { credential_provider_config.mutable_container_credential_provider(); auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "region", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(1, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(1))); } TEST_F(CustomCredentialsProviderChainTest, AssumeRoleOnly) { @@ -411,8 +414,7 @@ TEST_F(CustomCredentialsProviderChainTest, AssumeRoleOnly) { auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "us-east-1", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(1, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(1))); } TEST_F(CustomCredentialsProviderChainTest, AssumeRoleWithEnvironment) { @@ -426,8 +428,7 @@ TEST_F(CustomCredentialsProviderChainTest, AssumeRoleWithEnvironment) { auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "us-east-1", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(2, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(2))); } TEST_F(CustomCredentialsProviderChainTest, AssumeRoleWithoutSessionName) { @@ -573,8 +574,7 @@ TEST_F(CustomCredentialsProviderChainTest, AssumeRoleInnerChainSubscriptionsSetu auto chain = Envoy::Extensions::Common::Aws::CommonCredentialsProviderChain:: customCredentialsProviderChain(context_, "us-east-1", credential_provider_config); - EXPECT_TRUE(chain.ok()); - EXPECT_EQ(1, chain.value()->getNumProviders()); + EXPECT_THAT(chain, IsOkAndHolds(ChainHasNumProviders(1))); auto instance_profile_provider = context_.singletonManager() diff --git a/test/extensions/common/aws/credential_providers/BUILD b/test/extensions/common/aws/credential_providers/BUILD index 31b59abacb0ab..0577b3ad2a2c6 100644 --- a/test/extensions/common/aws/credential_providers/BUILD +++ b/test/extensions/common/aws/credential_providers/BUILD @@ -41,6 +41,7 @@ envoy_cc_test( "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:factory_context_mocks", "//test/test_common:environment_lib", + "//test/test_common:status_utility_lib", "//test/test_common:test_runtime_lib", "@envoy_api//envoy/extensions/common/aws/v3:pkg_cc_proto", ], @@ -126,6 +127,7 @@ envoy_cc_test( "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:factory_context_mocks", "//test/test_common:environment_lib", + "//test/test_common:status_utility_lib", "//test/test_common:test_runtime_lib", "@envoy_api//envoy/config/core/v3:pkg_cc_proto", "@envoy_api//envoy/extensions/common/aws/v3:pkg_cc_proto", @@ -145,6 +147,7 @@ envoy_cc_test( "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:factory_context_mocks", "//test/test_common:environment_lib", + "//test/test_common:status_utility_lib", "//test/test_common:test_runtime_lib", "@envoy_api//envoy/config/core/v3:pkg_cc_proto", ], diff --git a/test/extensions/common/aws/credential_providers/iam_roles_anywhere_credentials_provider_test.cc b/test/extensions/common/aws/credential_providers/iam_roles_anywhere_credentials_provider_test.cc index f5f7c94c3c416..5d78d547fb85a 100644 --- a/test/extensions/common/aws/credential_providers/iam_roles_anywhere_credentials_provider_test.cc +++ b/test/extensions/common/aws/credential_providers/iam_roles_anywhere_credentials_provider_test.cc @@ -18,6 +18,7 @@ #include "test/mocks/upstream/cluster_manager.h" #include "test/test_common/environment.h" #include "test/test_common/simulated_time_system.h" +#include "test/test_common/status_utility.h" #include "test/test_common/utility.h" #include "gtest/gtest.h" @@ -26,10 +27,13 @@ // Please see iam_roles_anywhere_test_generator.py in this directory to replicate these test cases using Envoy::Extensions::Common::Aws::MetadataFetcherPtr; +using ::Envoy::StatusHelpers::HasStatusMessage; +using ::Envoy::StatusHelpers::IsOk; using testing::Eq; using testing::InvokeWithoutArgs; using testing::MockFunction; using testing::NiceMock; +using ::testing::Not; using testing::Return; using testing::ReturnRef; @@ -1226,7 +1230,7 @@ TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, SignEmptyPayload) { headers.addCopy(Http::LowerCaseString("host"), "www.example.com"); status = roles_anywhere_signer->signEmptyPayload(headers, "ap-southeast-2"); // Will fail because credentials are invalid - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); } TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, SignUnsignedPayload) { @@ -1250,7 +1254,7 @@ TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, SignUnsignedPayload) { headers.addCopy(Http::LowerCaseString("host"), "www.example.com"); status = roles_anywhere_signer->signUnsignedPayload(headers, "ap-southeast-2"); // Will fail because credentials are invalid - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); mock_credentials_provider.reset(); } @@ -1273,8 +1277,7 @@ TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, NoMethod) { headers.setPath("/"); headers.addCopy(Http::LowerCaseString("host"), "www.example.com"); status = roles_anywhere_signer->signUnsignedPayload(headers, "ap-southeast-2"); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "Message is missing :method header"); + EXPECT_THAT(status, HasStatusMessage("Message is missing :method header")); } TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, NoPath) { @@ -1296,8 +1299,7 @@ TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, NoPath) { headers.setMethod("GET"); headers.addCopy(Http::LowerCaseString("host"), "www.example.com"); status = roles_anywhere_signer->signUnsignedPayload(headers, "ap-southeast-2"); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "Message is missing :path header"); + EXPECT_THAT(status, HasStatusMessage("Message is missing :path header")); } TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, NoCredentials) { @@ -1318,9 +1320,8 @@ TEST_F(IamRolesAnywhereCredentialsProviderBasicTests, NoCredentials) { headers.setPath("/"); headers.addCopy(Http::LowerCaseString("host"), "www.example.com"); status = roles_anywhere_signer->signEmptyPayload(headers, "ap-southeast-2"); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), - "Unable to sign IAM Roles Anywhere payload - no x509 credentials found"); + EXPECT_THAT(status, HasStatusMessage( + "Unable to sign IAM Roles Anywhere payload - no x509 credentials found")); } class ControlledCredentialsProvider : public CredentialsProvider { diff --git a/test/extensions/common/aws/credential_providers/iam_roles_anywhere_x509_credentials_provider_test.cc b/test/extensions/common/aws/credential_providers/iam_roles_anywhere_x509_credentials_provider_test.cc index de7d0dde36dcb..ae6bae24c7a16 100644 --- a/test/extensions/common/aws/credential_providers/iam_roles_anywhere_x509_credentials_provider_test.cc +++ b/test/extensions/common/aws/credential_providers/iam_roles_anywhere_x509_credentials_provider_test.cc @@ -13,11 +13,15 @@ #include "test/mocks/filesystem/mocks.h" #include "test/mocks/server/server_factory_context.h" #include "test/test_common/environment.h" +#include "test/test_common/status_utility.h" #include "gmock/gmock.h" #include "gtest/gtest.h" +using ::Envoy::StatusHelpers::HasStatusMessage; +using ::Envoy::StatusHelpers::IsOk; using testing::InvokeWithoutArgs; +using ::testing::Not; using testing::Return; using testing::StartsWith; @@ -511,7 +515,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, InvalidSource) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); EXPECT_FALSE(provider->getCredentials().certificateChainDerB64().has_value()); } @@ -527,7 +531,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, InvalidPath) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); EXPECT_FALSE(provider->getCredentials().certificateChainDerB64().has_value()); } @@ -551,7 +555,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, PrivateKeyInvalidPath) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); EXPECT_FALSE(provider->getCredentials().certificatePrivateKey().has_value()); } @@ -618,7 +622,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, UnsupportedAlgorithm) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); auto credentials = provider->getCredentials(); EXPECT_FALSE(credentials.certificateDerB64().has_value()); @@ -656,7 +660,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, MissingSerial) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); auto credentials = provider->getCredentials(); EXPECT_FALSE(credentials.certificateDerB64().has_value()); @@ -683,7 +687,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadChainFailed) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); } TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadPrivateKeyFailed) { @@ -708,7 +712,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadPrivateKeyFailed) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); } TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadCredentials) { @@ -741,7 +745,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadCredentials) { auto provider = std::make_unique( context_, certificate_data_source, private_key_data_source, std::nullopt); auto status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); auto credentials = provider->getCredentials(); EXPECT_TRUE(credentials.certificateDerB64().has_value()); @@ -792,7 +796,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadCredentials) { provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); credentials = provider->getCredentials(); @@ -851,7 +855,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadCredentials) { provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); credentials = provider->getCredentials(); EXPECT_TRUE(credentials.certificateDerB64().has_value()); @@ -898,7 +902,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadCredentials) { provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); credentials = provider->getCredentials(); EXPECT_TRUE(credentials.certificateDerB64().has_value()); @@ -947,7 +951,7 @@ TEST_F(IAMRolesAnywhereX509CredentialsProviderTest, LoadCredentials) { provider = std::make_unique( context_, certificate_data_source, private_key_data_source, cert_chain_data_source); status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); credentials = provider->getCredentials(); EXPECT_TRUE(credentials.certificateDerB64().has_value()); @@ -980,8 +984,7 @@ TEST(EmptyPem, PemToAlgorithmSerialExpiration) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToAlgorithmSerialExpiration("", algorithm, serial, time); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "Invalid certificate size"); + EXPECT_THAT(status, HasStatusMessage("Invalid certificate size")); } TEST(ExpiredPem, PemToAlgorithmSerialExpiration) { @@ -999,8 +1002,7 @@ TEST(ExpiredPem, PemToAlgorithmSerialExpiration) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToAlgorithmSerialExpiration(expired_cert, algorithm, serial, time); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "Certificate has already expired"); + EXPECT_THAT(status, HasStatusMessage("Certificate has already expired")); } TEST(PemTooLarge, PemToAlgorithmSerialExpiration) { @@ -1019,8 +1021,7 @@ TEST(PemTooLarge, PemToAlgorithmSerialExpiration) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToAlgorithmSerialExpiration(large_cert, algorithm, serial, time); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "Invalid certificate size"); + EXPECT_THAT(status, HasStatusMessage("Invalid certificate size")); } TEST(JunkPem, PemToAlgorithmSerialExpiration) { @@ -1039,8 +1040,7 @@ TEST(JunkPem, PemToAlgorithmSerialExpiration) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToAlgorithmSerialExpiration(junk_pem, algorithm, serial, time); - EXPECT_FALSE(status.ok()); - EXPECT_THAT(status.message(), StartsWith("Invalid certificate - PEM read x509 failed")); + EXPECT_THAT(status, HasStatusMessage(StartsWith("Invalid certificate - PEM read x509 failed"))); } TEST(ValidPemWithAppendedJunk, PemToAlgorithmSerialExpiration) { @@ -1061,7 +1061,7 @@ TEST(ValidPemWithAppendedJunk, PemToAlgorithmSerialExpiration) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToAlgorithmSerialExpiration(junk_pem, algorithm, serial, time); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ(serial, "131827979019394590882466519576505238184"); EXPECT_EQ(algorithm, X509Credentials::PublicKeySignatureAlgorithm::RSA); EXPECT_EQ(time, SystemTime(std::chrono::seconds(8070142567))); @@ -1081,8 +1081,7 @@ TEST(JunkPem, PemToDerB64) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToDerB64(in_cert, out_cert, false); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "No certificates found in PEM data"); + EXPECT_THAT(status, HasStatusMessage("No certificates found in PEM data")); } TEST(JunkPemChain, PemToDerB64) { @@ -1099,8 +1098,7 @@ TEST(JunkPemChain, PemToDerB64) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToDerB64(in_cert, out_cert, true); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "No certificates found in PEM data"); + EXPECT_THAT(status, HasStatusMessage("No certificates found in PEM data")); } TEST(JunkCertStartLine, PemToDerB64) { @@ -1118,8 +1116,7 @@ TEST(JunkCertStartLine, PemToDerB64) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToDerB64(in_cert, out_cert, false); - EXPECT_FALSE(status.ok()); - EXPECT_THAT(status.message(), StartsWith("Certificate could not be parsed")); + EXPECT_THAT(status, HasStatusMessage(StartsWith("Certificate could not be parsed"))); } TEST(JunkChainStartLine, PemToDerB64) { @@ -1138,8 +1135,7 @@ TEST(JunkChainStartLine, PemToDerB64) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToDerB64(in_cert, out_cert, true); - EXPECT_FALSE(status.ok()); - EXPECT_THAT(status.message(), StartsWith("Certificate chain PEM #0 could not be parsed")); + EXPECT_THAT(status, HasStatusMessage(StartsWith("Certificate chain PEM #0 could not be parsed"))); } TEST(SingleCertTooLarge, PemToDerB64) { @@ -1156,8 +1152,7 @@ TEST(SingleCertTooLarge, PemToDerB64) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToDerB64(in_cert, out_cert, false); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "Invalid certificate size"); + EXPECT_THAT(status, HasStatusMessage("Invalid certificate size")); } TEST(ChainTooLarge, PemToDerB64) { @@ -1175,8 +1170,7 @@ TEST(ChainTooLarge, PemToDerB64) { auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto status = provider_friend.pemToDerB64(in_chain, out_chain, true); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), "Invalid certificate chain size"); + EXPECT_THAT(status, HasStatusMessage("Invalid certificate chain size")); } TEST(ChainParse, PemToDerB64) { @@ -1215,10 +1209,10 @@ TEST(ChainParse, PemToDerB64) { auto provider = std::make_unique( context, certificate_data_source, private_key_data_source, std::nullopt); auto status = provider->initialize(); - EXPECT_FALSE(status.ok()); + EXPECT_THAT(status, Not(IsOk())); auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); status = provider_friend.pemToDerB64(chain, out_chain, true); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ(out_chain, converted_pem); } @@ -1240,7 +1234,7 @@ TEST(Refresh, InvalidChainInsideRefresh) { auto provider = std::make_unique( context, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto a = provider_friend.getCredentials(); EXPECT_FALSE(provider_friend.getCredentials().certificateChainDerB64().has_value()); @@ -1262,7 +1256,7 @@ TEST(Refresh, InvalidKeyInsideRefresh) { auto provider = std::make_unique( context, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); auto a = provider_friend.getCredentials(); EXPECT_FALSE(provider_friend.getCredentials().certificatePrivateKey().has_value()); @@ -1283,7 +1277,7 @@ TEST(NeedsRefresh, ExpirationTimeInPast) { auto provider = std::make_unique( context, certificate_data_source, private_key_data_source, cert_chain_data_source); auto status = provider->initialize(); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); auto provider_friend = IAMRolesAnywhereX509CredentialsProviderFriend(std::move(provider)); diff --git a/test/extensions/common/aws/credential_providers/webidentity_credentials_provider_test.cc b/test/extensions/common/aws/credential_providers/webidentity_credentials_provider_test.cc index 3b9ffd7a80db4..0ecc5c846a7bb 100644 --- a/test/extensions/common/aws/credential_providers/webidentity_credentials_provider_test.cc +++ b/test/extensions/common/aws/credential_providers/webidentity_credentials_provider_test.cc @@ -8,6 +8,7 @@ #include "test/mocks/filesystem/mocks.h" #include "test/mocks/server/server_factory_context.h" #include "test/test_common/environment.h" +#include "test/test_common/status_utility.h" #include "test/test_common/test_runtime.h" #include "gtest/gtest.h" @@ -745,7 +746,7 @@ TEST_F(WebIdentityCredentialsProviderTest, TokenFileWatcherRefresh) { // Write new token TestEnvironment::writeStringToFileForTest("web_token", "new_file_token", false); // Trigger file watcher callback - EXPECT_TRUE(watcher_callback(Filesystem::Watcher::Events::MovedTo).ok()); + EXPECT_OK(watcher_callback(Filesystem::Watcher::Events::MovedTo)); // Refresh should pick up new token timer_->invokeCallback(); diff --git a/test/extensions/common/aws/credentials_provider_test.cc b/test/extensions/common/aws/credentials_provider_test.cc index 48bddfcd7cd8c..34f00df16b847 100644 --- a/test/extensions/common/aws/credentials_provider_test.cc +++ b/test/extensions/common/aws/credentials_provider_test.cc @@ -5,6 +5,7 @@ #include "test/extensions/common/aws/mocks.h" #include "test/mocks/event/mocks.h" #include "test/mocks/server/server_factory_context.h" +#include "test/test_common/status_utility.h" #include "gtest/gtest.h" @@ -200,7 +201,7 @@ TEST_F(AsyncCredentialHandlingTest, ChainCallbackCalledWhenCredentialsReturned) timer_->invokeCallback(); // We now have credentials so sign should complete immediately auto result = signer->sign(*message_, false, ""); - ASSERT_TRUE(result.ok()); + ASSERT_OK(result); } TEST_F(AsyncCredentialHandlingTest, ExpirationWithGracePeriod) { @@ -393,7 +394,7 @@ TEST_F(AsyncCredentialHandlingTest, SubscriptionsCleanedUp) { timer_->invokeCallback(); // We now have credentials so sign should complete immediately auto result = signer->sign(*message_, false, ""); - ASSERT_TRUE(result.ok()); + ASSERT_OK(result); } // Mock WebIdentityCredentialsProvider to track refresh calls diff --git a/test/extensions/common/aws/eventstream/BUILD b/test/extensions/common/aws/eventstream/BUILD index 2ebc548630070..a5e1c59e22699 100644 --- a/test/extensions/common/aws/eventstream/BUILD +++ b/test/extensions/common/aws/eventstream/BUILD @@ -14,6 +14,7 @@ envoy_cc_test( srcs = ["eventstream_parser_test.cc"], deps = [ "//source/extensions/common/aws/eventstream:eventstream_parser_lib", + "//test/test_common:status_utility_lib", "@abseil-cpp//absl/strings", ], ) diff --git a/test/extensions/common/aws/eventstream/eventstream_parser_test.cc b/test/extensions/common/aws/eventstream/eventstream_parser_test.cc index f6e8f48d33c4d..402886552d964 100644 --- a/test/extensions/common/aws/eventstream/eventstream_parser_test.cc +++ b/test/extensions/common/aws/eventstream/eventstream_parser_test.cc @@ -2,7 +2,8 @@ #include "source/extensions/common/aws/eventstream/eventstream_parser.h" -#include "absl/strings/match.h" +#include "test/test_common/status_utility.h" + #include "gtest/gtest.h" namespace Envoy { @@ -12,6 +13,10 @@ namespace Aws { namespace Eventstream { namespace { +using ::Envoy::StatusHelpers::HasStatus; +using ::Envoy::StatusHelpers::HasStatusCode; +using ::Envoy::StatusHelpers::HasStatusMessage; + // Test helper: compute CRC32 using zlib directly (since EventstreamParser::computeCrc32 is private) uint32_t testComputeCrc32(absl::string_view data, uint32_t initial_crc = 0) { return crc32(initial_crc, reinterpret_cast(data.data()), @@ -69,7 +74,7 @@ class EventstreamParserTest : public testing::Test {}; TEST_F(EventstreamParserTest, ParseMessageTooSmall) { const std::string buffer(10, '\0'); // Less than 12 bytes (prelude size) auto result = EventstreamParser::parseMessage(buffer); - ASSERT_TRUE(result.ok()); + ASSERT_OK(result); EXPECT_FALSE(result->message.has_value()); EXPECT_EQ(result->bytes_consumed, 0); } @@ -97,7 +102,7 @@ TEST_F(EventstreamParserTest, ParseMessageIncomplete) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 50)); - ASSERT_TRUE(result.ok()); + ASSERT_OK(result); EXPECT_FALSE(result->message.has_value()); EXPECT_EQ(result->bytes_consumed, 0); } @@ -125,15 +130,14 @@ TEST_F(EventstreamParserTest, ParseMessageBadPreludeCrc) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 16)); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Prelude CRC")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Prelude CRC"))); } // Test parseMessage with no headers and no payload TEST_F(EventstreamParserTest, ParseMessageMinimal) { std::string msg = createEventstreamMessage("", ""); auto result = EventstreamParser::parseMessage(msg); - ASSERT_TRUE(result.ok()) << result.status().message(); + ASSERT_OK(result); ASSERT_TRUE(result->message.has_value()); EXPECT_TRUE(result->message->headers.empty()); EXPECT_TRUE(result->message->payload_bytes.empty()); @@ -145,7 +149,7 @@ TEST_F(EventstreamParserTest, ParseMessageWithPayload) { std::string payload = R"({"type":"message_delta","usage":{"output_tokens":42}})"; std::string msg = createEventstreamMessage("", payload); auto result = EventstreamParser::parseMessage(msg); - ASSERT_TRUE(result.ok()) << result.status().message(); + ASSERT_OK(result); ASSERT_TRUE(result->message.has_value()); EXPECT_TRUE(result->message->headers.empty()); EXPECT_EQ(result->message->payload_bytes, payload); @@ -174,7 +178,7 @@ TEST_F(EventstreamParserTest, ParseMessageWithHeadersAndPayload) { std::string msg = createEventstreamMessage(headers_data, payload); auto result = EventstreamParser::parseMessage(msg); - ASSERT_TRUE(result.ok()) << result.status().message(); + ASSERT_OK(result); ASSERT_TRUE(result->message.has_value()); ASSERT_EQ(result->message->headers.size(), 1); EXPECT_EQ(result->message->headers[0].name, ":message-type"); @@ -190,8 +194,7 @@ TEST_F(EventstreamParserTest, ParseMessageBadMessageCrc) { msg[msg.size() - 1] ^= 0xFF; auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Message CRC")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Message CRC"))); } // Test all header value types via parseMessage @@ -272,7 +275,7 @@ TEST_F(EventstreamParserTest, ParseMessageAllHeaderTypes) { std::string headers_data(reinterpret_cast(header_bytes.data()), header_bytes.size()); std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - ASSERT_TRUE(result.ok()) << result.status().message(); + ASSERT_OK(result); ASSERT_TRUE(result->message.has_value()); const auto& headers = result->message->headers; ASSERT_EQ(headers.size(), 8); @@ -316,7 +319,7 @@ TEST_F(EventstreamParserTest, ParseMessageMultipleMessages) { // Parse first message auto result1 = EventstreamParser::parseMessage(buffer); - ASSERT_TRUE(result1.ok()); + ASSERT_OK(result1); ASSERT_TRUE(result1->message.has_value()); EXPECT_EQ(result1->message->payload_bytes, "first"); EXPECT_EQ(result1->bytes_consumed, msg1.size()); @@ -324,7 +327,7 @@ TEST_F(EventstreamParserTest, ParseMessageMultipleMessages) { // Parse remaining buffer absl::string_view remaining = absl::string_view(buffer).substr(result1->bytes_consumed); auto result2 = EventstreamParser::parseMessage(remaining); - ASSERT_TRUE(result2.ok()); + ASSERT_OK(result2); ASSERT_TRUE(result2->message.has_value()); EXPECT_EQ(result2->message->payload_bytes, "second"); EXPECT_EQ(result2->bytes_consumed, msg2.size()); @@ -353,9 +356,8 @@ TEST_F(EventstreamParserTest, ParseMessagePayloadExceedsMax) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 16)); - EXPECT_FALSE(result.ok()); - EXPECT_EQ(result.status().code(), absl::StatusCode::kResourceExhausted); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Payload exceeds maximum")); + EXPECT_THAT(result, HasStatus(absl::StatusCode::kResourceExhausted, + testing::HasSubstr("Payload exceeds maximum"))); } // Test total_length smaller than minimum @@ -380,8 +382,7 @@ TEST_F(EventstreamParserTest, ParseMessageTotalLengthTooSmall) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 16)); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Invalid message length")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Invalid message length"))); } // Test total_length exceeds MAX_TOTAL_LENGTH @@ -407,9 +408,8 @@ TEST_F(EventstreamParserTest, ParseMessageTotalLengthExceedsMax) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 16)); - EXPECT_FALSE(result.ok()); - EXPECT_EQ(result.status().code(), absl::StatusCode::kResourceExhausted); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Message length exceeds maximum")); + EXPECT_THAT(result, HasStatus(absl::StatusCode::kResourceExhausted, + testing::HasSubstr("Message length exceeds maximum"))); } // Test headers_length exceeds available space @@ -434,8 +434,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeadersLengthExceedsMessage) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 16)); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Headers length exceeds message")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Headers length exceeds message"))); } // Test headers_length exceeds maximum allowed @@ -462,9 +461,8 @@ TEST_F(EventstreamParserTest, ParseMessageHeadersLengthExceedsMax) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 16)); - EXPECT_FALSE(result.ok()); - EXPECT_EQ(result.status().code(), absl::StatusCode::kResourceExhausted); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Headers length exceeds maximum")); + EXPECT_THAT(result, HasStatus(absl::StatusCode::kResourceExhausted, + testing::HasSubstr("Headers length exceeds maximum"))); } // Test with AWS Bedrock-like payload (realistic JSON) @@ -474,7 +472,7 @@ TEST_F(EventstreamParserTest, ParseMessageBedrockLikePayload) { std::string msg = createEventstreamMessage("", payload); auto result = EventstreamParser::parseMessage(msg); - ASSERT_TRUE(result.ok()); + ASSERT_OK(result); ASSERT_TRUE(result->message.has_value()); EXPECT_EQ(result->message->payload_bytes, payload); } @@ -488,8 +486,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderNameLengthZero) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Invalid header name length")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Invalid header name length"))); } // Test header with unknown type @@ -503,8 +500,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderUnknownType) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Unknown header value type")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Unknown header value type"))); } // Test Int32 header type @@ -523,7 +519,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderInt32) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - ASSERT_TRUE(result.ok()) << result.status().message(); + ASSERT_OK(result); ASSERT_TRUE(result->message.has_value()); ASSERT_EQ(result->message->headers.size(), 1); EXPECT_EQ(result->message->headers[0].name, "i"); @@ -542,8 +538,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedName) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header truncation: missing byte value @@ -558,8 +553,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedByteValue) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header truncation: missing short value @@ -574,8 +568,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedShortValue) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header truncation: missing int32 value @@ -591,8 +584,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedInt32Value) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header truncation: missing int64 value @@ -610,8 +602,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedInt64Value) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header truncation: missing string length @@ -626,8 +617,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedStringLength) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header truncation: missing string data @@ -645,8 +635,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedStringData) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header truncation: missing uuid value @@ -663,8 +652,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderTruncatedUuidValue) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header truncated")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header truncated"))); } // Test header value too long (> MAX_HEADER_STRING_LENGTH) @@ -681,8 +669,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderValueTooLong) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "Header value too long")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("Header value too long"))); } // Test string with length 0 (spec requires minimum length 1) @@ -698,8 +685,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderStringLengthZero) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "must not be empty")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("must not be empty"))); } // Test byte_array with length 0 (spec requires minimum length 1) @@ -715,8 +701,7 @@ TEST_F(EventstreamParserTest, ParseMessageHeaderByteArrayLengthZero) { std::string msg = createEventstreamMessage(headers_data, ""); auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_TRUE(absl::StrContains(result.status().message(), "must not be empty")); + EXPECT_THAT(result, HasStatusMessage(testing::HasSubstr("must not be empty"))); } // Test CRC errors return DataLoss status code @@ -732,8 +717,7 @@ TEST_F(EventstreamParserTest, ParseMessageCrcErrorsReturnDataLoss) { auto result = EventstreamParser::parseMessage(absl::string_view(reinterpret_cast(buffer), 16)); - EXPECT_FALSE(result.ok()); - EXPECT_EQ(result.status().code(), absl::StatusCode::kDataLoss); + EXPECT_THAT(result, HasStatusCode(absl::StatusCode::kDataLoss)); } // Bad message CRC @@ -742,8 +726,7 @@ TEST_F(EventstreamParserTest, ParseMessageCrcErrorsReturnDataLoss) { msg[msg.size() - 1] ^= 0xFF; auto result = EventstreamParser::parseMessage(msg); - EXPECT_FALSE(result.ok()); - EXPECT_EQ(result.status().code(), absl::StatusCode::kDataLoss); + EXPECT_THAT(result, HasStatusCode(absl::StatusCode::kDataLoss)); } } diff --git a/test/extensions/common/aws/signers/BUILD b/test/extensions/common/aws/signers/BUILD index cf0567a9bd0e1..588b267d5ecfc 100644 --- a/test/extensions/common/aws/signers/BUILD +++ b/test/extensions/common/aws/signers/BUILD @@ -20,6 +20,7 @@ envoy_cc_test( "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:server_factory_context_mocks", "//test/test_common:simulated_time_system_lib", + "//test/test_common:status_utility_lib", "//test/test_common:utility_lib", ], ) @@ -54,6 +55,7 @@ envoy_cc_test( "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:server_factory_context_mocks", "//test/test_common:simulated_time_system_lib", + "//test/test_common:status_utility_lib", "//test/test_common:utility_lib", ], ) @@ -70,6 +72,7 @@ envoy_cc_test( "//test/extensions/common/aws:aws_mocks", "//test/mocks/server:server_factory_context_mocks", "//test/test_common:simulated_time_system_lib", + "//test/test_common:status_utility_lib", "//test/test_common:utility_lib", ], ) diff --git a/test/extensions/common/aws/signers/sigv4_signer_impl_test.cc b/test/extensions/common/aws/signers/sigv4_signer_impl_test.cc index 36bf31ce2875d..a23b2f1de2ff0 100644 --- a/test/extensions/common/aws/signers/sigv4_signer_impl_test.cc +++ b/test/extensions/common/aws/signers/sigv4_signer_impl_test.cc @@ -4,6 +4,7 @@ #include "test/extensions/common/aws/mocks.h" #include "test/mocks/server/server_factory_context.h" #include "test/test_common/simulated_time_system.h" +#include "test/test_common/status_utility.h" #include "test/test_common/utility.h" using testing::NiceMock; @@ -63,7 +64,7 @@ class SigV4SignerImplTest : public testing::Test { } else { status = signer.signEmptyPayload(headers, override_region); } - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ(fmt::format("AWS4-HMAC-SHA256 Credential=akid/20180102/{}/{}/aws4_request, " "SignedHeaders=host;x-amz-content-sha256;x-amz-date, " @@ -91,7 +92,7 @@ class SigV4SignerImplTest : public testing::Test { Extensions::Common::Aws::AwsSigningHeaderMatcherVector{}, true, 5); auto status = signer.signUnsignedPayload(extra_headers, override_region); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); auto query_parameters = Http::Utility::QueryParamsMulti::parseQueryString( extra_headers.Path()->value().getStringView()); EXPECT_EQ(query_parameters.getFirstValue("X-Amz-Signature"), signature_to_match); @@ -112,7 +113,7 @@ class SigV4SignerImplTest : public testing::Test { TEST_F(SigV4SignerImplTest, AnonymousCredentials) { EXPECT_CALL(*credentials_provider_, getCredentials()).WillOnce(Return(Credentials())); auto status = signer_->sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_TRUE(message_->headers().get(Http::CustomHeaders::get().Authorization).empty()); } @@ -181,7 +182,7 @@ TEST_F(SigV4SignerImplTest, SignDateHeader) { addMethod("GET"); addPath("/"); auto status = signer_->sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_FALSE(message_->headers().get(SigV4SignatureHeaders::get().ContentSha256).empty()); EXPECT_EQ("20180102T030400Z", message_->headers().get(SigV4SignatureHeaders::get().Date)[0]->value().getStringView()); @@ -203,7 +204,7 @@ TEST_F(SigV4SignerImplTest, SignSecurityTokenHeader) { addMethod("GET"); addPath("/"); auto status = signer_->sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("token", message_->headers() .get(SigV4SignatureHeaders::get().SecurityToken)[0] ->value() @@ -225,7 +226,7 @@ TEST_F(SigV4SignerImplTest, SignEmptyContentHeader) { addMethod("GET"); addPath("/"); auto status = signer_->sign(*message_, true); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ(SigV4SignatureConstants::HashedEmptyString, message_->headers() .get(SigV4SignatureHeaders::get().ContentSha256)[0] @@ -249,7 +250,7 @@ TEST_F(SigV4SignerImplTest, SignContentHeader) { addPath("/"); setBody("test1234"); auto status = signer_->sign(*message_, true); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("937e8d5fbb48bd4949536cd65b8d35c426b80d2f830c5c308e2cdec422ae2244", message_->headers() .get(SigV4SignatureHeaders::get().ContentSha256)[0] @@ -273,7 +274,7 @@ TEST_F(SigV4SignerImplTest, SignContentHeaderOverrideRegion) { addPath("/"); setBody("test1234"); auto status = signer_->sign(*message_, true, "region1"); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("937e8d5fbb48bd4949536cd65b8d35c426b80d2f830c5c308e2cdec422ae2244", message_->headers() .get(SigV4SignatureHeaders::get().ContentSha256)[0] @@ -300,7 +301,7 @@ TEST_F(SigV4SignerImplTest, SignExtraHeaders) { addHeader("b", "b_value"); addHeader("c", "c_value"); auto status = signer_->sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("AWS4-HMAC-SHA256 Credential=akid/20180102/region/service/aws4_request, " "SignedHeaders=a;b;c;x-amz-content-sha256;x-amz-date, " "Signature=0940025fcecfef5d7ee30e0a26a0957e116560e374878cd86ef4316c53ae9e81", @@ -319,7 +320,7 @@ TEST_F(SigV4SignerImplTest, SignHostHeader) { addPath("/"); addHeader("host", "www.example.com"); auto status = signer_->sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("AWS4-HMAC-SHA256 Credential=akid/20180102/region/service/aws4_request, " "SignedHeaders=host;x-amz-content-sha256;x-amz-date, " "Signature=d9fd9be575a254c924d843964b063d770181d938ae818f5b603ef0575a5ce2cd", @@ -348,7 +349,7 @@ TEST_F(SigV4SignerImplTest, QueryStringDefault5s) { Extensions::Common::Aws::AwsSigningHeaderMatcherVector{}, true, 5); auto status = querysigner.signUnsignedPayload(headers); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_TRUE(absl::StrContains(headers.getPathValue(), "X-Amz-Expires=5&")); } diff --git a/test/extensions/common/aws/signers/sigv4a_signer_corpus_test.cc b/test/extensions/common/aws/signers/sigv4a_signer_corpus_test.cc index 968955fbafc6d..1287907e4fd0d 100644 --- a/test/extensions/common/aws/signers/sigv4a_signer_corpus_test.cc +++ b/test/extensions/common/aws/signers/sigv4a_signer_corpus_test.cc @@ -12,6 +12,7 @@ #include "test/mocks/server/server_factory_context.h" #include "test/test_common/environment.h" #include "test/test_common/simulated_time_system.h" +#include "test/test_common/status_utility.h" #include "test/test_common/utility.h" using testing::ReturnRef; @@ -178,7 +179,7 @@ class SigV4ASignerCorpusTest : public ::testing::TestWithParam { auto ec_key_or = sigv4a_key_derivation->derivePrivateKey(absl::string_view(akid), absl::string_view(skid)); - EXPECT_TRUE(ec_key_or.ok()); + EXPECT_OK(ec_key_or); sigv4a_key_derivation->derivePublicKey(ec_key_or.value()); signature = Hex::decode(calculated_signature); diff --git a/test/extensions/common/aws/signers/sigv4a_signer_impl_test.cc b/test/extensions/common/aws/signers/sigv4a_signer_impl_test.cc index ef078832909b1..6e044d6d395a9 100644 --- a/test/extensions/common/aws/signers/sigv4a_signer_impl_test.cc +++ b/test/extensions/common/aws/signers/sigv4a_signer_impl_test.cc @@ -10,6 +10,7 @@ #include "test/extensions/common/aws/mocks.h" #include "test/mocks/server/server_factory_context.h" #include "test/test_common/simulated_time_system.h" +#include "test/test_common/status_utility.h" #include "test/test_common/utility.h" using testing::NiceMock; @@ -72,7 +73,7 @@ class SigV4ASignerImplTest : public testing::Test { absl::string_view(credentials_.accessKeyId()->data(), credentials_.accessKeyId()->size()), absl::string_view(credentials_.secretAccessKey()->data(), credentials_.secretAccessKey()->size())); - EXPECT_TRUE(ec_key_or.ok()); + EXPECT_OK(ec_key_or); sigv4a_key_derivation->derivePublicKey(ec_key_or.value()); absl::Status status; @@ -91,7 +92,7 @@ class SigV4ASignerImplTest : public testing::Test { status = signer_.signUnsignedPayload(message->headers(), override_region); break; } - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); std::string short_date = "20180102"; std::string credential_scope = fmt::format("{}/service/aws4_request", short_date); @@ -153,7 +154,7 @@ TEST_F(SigV4ASignerImplTest, AnonymousCredentials) { auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_TRUE(message_->headers().get(Http::CustomHeaders::get().Authorization).empty()); } @@ -221,7 +222,7 @@ TEST_F(SigV4ASignerImplTest, QueryStringDoesntModifyAuthorization) { addHeader("Authorization", "testValue"); auto signer_ = getTestSigner(true); auto status = signer_.sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ(message_->headers().get(Http::CustomHeaders::get().Authorization)[0]->value(), "testValue"); } @@ -233,7 +234,7 @@ TEST_F(SigV4ASignerImplTest, SignDateHeader) { addPath("/"); auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_FALSE(message_->headers().get(SigV4ASignatureHeaders::get().ContentSha256).empty()); EXPECT_EQ( "20180102T030405Z", @@ -252,7 +253,7 @@ TEST_F(SigV4ASignerImplTest, SignSecurityTokenHeader) { addPath("/"); auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("token", message_->headers() .get(SigV4ASignatureHeaders::get().SecurityToken)[0] ->value() @@ -272,7 +273,7 @@ TEST_F(SigV4ASignerImplTest, SignEmptyContentHeader) { addPath("/"); auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_, true); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ(SigV4ASignatureConstants::HashedEmptyString, message_->headers() .get(SigV4ASignatureHeaders::get().ContentSha256)[0] @@ -293,7 +294,7 @@ TEST_F(SigV4ASignerImplTest, SignContentHeader) { setBody("test1234"); auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_, true); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("937e8d5fbb48bd4949536cd65b8d35c426b80d2f830c5c308e2cdec422ae2244", message_->headers() .get(SigV4ASignatureHeaders::get().ContentSha256)[0] @@ -314,7 +315,7 @@ TEST_F(SigV4ASignerImplTest, SignContentHeaderOverrideRegion) { setBody("test1234"); auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_, true, "region1"); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_EQ("937e8d5fbb48bd4949536cd65b8d35c426b80d2f830c5c308e2cdec422ae2244", message_->headers() .get(SigV4ASignatureHeaders::get().ContentSha256)[0] @@ -337,7 +338,7 @@ TEST_F(SigV4ASignerImplTest, SignExtraHeaders) { addHeader("c", "c_value"); auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_THAT( message_->headers().get(Http::CustomHeaders::get().Authorization)[0]->value().getStringView(), testing::StartsWith("AWS4-ECDSA-P256-SHA256 Credential=akid/20180102/service/aws4_request, " @@ -353,7 +354,7 @@ TEST_F(SigV4ASignerImplTest, SignHostHeader) { addHeader("host", "www.example.com"); auto signer_ = getTestSigner(false); auto status = signer_.sign(*message_); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_THAT( message_->headers().get(Http::CustomHeaders::get().Authorization)[0]->value().getStringView(), testing::StartsWith("AWS4-ECDSA-P256-SHA256 Credential=akid/20180102/service/aws4_request, " @@ -538,7 +539,7 @@ TEST_F(SigV4ASignerImplTest, QueryStringDefault5s) { Extensions::Common::Aws::AwsSigningHeaderMatcherVector{}, true); auto status = querysigner.signUnsignedPayload(headers); - EXPECT_TRUE(status.ok()); + EXPECT_OK(status); EXPECT_TRUE(absl::StrContains(headers.getPathValue(), "X-Amz-Expires=5&")); } diff --git a/test/extensions/common/aws/utility_test.cc b/test/extensions/common/aws/utility_test.cc index d8d1f67294296..d1176374d2a47 100644 --- a/test/extensions/common/aws/utility_test.cc +++ b/test/extensions/common/aws/utility_test.cc @@ -4,6 +4,7 @@ #include "test/mocks/server/server_factory_context.h" #include "test/test_common/environment.h" +#include "test/test_common/status_utility.h" #include "test/test_common/utility.h" #include "gtest/gtest.h" @@ -491,7 +492,7 @@ TEST(UtilityTest, CorrectlyConvertRegionSet) { TEST(UtilityTest, JsonStringFound) { auto test_json = Json::Factory::loadFromString("{\"access_key_id\":\"testvalue\"}"); - EXPECT_TRUE(test_json.ok()); + ASSERT_OK(test_json); const auto expiration = Utility::getStringFromJsonOrDefault(test_json.value(), "access_key_id", "notfound"); EXPECT_EQ(expiration, "testvalue"); @@ -499,7 +500,7 @@ TEST(UtilityTest, JsonStringFound) { TEST(UtilityTest, JsonStringNotFound) { auto test_json = Json::Factory::loadFromString("{\"no_access_key_id\":\"testvalue\"}"); - EXPECT_TRUE(test_json.ok()); + ASSERT_OK(test_json); const auto expiration = Utility::getStringFromJsonOrDefault(test_json.value(), "access_key_id", "notfound"); EXPECT_EQ(expiration, "notfound"); @@ -507,14 +508,14 @@ TEST(UtilityTest, JsonStringNotFound) { TEST(UtilityTest, JsonIntegerFound) { auto test_json = Json::Factory::loadFromString("{\"expiration\":5}"); - EXPECT_TRUE(test_json.ok()); + ASSERT_OK(test_json); const auto expiration = Utility::getIntegerFromJsonOrDefault(test_json.value(), "expiration", 0); EXPECT_EQ(expiration, 5); } TEST(UtilityTest, JsonIntegerNotFound) { auto test_json = Json::Factory::loadFromString("{\"noexpiration\":5}"); - EXPECT_TRUE(test_json.ok()); + ASSERT_OK(test_json); const auto expiration = Utility::getIntegerFromJsonOrDefault(test_json.value(), "expiration", 0); // Should return default value EXPECT_EQ(expiration, 0); @@ -523,9 +524,9 @@ TEST(UtilityTest, JsonIntegerNotFound) { // Check we handle double formatted integer > 0 TEST(UtilityTest, JsonIntegerExponent) { auto test_json = Json::Factory::loadFromString("{\"expiration\":1.714449238E9}"); - EXPECT_TRUE(test_json.ok()); + ASSERT_OK(test_json); auto value_or_error = test_json.value()->getValue("expiration"); - EXPECT_TRUE(value_or_error.ok()); + ASSERT_OK(value_or_error); EXPECT_FALSE(absl::holds_alternative(value_or_error.value())); EXPECT_TRUE(absl::holds_alternative(value_or_error.value())); const auto expiration = Utility::getIntegerFromJsonOrDefault(test_json.value(), "expiration", 0); @@ -536,9 +537,9 @@ TEST(UtilityTest, JsonIntegerExponent) { // Check we handle double formatted integer < 0 TEST(UtilityTest, JsonIntegerExponentInvalid) { auto test_json = Json::Factory::loadFromString("{\"expiration\":-0.17144492389}"); - EXPECT_TRUE(test_json.ok()); + ASSERT_OK(test_json); auto value_or_error = test_json.value()->getValue("expiration"); - EXPECT_TRUE(value_or_error.ok()); + ASSERT_OK(value_or_error); EXPECT_FALSE(absl::holds_alternative(value_or_error.value())); EXPECT_TRUE(absl::holds_alternative(value_or_error.value())); const auto expiration = diff --git a/test/extensions/compression/zstd/BUILD b/test/extensions/compression/zstd/BUILD index ef3e3394b72c6..38aa89ddbb513 100644 --- a/test/extensions/compression/zstd/BUILD +++ b/test/extensions/compression/zstd/BUILD @@ -30,6 +30,7 @@ envoy_extension_cc_test( "//test/mocks/event:event_mocks", "//test/mocks/server:factory_context_mocks", "//test/test_common:environment_lib", + "//test/test_common:status_utility_lib", "//test/test_common:utility_lib", ], ) diff --git a/test/extensions/compression/zstd/zstd_compression_test.cc b/test/extensions/compression/zstd/zstd_compression_test.cc index 46dc531677fa9..5f988aa56251d 100644 --- a/test/extensions/compression/zstd/zstd_compression_test.cc +++ b/test/extensions/compression/zstd/zstd_compression_test.cc @@ -6,6 +6,7 @@ #include "test/mocks/filesystem/mocks.h" #include "test/mocks/server/factory_context.h" #include "test/test_common/environment.h" +#include "test/test_common/status_utility.h" #include "test/test_common/utility.h" #include "gmock/gmock.h" @@ -245,7 +246,7 @@ TEST_F(ZstdCompressionDictionaryTest, UpdateCompressorDictionary) { verifyByDictPath(compressor_dictionary_, dictionary_1_path_, true); writeTmpFile(dictionary_2_path_, compressor_dictionary_); - ASSERT_TRUE(watch_cbs_[0](Filesystem::Watcher::Events::MovedTo).ok()); + ASSERT_OK(watch_cbs_[0](Filesystem::Watcher::Events::MovedTo)); verifyByCompressions(false); } @@ -254,7 +255,7 @@ TEST_F(ZstdCompressionDictionaryTest, UpdateDecompressorDictionary) { verifyByDictPath(dictionary_1_path_, decompressor_dictionary_, true); writeTmpFile(dictionary_2_path_, decompressor_dictionary_); - ASSERT_TRUE(watch_cbs_[1](Filesystem::Watcher::Events::MovedTo).ok()); + ASSERT_OK(watch_cbs_[1](Filesystem::Watcher::Events::MovedTo)); verifyByCompressions(true); } @@ -264,11 +265,11 @@ TEST_F(ZstdCompressionDictionaryTest, UpdateCompressorBeforeDecompressorDictiona verifyByDictPath(compressor_dictionary_, decompressor_dictionary_, true); writeTmpFile(dictionary_2_path_, compressor_dictionary_); - ASSERT_TRUE(watch_cbs_[0](Filesystem::Watcher::Events::MovedTo).ok()); + ASSERT_OK(watch_cbs_[0](Filesystem::Watcher::Events::MovedTo)); verifyByCompressions(false); writeTmpFile(dictionary_2_path_, decompressor_dictionary_); - ASSERT_TRUE(watch_cbs_[1](Filesystem::Watcher::Events::MovedTo).ok()); + ASSERT_OK(watch_cbs_[1](Filesystem::Watcher::Events::MovedTo)); verifyByCompressions(true); } @@ -278,11 +279,11 @@ TEST_F(ZstdCompressionDictionaryTest, UpdateCompressorAfterDecompressorDictionar verifyByDictPath(compressor_dictionary_, decompressor_dictionary_, true); writeTmpFile(dictionary_2_path_, decompressor_dictionary_); - ASSERT_TRUE(watch_cbs_[1](Filesystem::Watcher::Events::MovedTo).ok()); + ASSERT_OK(watch_cbs_[1](Filesystem::Watcher::Events::MovedTo)); verifyByCompressions(true); writeTmpFile(dictionary_2_path_, compressor_dictionary_); - ASSERT_TRUE(watch_cbs_[0](Filesystem::Watcher::Events::MovedTo).ok()); + ASSERT_OK(watch_cbs_[0](Filesystem::Watcher::Events::MovedTo)); verifyByCompressions(true); } diff --git a/test/extensions/filters/http/json_to_metadata/BUILD b/test/extensions/filters/http/json_to_metadata/BUILD index 4aaf9b15cc350..902ffac81d5bd 100644 --- a/test/extensions/filters/http/json_to_metadata/BUILD +++ b/test/extensions/filters/http/json_to_metadata/BUILD @@ -31,6 +31,7 @@ envoy_extension_cc_test( deps = [ "//source/extensions/filters/http/json_to_metadata:config", "//test/mocks/server:server_mocks", + "//test/test_common:status_utility_lib", ], ) diff --git a/test/extensions/filters/http/json_to_metadata/config_test.cc b/test/extensions/filters/http/json_to_metadata/config_test.cc index 5ae8ae290a9a5..57c47edffe28d 100644 --- a/test/extensions/filters/http/json_to_metadata/config_test.cc +++ b/test/extensions/filters/http/json_to_metadata/config_test.cc @@ -2,6 +2,7 @@ #include "source/extensions/filters/http/json_to_metadata/filter.h" #include "test/mocks/server/mocks.h" +#include "test/test_common/status_utility.h" #include "gmock/gmock.h" #include "gtest/gtest.h" @@ -11,6 +12,8 @@ namespace Extensions { namespace HttpFilters { namespace JsonToMetadata { +using ::Envoy::StatusHelpers::HasStatusMessage; + TEST(Factory, Basic) { const std::string yaml_request = R"( request_rules: @@ -188,10 +191,11 @@ TEST(Factory, NoRuleInRouteConfig) { .createRouteSpecificFilterConfig(*proto_config, context, ProtobufMessage::getNullValidationVisitor()) .status(); - EXPECT_FALSE(status.ok()); - EXPECT_EQ(status.message(), - "json_to_metadata_filter: Per route configs must at least specify one of request_rules " - "or response_rules."); + EXPECT_THAT( + status, + HasStatusMessage( + "json_to_metadata_filter: Per route configs must at least specify one of request_rules " + "or response_rules.")); } TEST(Factory, PerRouteConfig) { diff --git a/test/extensions/filters/network/dubbo_proxy/BUILD b/test/extensions/filters/network/dubbo_proxy/BUILD index 7b650afd70e41..e034a0d62da7a 100644 --- a/test/extensions/filters/network/dubbo_proxy/BUILD +++ b/test/extensions/filters/network/dubbo_proxy/BUILD @@ -108,6 +108,7 @@ envoy_extension_cc_test( "//source/extensions/filters/network/dubbo_proxy/filters:filter_config_interface", "//test/mocks/server:factory_context_mocks", "//test/test_common:registry_lib", + "//test/test_common:status_utility_lib", "@envoy_api//envoy/admin/v3:pkg_cc_proto", "@envoy_api//envoy/extensions/filters/network/dubbo_proxy/v3:pkg_cc_proto", ], diff --git a/test/extensions/filters/network/dubbo_proxy/config_test.cc b/test/extensions/filters/network/dubbo_proxy/config_test.cc index 2e0da6484cc48..018e3b0e0e062 100644 --- a/test/extensions/filters/network/dubbo_proxy/config_test.cc +++ b/test/extensions/filters/network/dubbo_proxy/config_test.cc @@ -11,6 +11,7 @@ #include "test/extensions/filters/network/dubbo_proxy/mocks.h" #include "test/mocks/server/factory_context.h" #include "test/test_common/registry.h" +#include "test/test_common/status_utility.h" #include "gmock/gmock.h" #include "gtest/gtest.h" @@ -205,9 +206,8 @@ version_info: "1" TestUtility::parseYaml(response_yaml); const auto decoded_resources = TestUtility::decodeResources< envoy::extensions::filters::network::dubbo_proxy::v3::MultipleRouteConfiguration>(response); - EXPECT_TRUE(context_.server_factory_context_.cluster_manager_.subscription_factory_.callbacks_ - ->onConfigUpdate(decoded_resources.refvec_, response.version_info()) - .ok()); + EXPECT_OK(context_.server_factory_context_.cluster_manager_.subscription_factory_.callbacks_ + ->onConfigUpdate(decoded_resources.refvec_, response.version_info())); auto message_ptr = context_.server_factory_context_.admin_.config_tracker_ .config_tracker_callbacks_["drds_routes"](universal_name_matcher); const auto& dump = diff --git a/test/extensions/load_balancing_policies/random/BUILD b/test/extensions/load_balancing_policies/random/BUILD index 174c24166009a..7ef02e07cb060 100644 --- a/test/extensions/load_balancing_policies/random/BUILD +++ b/test/extensions/load_balancing_policies/random/BUILD @@ -25,6 +25,7 @@ envoy_extension_cc_test( "//test/mocks/server:server_factory_context_mocks", "//test/mocks/upstream:cluster_info_mocks", "//test/mocks/upstream:priority_set_mocks", + "//test/test_common:status_utility_lib", "@envoy_api//envoy/config/core/v3:pkg_cc_proto", ], ) diff --git a/test/extensions/load_balancing_policies/random/config_test.cc b/test/extensions/load_balancing_policies/random/config_test.cc index b3b2034517654..6cec3c0d3428d 100644 --- a/test/extensions/load_balancing_policies/random/config_test.cc +++ b/test/extensions/load_balancing_policies/random/config_test.cc @@ -5,6 +5,7 @@ #include "test/mocks/server/server_factory_context.h" #include "test/mocks/upstream/cluster_info.h" #include "test/mocks/upstream/priority_set.h" +#include "test/test_common/status_utility.h" #include "gtest/gtest.h" @@ -34,7 +35,7 @@ TEST(RandomConfigTest, ValidateFail) { context.api_.random_, context.time_system_); EXPECT_NE(nullptr, thread_aware_lb); - ASSERT_TRUE(thread_aware_lb->initialize().ok()); + ASSERT_OK(thread_aware_lb->initialize()); auto thread_local_lb_factory = thread_aware_lb->factory(); EXPECT_NE(nullptr, thread_local_lb_factory);