@@ -460,6 +460,71 @@ func TestToSidekickConfig(t *testing.T) {
460460 },
461461 },
462462 },
463+ {
464+ name : "with discovery LRO polling config" ,
465+ library : & config.Library {
466+ Name : "google-cloud-compute-v1" ,
467+ SpecificationFormat : "discovery" ,
468+ Rust : & config.RustCrate {
469+ Discovery : & config.RustDiscovery {
470+ OperationID : ".google.cloud.compute.v1.Operation" ,
471+ Pollers : []config.RustPoller {
472+ {
473+ Prefix : "compute/v1/projects/{project}/zones/{zone}" ,
474+ MethodID : ".google.cloud.compute.v1.zoneOperations.get" ,
475+ },
476+ {
477+ Prefix : "compute/v1/projects/{project}/regions/{region}" ,
478+ MethodID : ".google.cloud.compute.v1.regionOperations.get" ,
479+ },
480+ {
481+ Prefix : "compute/v1/projects/{project}" ,
482+ MethodID : ".google.cloud.compute.v1.globalOperations.get" ,
483+ },
484+ },
485+ },
486+ },
487+ },
488+ channel : & config.Channel {
489+ Path : "discoveries/compute.v1.json" ,
490+ ServiceConfig : "google/cloud/compute/v1/compute_v1.yaml" ,
491+ },
492+ googleapisDir : "/tmp/googleapis" ,
493+ discoveryDir : "/tmp/discovery-artifact-manager" ,
494+ want : & sidekickconfig.Config {
495+ General : sidekickconfig.GeneralConfig {
496+ Language : "rust" ,
497+ SpecificationFormat : "disco" ,
498+ ServiceConfig : "google/cloud/compute/v1/compute_v1.yaml" ,
499+ SpecificationSource : "discoveries/compute.v1.json" ,
500+ },
501+ Source : map [string ]string {
502+ "googleapis-root" : "/tmp/googleapis" ,
503+ "discovery-root" : "/tmp/discovery-artifact-manager" ,
504+ "roots" : "discovery,googleapis" ,
505+ },
506+ Codec : map [string ]string {
507+ "package-name-override" : "google-cloud-compute-v1" ,
508+ },
509+ Discovery : & sidekickconfig.Discovery {
510+ OperationID : ".google.cloud.compute.v1.Operation" ,
511+ Pollers : []* sidekickconfig.Poller {
512+ {
513+ Prefix : "compute/v1/projects/{project}/zones/{zone}" ,
514+ MethodID : ".google.cloud.compute.v1.zoneOperations.get" ,
515+ },
516+ {
517+ Prefix : "compute/v1/projects/{project}/regions/{region}" ,
518+ MethodID : ".google.cloud.compute.v1.regionOperations.get" ,
519+ },
520+ {
521+ Prefix : "compute/v1/projects/{project}" ,
522+ MethodID : ".google.cloud.compute.v1.globalOperations.get" ,
523+ },
524+ },
525+ },
526+ },
527+ },
463528 } {
464529 t .Run (test .name , func (t * testing.T ) {
465530 got := toSidekickConfig (test .library , test .channel , test .googleapisDir , test .discoveryDir )
0 commit comments