コード例 #1
0
 def test_one_group(self):
     conf = config.Feature('test', self.world,
                           {'groups': {
                               'test_group': 'on'
                           }})
     self.assertTrue(conf.is_enabled(MockRequest()))
     self.assertFalse(conf.is_enabled(MockRequest(group_list=['test2'])))
コード例 #2
0
 def test_one_user(self):
     conf = config.Feature('test', self.world,
                           {'users': {
                               'test_user': '******'
                           }})
     self.assertTrue(conf.is_enabled(MockRequest()))
     self.assertFalse(conf.is_enabled(MockRequest(user_name='test2')))
コード例 #3
0
 def test_admin_plus(self):
     conf = config.Feature('test', self.world, {
         'admin': 'on',
         'enabled': 10
     })
     self.assertFalse(conf.is_enabled(MockRequest(user_id=0.5)))
     self.assertTrue(conf.is_enabled(MockRequest(admin=True, user_id=0.5)))
     self.assertTrue(conf.is_enabled(MockRequest(user_id=0.05)))
コード例 #4
0
 def test_internal_plus(self):
     conf = config.Feature('test', self.world, {
         'internal': 'on',
         'enabled': 10
     })
     self.assertFalse(conf.is_enabled(MockRequest(user_id=0.5)))
     self.assertTrue(
         conf.is_enabled(MockRequest(internal=True, user_id=0.5)))
     self.assertTrue(conf.is_enabled(MockRequest(user_id=0.05)))
コード例 #5
0
 def test_multivariant(self):
     conf = config.Feature('test', self.world,
                           {'percentages': [(2, 'foo'), (3, 'bar')]})
     self.assertEqual(conf.variant(MockRequest(user_id=0)), 'foo')
     self.assertEqual(conf.variant(MockRequest(user_id=0.01)), 'foo')
     self.assertEqual(conf.variant(MockRequest(user_id=0.01999)), 'foo')
     self.assertEqual(conf.variant(MockRequest(user_id=0.02)), 'bar')
     self.assertEqual(conf.variant(MockRequest(user_id=0.04999)), 'bar')
     self.assertFalse(conf.is_enabled(MockRequest(user_id=0.05)))
     self.assertFalse(conf.is_enabled(MockRequest(user_id=1)))
コード例 #6
0
 def test_list_of_users(self):
     conf = config.Feature(
         'test', self.world,
         {'users': {
             'test_user': '******',
             'test2': 'winner'
         }})
     self.assertEqual(conf.variant(MockRequest()), 'winner2')
     self.assertEqual(conf.variant(MockRequest(user_name='test2')),
                      'winner')
     self.assertFalse(conf.is_enabled(MockRequest(user_name='test3')))
コード例 #7
0
 def test_list_of_groups(self):
     conf = config.Feature(
         'test', self.world,
         {'groups': {
             'test_group': 'winner2',
             'test2': 'winner'
         }})
     self.assertEqual(conf.variant(MockRequest()), 'winner2')
     self.assertEqual(
         conf.variant(MockRequest(group_list=['test2', 'test3'])), 'winner')
     self.assertFalse(conf.is_enabled(MockRequest(group_list=['test3'])))
コード例 #8
0
 def test_url_override(self):
     conf = config.Feature('test', self.world, {})
     self.assertTrue(
         conf.is_enabled(MockRequest(features=['test'], admin=True)))
     self.assertTrue(
         conf.is_enabled(MockRequest(features=['test'], internal=True)))
     self.assertEqual(
         conf.variant(MockRequest(features=['test:alt'], admin=True)),
         'alt')
     self.assertFalse(conf.is_enabled(MockRequest(features=['test'])))
     self.assertNotEqual(conf.variant(MockRequest(features=['test:alt'])),
                         'alt')
コード例 #9
0
 def test_complex_disabled(self):
     conf = config.Feature(
         'test', self.world,
         dict(enabled='off',
              users={'test_user': '******'},
              groups={'test_group': 'on'},
              admin='on',
              internal='on',
              public_url_override=True))
     self.assertFalse(
         conf.is_enabled(
             MockRequest(admin=True, internal=True, features=['test'])))
コード例 #10
0
 def test_simple_rampup(self):
     conf = config.Feature('test', self.world, 50)
     self.assertTrue(
         conf.is_enabled(MockRequest(user_id=None), alternate_id=0))
     self.assertTrue(
         conf.is_enabled(MockRequest(user_id=None), alternate_id=0.1))
     self.assertTrue(
         conf.is_enabled(MockRequest(user_id=None), alternate_id=0.4999))
     self.assertFalse(
         conf.is_enabled(MockRequest(user_id=None), alternate_id=0.5))
     self.assertFalse(
         conf.is_enabled(MockRequest(user_id=None), alternate_id=0.6))
     self.assertFalse(
         conf.is_enabled(MockRequest(user_id=None), alternate_id=0.99))
     self.assertFalse(
         conf.is_enabled(MockRequest(user_id=None), alternate_id=1))
コード例 #11
0
ファイル: parser.py プロジェクト: swsnider/experimentalist
def parse_config(conf, world):
    conf = json.loads(conf)
    config = {}
    for name, stanza in conf:
        config[name] = config.Feature(name, world, stanza)
    return config
コード例 #12
0
 def test_internal_only(self):
     conf = config.Feature('test', self.world, {'internal': 'on'})
     self.assertFalse(conf.is_enabled(MockRequest()))
     self.assertTrue(conf.is_enabled(MockRequest(internal=True)))
コード例 #13
0
 def test_simple_disabled_string(self):
     conf = config.Feature('test', self.world, 'off')
     self.assertFalse(conf.is_enabled(MockRequest()))
コード例 #14
0
 def test_variant_enabled_string(self):
     conf = config.Feature('test', self.world, 'winner')
     self.assertEqual(conf.variant(MockRequest()), 'winner')
     self.assertEqual(
         conf.variant(MockRequest(user_id=2, user_name='other_test')),
         'winner')
コード例 #15
0
 def test_fully_enabled_string(self):
     conf = config.Feature('test', self.world, 'on')
     self.assertTrue(conf.is_enabled(MockRequest()))
コード例 #16
0
 def test_simple_disabled(self):
     conf = config.Feature('test', self.world, {'enabled': 'off'})
     self.assertFalse(conf.is_enabled(MockRequest()))
コード例 #17
0
 def test_fully_enabled(self):
     conf = config.Feature('test', self.world, {'enabled': 'on'})
     self.assertTrue(conf.is_enabled(MockRequest()))
コード例 #18
0
 def test_default_disabled(self):
     conf = config.Feature('test', self.world, {})
     self.assertFalse(conf.is_enabled(MockRequest()))
コード例 #19
0
 def test_admin_only(self):
     conf = config.Feature('test', self.world, {'admin': 'on'})
     self.assertFalse(conf.is_enabled(MockRequest()))
     self.assertTrue(conf.is_enabled(MockRequest(admin=True)))