def test_FieldTrialToDescription(self):
   config = {
     'Study1': [
       {
         'group_name': 'Group1',
         'params': {
           'x': '1',
           'y': '2'
         }
       }
     ],
     'Study2': [{'group_name': 'OtherGroup'}]
   }
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(config)
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'groups': [
           {
             'study': 'Study1',
             'group_name': 'Group1',
             'params': [
               {'key': 'x', 'value': '1'},
               {'key': 'y', 'value': '2'}
             ]
           },
           {
             'study': 'Study2',
             'group_name': 'OtherGroup'
           }
         ]
       }
     }
   }
   self.assertEqual(expected, result)
 def test_FieldTrialToDescription(self):
     config = {
         "Study1": [
             {
                 "group_name": "Group1",
                 "params": {"x": "1", "y": "2"},
                 "enable_features": ["A", "B"],
                 "disable_features": ["C"],
             }
         ],
         "Study2": [{"group_name": "OtherGroup"}],
     }
     result = fieldtrial_to_struct._FieldTrialConfigToDescription(config)
     expected = {
         "elements": {
             "kFieldTrialConfig": {
                 "groups": [
                     {
                         "study": "Study1",
                         "group_name": "Group1",
                         "params": [{"key": "x", "value": "1"}, {"key": "y", "value": "2"}],
                         "enable_features": ["A", "B"],
                         "disable_features": ["C"],
                     },
                     {"study": "Study2", "group_name": "OtherGroup"},
                 ]
             }
         }
     }
     self.maxDiff = None
     self.assertEqual(expected, result)
 def test_FieldTrialToDescriptionMultipleFormFactorsTrial(self):
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(
       self._MULTIPLE_FORM_FACTORS_CONFIG, ['windows'], False)
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'studies': [
           {
             'name': 'Trial1',
             'experiments': [
               {
                 'name': 'Group1',
                 'platforms': ['Study::PLATFORM_WINDOWS'],
                 'form_factors': ['Study::DESKTOP', 'Study::PHONE'],
               },
             ],
           },
           {
             'name': 'Trial2',
             'experiments': [
               {
                 'name': 'OtherGroup',
                 'platforms': ['Study::PLATFORM_WINDOWS'],
                 'form_factors': ['Study::TABLET'],
               },
             ],
           },
         ]
       }
     }
   }
   self.maxDiff = None
   self.assertEqual(expected, result)
示例#4
0
 def test_FieldTrialToDescriptionMultipleSinglePlatformSingleTrial(self):
     result = fieldtrial_to_struct._FieldTrialConfigToDescription(
         self._MULTIPLE_PLATFORM_CONFIG, ['mac'])
     expected = {
         'elements': {
             'kFieldTrialConfig': {
                 'studies': [
                     {
                         'name':
                         'Trial2',
                         'experiments': [
                             {
                                 'name':
                                 'OtherGroup',
                                 'platforms': ['Study::PLATFORM_MAC'],
                                 'is_low_end_device':
                                 'Study::OPTIONAL_BOOL_MISSING'
                             },
                         ],
                     },
                 ]
             }
         }
     }
     self.maxDiff = None
     self.assertEqual(expected, result)
示例#5
0
 def test_FieldTrialToDescriptionMultipleSinglePlatformMultipleTrial(self):
     result = fieldtrial_to_struct._FieldTrialConfigToDescription(
         self._MULTIPLE_PLATFORM_CONFIG, ['ios'])
     expected = {
         'elements': {
             'kFieldTrialConfig': {
                 'studies': [
                     {
                         'name':
                         'Trial1',
                         'experiments': [
                             {
                                 'name':
                                 'Group1',
                                 'platforms': ['Study::PLATFORM_IOS'],
                                 'params': [{
                                     'key': 'x',
                                     'value': '1'
                                 }, {
                                     'key': 'y',
                                     'value': '2'
                                 }],
                                 'enable_features': ['A', 'B'],
                                 'disable_features': ['C'],
                                 'is_low_end_device':
                                 'Study::OPTIONAL_BOOL_TRUE',
                                 'form_factors': [],
                             },
                             {
                                 'name':
                                 'Group2',
                                 'platforms': ['Study::PLATFORM_IOS'],
                                 'params': [{
                                     'key': 'x',
                                     'value': '3'
                                 }, {
                                     'key': 'y',
                                     'value': '4'
                                 }],
                                 'enable_features': ['D', 'E'],
                                 'disable_features': ['F'],
                                 'is_low_end_device':
                                 'Study::OPTIONAL_BOOL_TRUE',
                                 'form_factors': [],
                             },
                             {
                                 'name': 'IOSOnly',
                                 'platforms': ['Study::PLATFORM_IOS'],
                                 'is_low_end_device':
                                 'Study::OPTIONAL_BOOL_MISSING',
                                 'form_factors': [],
                             },
                         ],
                     },
                 ]
             }
         }
     }
     self.maxDiff = None
     self.assertEqual(expected, result)
 def test_FieldTrialToDescriptionMultipleOverrideUIStringTrial(self):
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(
       self._MULTIPLE_OVERRIDE_UI_STRING_CONFIG, ['windows'])
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'studies': [
           {
             'name': 'Trial1',
             'experiments': [
               {
                 'name': 'Group1',
                 'platforms': ['Study::PLATFORM_WINDOWS'],
                 'override_ui_string': [
                   {
                     'name_hash':
                       4045341670,
                     'value': 'test1'
                   },
                   {
                     'name_hash':
                       1173727369,
                     'value': 'test2'
                   },
                 ],
                 'is_low_end_device': 'Study::OPTIONAL_BOOL_MISSING',
                 'form_factors': [],
               },
             ],
           },
           {
             'name': 'Trial2',
             'experiments': [
               {
                 'name': 'Group2',
                 'platforms': ['Study::PLATFORM_WINDOWS'],
                 'override_ui_string': [
                   {
                     'name_hash':
                       3477264953,
                     'value': 'test3'
                   },
                 ],
                 'is_low_end_device': 'Study::OPTIONAL_BOOL_MISSING',
                 'form_factors': [],
               },
             ],
           }
         ]
       }
     }
   }
   self.maxDiff = None
   self.assertEqual(expected, result)
