def test_apply(self, meta_value, exp_visible, exp_readonly): self.config_module_mock.return_value = {'section': {'key': meta_value}} option = MagicMock() option.model.section = 'section' option.model.inikey = 'key' mc = MetaConfig(self.path) mc.apply(option) self.assertEqual(option.readonly, exp_readonly) self.assertEqual(option.visible, exp_visible)
def test_apply_on_unknown_meta_values(self, meta_value, err_meta, exp_visible, exp_readonly): self.config_module_mock.return_value = {'section': {'key': meta_value}} option = MagicMock() option.model.section = 'section' option.model.inikey = 'key' mc = MetaConfig(self.path) mock_log = MagicMock() with mock.patch('headphones.config._meta.logger', mock_log): mc.apply(option) self.assertTrue(mock_log.warn.called) mock_log.warn.assert_any_call('Unknown value of meta [' + err_meta + '] for option [section][key]') self.assertEqual(option.readonly, exp_readonly) self.assertEqual(option.visible, exp_visible)
def test_apply_on_empty_meta_values(self, meta_value, exp_visible, exp_readonly): self.config_module_mock.return_value = {'section': {'key': meta_value}} option = MagicMock() option.model.section = 'section' option.model.inikey = 'key' mc = MetaConfig(self.path) mock_log = MagicMock() with mock.patch('headphones.config._meta.logger', mock_log): mc.apply(option) self.assertTrue(mock_log.warn.called) mock_log.warn.assert_any_call('Syntax error in meta-option definition, [section][key] = []') self.assertEqual(option.readonly, exp_readonly) self.assertEqual(option.visible, exp_visible)