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)
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)
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)
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)
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)
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)