示例#7
0
 def test_FieldTrialToDescriptionMultipleSinglePlatformMultipleTrial(self):
     result = fieldtrial_to_struct._FieldTrialConfigToDescription(
         self._MULTIPLE_PLATFORM_CONFIG, 'ios')
     expected = {
         'elements': {
             'kFieldTrialConfig': {
                 'studies': [
                     {
                         'name':
                         'Trial1',
                         'experiments': [
                             {
                                 'name':
                                 'Group1',
                                 'params': [{
                                     'key': 'x',
                                     'value': '1'
                                 }, {
                                     'key': 'y',
                                     'value': '2'
                                 }],
                                 'enable_features': ['A', 'B'],
                                 'disable_features': ['C']
                             },
                             {
                                 'name':
                                 'Group2',
                                 'params': [{
                                     'key': 'x',
                                     'value': '3'
                                 }, {
                                     'key': 'y',
                                     'value': '4'
                                 }],
                                 'enable_features': ['D', 'E'],
                                 'disable_features': ['F']
                             },
                             {
                                 'name': 'IOSOnly'
                             },
                         ],
                     },
                 ]
             }
         }
     }
     self.maxDiff = None
     self.assertEqual(expected, result)
 def test_FieldTrialToDescription(self):
   config = {
     'Study1': [
       {
         'group_name': 'Group1',
         'params': {
           'x': '1',
           'y': '2'
         },
         'enable_features': ['A', 'B'],
         'disable_features': ['C']
       }
     ],
     'Study2': [{'group_name': 'OtherGroup'}]
   }
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(config)
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'groups': [
           {
             'study': 'Study1',
             'group_name': 'Group1',
             'params': [
               {'key': 'x', 'value': '1'},
               {'key': 'y', 'value': '2'}
             ],
            'enable_features': ['A',
                                'B'],
            'disable_features': ['C']
           },
           {
             'study': 'Study2',
             'group_name': 'OtherGroup'
           }
         ]
       }
     }
   }
   self.maxDiff = None
   self.assertEqual(expected, result)
示例#9
0
 def test_FieldTrialToDescriptionMultipleSinglePlatformSingleTrial(self):
     result = fieldtrial_to_struct._FieldTrialConfigToDescription(
         self._MULTIPLE_PLATFORM_CONFIG, 'mac')
     expected = {
         'elements': {
             'kFieldTrialConfig': {
                 'studies': [
                     {
                         'name': 'Trial2',
                         'experiments': [
                             {
                                 'name': 'OtherGroup',
                             },
                         ],
                     },
                 ]
             }
         }
     }
     self.maxDiff = None
     self.assertEqual(expected, result)
 def test_FieldTrialToDescriptionMultipleSinglePlatformSingleTrial(self):
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(
       self._MULTIPLE_PLATFORM_CONFIG, 'mac')
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'studies': [
           {
             'name': 'Trial2',
             'experiments': [
               {
                 'name': 'OtherGroup',
               },
             ],
           },
         ]
       }
     }
   }
   self.maxDiff = None
   self.assertEqual(expected, result)
 def test_FieldTrialToDescriptionMultipleSinglePlatformMultipleTrial(self):
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(
       self._MULTIPLE_PLATFORM_CONFIG, 'ios')
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'studies': [
           {
             'name': 'Trial1',
             'experiments': [
               {
                 'name': 'Group1',
                 'params': [
                   {'key': 'x', 'value': '1'},
                   {'key': 'y', 'value': '2'}
                 ],
                 'enable_features': ['A', 'B'],
                 'disable_features': ['C']
               },
               {
                 'name': 'Group2',
                 'params': [
                   {'key': 'x', 'value': '3'},
                   {'key': 'y', 'value': '4'}
                 ],
                 'enable_features': ['D', 'E'],
                 'disable_features': ['F']
               },
               {
                 'name': 'IOSOnly'
               },
             ],
           },
         ]
       }
     }
   }
   self.maxDiff = None
   self.assertEqual(expected, result)
