@@ -497,15 +497,16 @@ TEST(EndpointEnvTest, UserCredentialsOverrideEmulatorEnv) {
497497 typeid (opts.get <GrpcCredentialOption>()));
498498}
499499
500- TEST (EndpointEnvTest, DirectPathEnabled ) {
500+ TEST (EndpointEnvTest, CloudDirectPathEnabled ) {
501501 ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , absl::nullopt );
502502 ScopedEnvironment direct_path (" GOOGLE_CLOUD_ENABLE_DIRECT_PATH" ,
503503 " storage,bigtable" );
504+ ScopedEnvironment cbt_direct_path (" CBT_ENABLE_DIRECTPATH" , absl::nullopt );
504505
505506 auto opts = DefaultOptions ();
506- EXPECT_EQ (" google- c2p:///directpath- bigtable.googleapis.com" ,
507+ EXPECT_EQ (" c2p:///bigtable.googleapis.com" ,
507508 opts.get <::google::cloud::bigtable_internal::DataEndpointOption>());
508- EXPECT_EQ (" directpath- bigtable.googleapis.com" , opts.get <AuthorityOption>());
509+ EXPECT_EQ (" bigtable.googleapis.com" , opts.get <AuthorityOption>());
509510 // Admin endpoints are not affected.
510511 EXPECT_EQ (
511512 " bigtableadmin.googleapis.com" ,
@@ -514,10 +515,31 @@ TEST(EndpointEnvTest, DirectPathEnabled) {
514515 " bigtableadmin.googleapis.com" ,
515516 opts.get <
516517 ::google::cloud::bigtable_internal::InstanceAdminEndpointOption>());
517- EXPECT_EQ (1 , opts.get <GrpcNumChannelsOption>());
518+ EXPECT_EQ (DefaultConnectionPoolSize () , opts.get <GrpcNumChannelsOption>());
518519}
519520
520- TEST (EndpointEnvTest, DirectPathNoMatch) {
521+ TEST (EndpointEnvTest, BigtableDirectPathEnabled) {
522+ ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , absl::nullopt );
523+ ScopedEnvironment direct_path (" GOOGLE_CLOUD_ENABLE_DIRECT_PATH" ,
524+ absl::nullopt );
525+ ScopedEnvironment cbt_direct_path (" CBT_ENABLE_DIRECTPATH" , " true" );
526+
527+ auto opts = DefaultOptions ();
528+ EXPECT_EQ (" c2p:///bigtable.googleapis.com" ,
529+ opts.get <::google::cloud::bigtable_internal::DataEndpointOption>());
530+ EXPECT_EQ (" bigtable.googleapis.com" , opts.get <AuthorityOption>());
531+ // Admin endpoints are not affected.
532+ EXPECT_EQ (
533+ " bigtableadmin.googleapis.com" ,
534+ opts.get <::google::cloud::bigtable_internal::AdminEndpointOption>());
535+ EXPECT_EQ (
536+ " bigtableadmin.googleapis.com" ,
537+ opts.get <
538+ ::google::cloud::bigtable_internal::InstanceAdminEndpointOption>());
539+ EXPECT_EQ (DefaultConnectionPoolSize (), opts.get <GrpcNumChannelsOption>());
540+ }
541+
542+ TEST (EndpointEnvTest, CloudDirectPathNoMatch) {
521543 ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , absl::nullopt );
522544 ScopedEnvironment direct_path (" GOOGLE_CLOUD_ENABLE_DIRECT_PATH" ,
523545 " bigtable-not,almost-bigtable" );
@@ -527,25 +549,51 @@ TEST(EndpointEnvTest, DirectPathNoMatch) {
527549 EXPECT_EQ (" bigtable.googleapis.com" , opts.get <AuthorityOption>());
528550}
529551
530- TEST (EndpointEnvTest, DirectPathOverridesUserEndpoints) {
552+ TEST (EndpointEnvTest, BigtableDirectPathFalse) {
553+ ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , absl::nullopt );
554+ ScopedEnvironment cbt_direct_path (" CBT_ENABLE_DIRECTPATH" , " false" );
555+
556+ auto opts = DefaultDataOptions (Options{});
557+ EXPECT_EQ (" bigtable.googleapis.com" , opts.get <EndpointOption>());
558+ EXPECT_EQ (" bigtable.googleapis.com" , opts.get <AuthorityOption>());
559+ }
560+
561+ TEST (EndpointEnvTest, CloudDirectPathOverridesUserEndpoints) {
531562 ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , absl::nullopt );
532563 ScopedEnvironment direct_path (" GOOGLE_CLOUD_ENABLE_DIRECT_PATH" , " bigtable" );
533564
534565 auto opts = DefaultDataOptions (
535566 Options{}.set <EndpointOption>(" ignored" ).set <AuthorityOption>(" ignored" ));
536- EXPECT_EQ (" google-c2p:///directpath-bigtable.googleapis.com" ,
537- opts.get <EndpointOption>());
538- EXPECT_EQ (" directpath-bigtable.googleapis.com" , opts.get <AuthorityOption>());
567+ EXPECT_EQ (" c2p:///bigtable.googleapis.com" , opts.get <EndpointOption>());
568+ EXPECT_EQ (" bigtable.googleapis.com" , opts.get <AuthorityOption>());
539569}
540570
541- TEST (EndpointEnvTest, EmulatorOverridesDirectPath) {
571+ TEST (EndpointEnvTest, BigtableDirectPathOverridesUserEndpoints) {
572+ ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , absl::nullopt );
573+ ScopedEnvironment cbt_direct_path (" CBT_ENABLE_DIRECTPATH" , " true" );
574+
575+ auto opts = DefaultDataOptions (
576+ Options{}.set <EndpointOption>(" ignored" ).set <AuthorityOption>(" ignored" ));
577+ EXPECT_EQ (" c2p:///bigtable.googleapis.com" , opts.get <EndpointOption>());
578+ EXPECT_EQ (" bigtable.googleapis.com" , opts.get <AuthorityOption>());
579+ }
580+
581+ TEST (EndpointEnvTest, EmulatorOverridesCloudDirectPath) {
542582 ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , " emulator-host:8000" );
543583 ScopedEnvironment direct_path (" GOOGLE_CLOUD_ENABLE_DIRECT_PATH" , " bigtable" );
544584
545585 auto opts = DefaultDataOptions (Options{});
546586 EXPECT_EQ (" emulator-host:8000" , opts.get <EndpointOption>());
547587}
548588
589+ TEST (EndpointEnvTest, EmulatorOverridesBigtableDirectPath) {
590+ ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , " emulator-host:8000" );
591+ ScopedEnvironment cbt_direct_path (" CBT_ENABLE_DIRECTPATH" , " true" );
592+
593+ auto opts = DefaultDataOptions (Options{});
594+ EXPECT_EQ (" emulator-host:8000" , opts.get <EndpointOption>());
595+ }
596+
549597TEST (ConnectionRefreshRange, BothUnset) {
550598 ScopedEnvironment emulator (" BIGTABLE_EMULATOR_HOST" , absl::nullopt );
551599 auto opts = DefaultOptions ();
0 commit comments