Skip to content

Commit abde7a6

Browse files
committed
Bug 1938944 - Implement enterprise parameter value.
1 parent 2cf5f12 commit abde7a6

File tree

3 files changed

+73
-11
lines changed

3 files changed

+73
-11
lines changed

components/search/src/filter.rs

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -348,11 +348,20 @@ mod tests {
348348
search: Some(JSONEngineUrl {
349349
base: Some("https://example.com".to_string()),
350350
method: Some(crate::JSONEngineMethod::Post),
351-
params: Some(vec![SearchUrlParam {
352-
name: "param".to_string(),
353-
value: Some("test param".to_string()),
354-
experiment_config: None,
355-
}]),
351+
params: Some(vec![
352+
SearchUrlParam {
353+
name: "param".to_string(),
354+
value: Some("test param".to_string()),
355+
enterprise_value: None,
356+
experiment_config: None,
357+
},
358+
SearchUrlParam {
359+
name: "enterprise-name".to_string(),
360+
value: None,
361+
enterprise_value: Some("enterprise-value".to_string()),
362+
experiment_config: None,
363+
},
364+
]),
356365
search_term_param_name: Some("baz".to_string()),
357366
}),
358367
suggestions: Some(JSONEngineUrl {
@@ -361,6 +370,7 @@ mod tests {
361370
params: Some(vec![SearchUrlParam {
362371
name: "suggest-name".to_string(),
363372
value: None,
373+
enterprise_value: None,
364374
experiment_config: Some("suggest-experiment-value".to_string()),
365375
}]),
366376
search_term_param_name: Some("suggest".to_string()),
@@ -371,6 +381,7 @@ mod tests {
371381
params: Some(vec![SearchUrlParam {
372382
name: "trend-name".to_string(),
373383
value: Some("trend-value".to_string()),
384+
enterprise_value: None,
374385
experiment_config: None,
375386
}]),
376387
search_term_param_name: None,
@@ -413,11 +424,20 @@ mod tests {
413424
search: SearchEngineUrl {
414425
base: "https://example.com".to_string(),
415426
method: "POST".to_string(),
416-
params: vec![SearchUrlParam {
417-
name: "param".to_string(),
418-
value: Some("test param".to_string()),
419-
experiment_config: None,
420-
}],
427+
params: vec![
428+
SearchUrlParam {
429+
name: "param".to_string(),
430+
value: Some("test param".to_string()),
431+
enterprise_value: None,
432+
experiment_config: None,
433+
},
434+
SearchUrlParam {
435+
name: "enterprise-name".to_string(),
436+
value: None,
437+
enterprise_value: Some("enterprise-value".to_string()),
438+
experiment_config: None,
439+
},
440+
],
421441
search_term_param_name: Some("baz".to_string()),
422442
},
423443
suggestions: Some(SearchEngineUrl {
@@ -426,6 +446,7 @@ mod tests {
426446
params: vec![SearchUrlParam {
427447
name: "suggest-name".to_string(),
428448
value: None,
449+
enterprise_value: None,
429450
experiment_config: Some("suggest-experiment-value".to_string()),
430451
}],
431452
search_term_param_name: Some("suggest".to_string()),
@@ -436,6 +457,7 @@ mod tests {
436457
params: vec![SearchUrlParam {
437458
name: "trend-name".to_string(),
438459
value: Some("trend-value".to_string()),
460+
enterprise_value: None,
439461
experiment_config: None,
440462
}],
441463
search_term_param_name: None,
@@ -465,6 +487,7 @@ mod tests {
465487
params: Some(vec![SearchUrlParam {
466488
name: "variant".to_string(),
467489
value: Some("test variant".to_string()),
490+
enterprise_value: None,
468491
experiment_config: None,
469492
}]),
470493
search_term_param_name: Some("ship".to_string()),
@@ -475,6 +498,7 @@ mod tests {
475498
params: Some(vec![SearchUrlParam {
476499
name: "suggest-variant".to_string(),
477500
value: Some("sugg test variant".to_string()),
501+
enterprise_value: None,
478502
experiment_config: None,
479503
}]),
480504
search_term_param_name: Some("variant".to_string()),
@@ -485,6 +509,7 @@ mod tests {
485509
params: Some(vec![SearchUrlParam {
486510
name: "trend-variant".to_string(),
487511
value: Some("trend test variant".to_string()),
512+
enterprise_value: None,
488513
experiment_config: None,
489514
}]),
490515
search_term_param_name: Some("trend".to_string()),
@@ -514,6 +539,7 @@ mod tests {
514539
params: vec![SearchUrlParam {
515540
name: "variant".to_string(),
516541
value: Some("test variant".to_string()),
542+
enterprise_value: None,
517543
experiment_config: None,
518544
}],
519545
search_term_param_name: Some("ship".to_string()),
@@ -524,6 +550,7 @@ mod tests {
524550
params: vec![SearchUrlParam {
525551
name: "suggest-variant".to_string(),
526552
value: Some("sugg test variant".to_string()),
553+
enterprise_value: None,
527554
experiment_config: None,
528555
}],
529556
search_term_param_name: Some("variant".to_string()),
@@ -534,6 +561,7 @@ mod tests {
534561
params: vec![SearchUrlParam {
535562
name: "trend-variant".to_string(),
536563
value: Some("trend test variant".to_string()),
564+
enterprise_value: None,
537565
experiment_config: None,
538566
}],
539567
search_term_param_name: Some("trend".to_string()),
@@ -563,6 +591,7 @@ mod tests {
563591
params: Some(vec![SearchUrlParam {
564592
name: "variant".to_string(),
565593
value: Some("test variant".to_string()),
594+
enterprise_value: None,
566595
experiment_config: None,
567596
}]),
568597
search_term_param_name: Some("ship".to_string()),
@@ -573,6 +602,7 @@ mod tests {
573602
params: Some(vec![SearchUrlParam {
574603
name: "suggest-variant".to_string(),
575604
value: Some("sugg test variant".to_string()),
605+
enterprise_value: None,
576606
experiment_config: None,
577607
}]),
578608
search_term_param_name: Some("variant".to_string()),
@@ -583,6 +613,7 @@ mod tests {
583613
params: Some(vec![SearchUrlParam {
584614
name: "trend-variant".to_string(),
585615
value: Some("trend test variant".to_string()),
616+
enterprise_value: None,
586617
experiment_config: None,
587618
}]),
588619
search_term_param_name: Some("trend".to_string()),
@@ -609,6 +640,7 @@ mod tests {
609640
params: Some(vec![SearchUrlParam {
610641
name: "subvariant".to_string(),
611642
value: Some("test subvariant".to_string()),
643+
enterprise_value: None,
612644
experiment_config: None,
613645
}]),
614646
search_term_param_name: Some("shuttle".to_string()),
@@ -619,6 +651,7 @@ mod tests {
619651
params: Some(vec![SearchUrlParam {
620652
name: "suggest-subvariant".to_string(),
621653
value: Some("sugg test subvariant".to_string()),
654+
enterprise_value: None,
622655
experiment_config: None,
623656
}]),
624657
search_term_param_name: Some("subvariant".to_string()),
@@ -629,6 +662,7 @@ mod tests {
629662
params: Some(vec![SearchUrlParam {
630663
name: "trend-subvariant".to_string(),
631664
value: Some("trend test subvariant".to_string()),
665+
enterprise_value: None,
632666
experiment_config: None,
633667
}]),
634668
search_term_param_name: Some("subtrend".to_string()),
@@ -657,6 +691,7 @@ mod tests {
657691
params: vec![SearchUrlParam {
658692
name: "subvariant".to_string(),
659693
value: Some("test subvariant".to_string()),
694+
enterprise_value: None,
660695
experiment_config: None,
661696
}],
662697
search_term_param_name: Some("shuttle".to_string()),
@@ -667,6 +702,7 @@ mod tests {
667702
params: vec![SearchUrlParam {
668703
name: "suggest-subvariant".to_string(),
669704
value: Some("sugg test subvariant".to_string()),
705+
enterprise_value: None,
670706
experiment_config: None,
671707
}],
672708
search_term_param_name: Some("subvariant".to_string()),
@@ -677,6 +713,7 @@ mod tests {
677713
params: vec![SearchUrlParam {
678714
name: "trend-subvariant".to_string(),
679715
value: Some("trend test subvariant".to_string()),
716+
enterprise_value: None,
680717
experiment_config: None,
681718
}],
682719
search_term_param_name: Some("subtrend".to_string()),

components/search/src/selector.rs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,10 @@ mod tests {
241241
"search": {
242242
"base": "https://example.com/1",
243243
"method": "GET",
244+
"params": [{
245+
"name": "search-name",
246+
"enterpriseValue": "enterprise-value",
247+
}],
244248
"searchTermParamName": "q"
245249
},
246250
"suggestions": {
@@ -325,7 +329,12 @@ mod tests {
325329
search: SearchEngineUrl {
326330
base: "https://example.com/1".to_string(),
327331
method: "GET".to_string(),
328-
params: Vec::new(),
332+
params: vec![SearchUrlParam {
333+
name: "search-name".to_string(),
334+
value: None,
335+
enterprise_value: Some("enterprise-value".to_string()),
336+
experiment_config: None
337+
}],
329338
search_term_param_name: Some("q".to_string())
330339
},
331340
suggestions: Some(SearchEngineUrl {
@@ -334,6 +343,7 @@ mod tests {
334343
params: vec![SearchUrlParam {
335344
name: "suggestion-name".to_string(),
336345
value: Some("suggestion-value".to_string()),
346+
enterprise_value: None,
337347
experiment_config: None
338348
}],
339349
search_term_param_name: Some("suggest".to_string())
@@ -344,6 +354,7 @@ mod tests {
344354
params: vec![SearchUrlParam {
345355
name: "trending-name".to_string(),
346356
value: None,
357+
enterprise_value: None,
347358
experiment_config: Some(
348359
"trending-experiment-value".to_string()
349360
)
@@ -505,6 +516,7 @@ mod tests {
505516
params: vec![SearchUrlParam {
506517
name: "mission".to_string(),
507518
value: Some("ongoing".to_string()),
519+
enterprise_value: None,
508520
experiment_config: None
509521
}],
510522
search_term_param_name: Some("q".to_string())
@@ -515,6 +527,7 @@ mod tests {
515527
params: vec![SearchUrlParam {
516528
name: "type".to_string(),
517529
value: Some("space".to_string()),
530+
enterprise_value: None,
518531
experiment_config: None
519532
}],
520533
search_term_param_name: Some("suggest".to_string())
@@ -525,6 +538,7 @@ mod tests {
525538
params: vec![SearchUrlParam {
526539
name: "area".to_string(),
527540
value: None,
541+
enterprise_value: None,
528542
experiment_config: Some("area-param".to_string())
529543
}],
530544
search_term_param_name: None
@@ -680,6 +694,7 @@ mod tests {
680694
params: vec![SearchUrlParam {
681695
name: "variant-param-name".to_string(),
682696
value: Some("variant-param-value".to_string()),
697+
enterprise_value: None,
683698
experiment_config: None
684699
}],
685700
search_term_param_name: Some("q".to_string())
@@ -690,6 +705,7 @@ mod tests {
690705
params: vec![SearchUrlParam {
691706
name: "type".to_string(),
692707
value: Some("space".to_string()),
708+
enterprise_value: None,
693709
experiment_config: None
694710
}],
695711
search_term_param_name: Some("suggest".to_string())
@@ -700,6 +716,7 @@ mod tests {
700716
params: vec![SearchUrlParam {
701717
name: "area".to_string(),
702718
value: None,
719+
enterprise_value: None,
703720
experiment_config: Some("area-param".to_string())
704721
}],
705722
search_term_param_name: None
@@ -739,6 +756,7 @@ mod tests {
739756
params: vec![SearchUrlParam {
740757
name: "en-ca-param-name".to_string(),
741758
value: Some("en-ca-param-value".to_string()),
759+
enterprise_value: None,
742760
experiment_config: None
743761
}],
744762
search_term_param_name: Some("q".to_string())
@@ -749,6 +767,7 @@ mod tests {
749767
params: vec![SearchUrlParam {
750768
name: "type".to_string(),
751769
value: Some("space".to_string()),
770+
enterprise_value: None,
752771
experiment_config: None
753772
}],
754773
search_term_param_name: Some("suggest".to_string())
@@ -759,6 +778,7 @@ mod tests {
759778
params: vec![SearchUrlParam {
760779
name: "area".to_string(),
761780
value: None,
781+
enterprise_value: None,
762782
experiment_config: Some("area-param".to_string())
763783
}],
764784
search_term_param_name: None

components/search/src/types.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,15 @@ pub struct SearchUserEnvironment {
9292
pub struct SearchUrlParam {
9393
/// The name of the parameter in the url.
9494
pub name: String,
95+
9596
/// The parameter value, this may be a static value, or additionally contain
9697
/// a parameter replacement, e.g. `{inputEncoding}`. For the partner code
9798
/// parameter, this field should be `{partnerCode}`.
9899
pub value: Option<String>,
100+
101+
/// Same as value but only used if Services.polices.isEnterprise is true. Overrides other parameters of the same name.
102+
pub enterprise_value: Option<String>,
103+
99104
/// The value for the parameter will be derived from the equivalent experiment
100105
/// configuration value.
101106
/// Only desktop uses this currently.

0 commit comments

Comments
 (0)