示例#12
0
 def test_FieldTrialToDescription(self):
   config = {
     'Trial1': [
       {
         'platforms': ['win'],
         'experiments': [
           {
             'name': 'Group1',
             'params': {
               'x': '1',
               'y': '2'
             },
             'enable_features': ['A', 'B'],
             'disable_features': ['C']
           },
           {
             'name': 'Group2',
             'params': {
               'x': '3',
               'y': '4'
             },
             'enable_features': ['D', 'E'],
             'disable_features': ['F']
           },
         ]
       }
     ],
     'Trial2': [
       {
         'platforms': ['win'],
         'experiments': [{'name': 'OtherGroup'}]
       }
     ],
     'TrialWithForcingFlag':  [
       {
         'platforms': ['win'],
         'experiments': [
           {
             'name': 'ForcedGroup',
             'forcing_flag': "my-forcing-flag"
           }
         ]
       }
     ]
   }
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(config,
                                                                ['win'])
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'studies': [
           {
             'name': 'Trial1',
             'experiments': [
               {
                 'name': 'Group1',
                 'platforms': ['Study::PLATFORM_WINDOWS'],
                 'params': [
                   {'key': 'x', 'value': '1'},
                   {'key': 'y', 'value': '2'}
                 ],
                 'enable_features': ['A', 'B'],
                 'disable_features': ['C']
               },
               {
                 'name': 'Group2',
                 'platforms': ['Study::PLATFORM_WINDOWS'],
                 'params': [
                   {'key': 'x', 'value': '3'},
                   {'key': 'y', 'value': '4'}
                 ],
                 'enable_features': ['D', 'E'],
                 'disable_features': ['F']
               },
             ],
           },
           {
             'name': 'Trial2',
             'experiments': [
               {
                 'name': 'OtherGroup',
                 'platforms': ['Study::PLATFORM_WINDOWS'],
               }
             ]
           },
           {
             'name': 'TrialWithForcingFlag',
             'experiments': [
                 {
                   'name': 'ForcedGroup',
                   'platforms': ['Study::PLATFORM_WINDOWS'],
                   'forcing_flag': "my-forcing-flag"
                 }
             ]
           },
         ]
       }
     }
   }
   self.maxDiff = None
   self.assertEqual(expected, result)
 def test_FieldTrialToDescription(self):
   config = {
     'Trial1': [
       {
         'platforms': ['win'],
         'experiments': [
           {
             'name': 'Group1',
             'params': {
               'x': '1',
               'y': '2'
             },
             'enable_features': ['A', 'B'],
             'disable_features': ['C']
           },
           {
             'name': 'Group2',
             'params': {
               'x': '3',
               'y': '4'
             },
             'enable_features': ['D', 'E'],
             'disable_features': ['F']
           },
         ]
       }
     ],
     'Trial2': [
       {
         'platforms': ['win'],
         'experiments': [{'name': 'OtherGroup'}]
       }
     ],
     'TrialWithForcingFlag':  [
       {
         'platforms': ['win'],
         'experiments': [
           {
             'name': 'ForcedGroup',
             'forcing_flag': "my-forcing-flag"
           }
         ]
       }
     ]
   }
   result = fieldtrial_to_struct._FieldTrialConfigToDescription(config, 'win')
   expected = {
     'elements': {
       'kFieldTrialConfig': {
         'studies': [
           {
             'name': 'Trial1',
             'experiments': [
               {
                 'name': 'Group1',
                 'params': [
                   {'key': 'x', 'value': '1'},
                   {'key': 'y', 'value': '2'}
                 ],
                 'enable_features': ['A', 'B'],
                 'disable_features': ['C']
               },
               {
                 'name': 'Group2',
                 'params': [
                   {'key': 'x', 'value': '3'},
                   {'key': 'y', 'value': '4'}
                 ],
                 'enable_features': ['D', 'E'],
                 'disable_features': ['F']
               },
             ],
           },
           {
             'name': 'Trial2',
             'experiments': [{'name': 'OtherGroup'}]
           },
           {
             'name': 'TrialWithForcingFlag',
             'experiments': [
                 {
                   'name': 'ForcedGroup',
                   'forcing_flag': "my-forcing-flag"
                 }
             ]
           },
         ]
       }
     }
   }
   self.maxDiff = None
   self.assertEqual(expected, result)