コード例 #1
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
 def test_from_file_for_class(self):
   builder = ConfigurationBindingsBuilder()
   builder.add_configs_for_class(ConfigurationBindingsTest)
   bindings = builder.build()
   self.assertEquals('tests/base/ConfigurationBindingsTest',
                     bindings.get('config_location'))
   self.assertIsNone(bindings.get('missing'))
コード例 #2
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
 def test_from_file(self):
   builder = ConfigurationBindingsBuilder()
   builder.add_config_file(os.path.join(os.path.dirname(__file__),
                                        'bindings_test.config'))
   bindings = builder.build()
   self.assertEquals('tests/base/bindings_test',
                     bindings.get('config_location'))
コード例 #3
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
 def test_from_file(self):
   builder = ConfigurationBindingsBuilder()
   builder.add_config_file(os.path.join(os.path.dirname(__file__),
                                        'bindings_test.config'))
   bindings = builder.build()
   self.assertEquals('tests/base/bindings_test',
                     bindings.get('config_location'))
コード例 #4
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
 def test_from_file_for_class(self):
   builder = ConfigurationBindingsBuilder()
   builder.add_configs_for_class(ConfigurationBindingsTest)
   bindings = builder.build()
   self.assertEquals('tests/base/ConfigurationBindingsTest',
                     bindings.get('config_location'))
   self.assertIsNone(bindings.get('missing'))
コード例 #5
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
  def test_override_default(self):
    builder = ConfigurationBindingsBuilder()
    builder.set_default('test', 'MyPreDefault')
    builder.set_override('test', 'MyOverride')
    builder.set_default('test', 'MyPostDefault')

    bindings = builder.build()
    self.assertEquals('MyOverride', bindings.get('test'))
コード例 #6
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
 def test_from_file_for_class_with_defaults(self):
   builder = ConfigurationBindingsBuilder()
   builder.add_configs_for_class(ConfigurationBindingsTest)
   builder.set_default('missing', 'MISSING')
   builder.set_default('config_location', 'IGNORE')
   bindings = builder.build()
   self.assertEquals('MISSING', bindings.get('missing'))
   self.assertEquals('tests/base/ConfigurationBindingsTest',
                     bindings.get('config_location'))
コード例 #7
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
  def test_override_default(self):
    builder = ConfigurationBindingsBuilder()
    builder.set_default('test', 'MyPreDefault')
    builder.set_override('test', 'MyOverride')
    builder.set_default('test', 'MyPostDefault')

    bindings = builder.build()
    self.assertEquals('MyOverride', bindings.get('test'))
コード例 #8
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
 def test_from_file_for_class_with_defaults(self):
   builder = ConfigurationBindingsBuilder()
   builder.add_configs_for_class(ConfigurationBindingsTest)
   builder.set_default('missing', 'MISSING')
   builder.set_default('config_location', 'IGNORE')
   bindings = builder.build()
   self.assertEquals('MISSING', bindings.get('missing'))
   self.assertEquals('tests/base/ConfigurationBindingsTest',
                     bindings.get('config_location'))
コード例 #9
0
ファイル: bindings_test.py プロジェクト: yonggang985/citest
    def test_environ_builder_value(self):
        builder = ConfigurationBindingsBuilder()
        builder.add_config_file(
            os.path.join(os.path.dirname(__file__), 'bindings_test.config'))
        builder.set_default('up', '$TEST_UP')

        builder.set_override('down', '$TEST_DOWN')

        bindings = builder.build()
        os.environ['TEST_UP'] = '123'
        os.environ['TEST_DOWN'] = '321'
        self.assertEquals(os.environ.get('HOME'), bindings.get('test_home'))
        self.assertEquals('123', bindings.get('up'))
        self.assertEquals('321', bindings.get('down'))
コード例 #10
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
  def test_environ_builder_value(self):
    builder = ConfigurationBindingsBuilder()
    builder.add_config_file(os.path.join(os.path.dirname(__file__),
                                         'bindings_test.config'))
    builder.set_default('up', '$TEST_UP')

    builder.set_override('down', '$TEST_DOWN')

    bindings = builder.build()
    os.environ['TEST_UP'] = '123'
    os.environ['TEST_DOWN'] = '321'
    self.assertEquals(os.environ.get('HOME'), bindings.get('test_home'))
    self.assertEquals('123', bindings.get('up'))
    self.assertEquals('321', bindings.get('down'))
コード例 #11
0
ファイル: bindings_test.py プロジェクト: yonggang985/citest
    def test_from_command_line(self):
        orig_argv = sys.argv
        try:
            sys.argv = [
                orig_argv[0], '--config_location=COMMANDLINE',
                '--overriden=WRONG', '--unknownBool', '--unknownInt', '123'
            ]

            builder = ConfigurationBindingsBuilder()
            builder.add_configs_for_class(ConfigurationBindingsTest)
            builder.set_override('overriden', 'OVERRIDEN')
            bindings = builder.build()
            self.assertEquals('OVERRIDEN', bindings.get('overriden'))
            self.assertEquals('COMMANDLINE', bindings.get('config_location'))
            self.assertEquals('True', bindings.get('unknownBool'))
            self.assertEquals('123', bindings.get('unknownInt'))
            self.assertIsNone(bindings.get('missing'))
        finally:
            sys.argv = orig_argv
コード例 #12
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
  def test_from_command_line(self):
    orig_argv = sys.argv
    try:
      sys.argv = [orig_argv[0],
                  '--config_location=COMMANDLINE',
                  '--overriden=WRONG',
                  '--unknownBool',
                  '--unknownInt', '123']

      builder = ConfigurationBindingsBuilder()
      builder.add_configs_for_class(ConfigurationBindingsTest)
      builder.set_override('overriden', 'OVERRIDEN')
      bindings = builder.build()
      self.assertEquals('OVERRIDEN', bindings.get('overriden'))
      self.assertEquals('COMMANDLINE',
                        bindings.get('config_location'))
      self.assertEquals('True', bindings.get('unknownBool'))
      self.assertEquals('123', bindings.get('unknownInt'))
      self.assertIsNone(bindings.get('missing'))
    finally:
      sys.argv = orig_argv
コード例 #13
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
  def test_lazy_initializer(self):
    lazy_evaluator = TestLazyEvaluator()
    builder = ConfigurationBindingsBuilder()
    builder.add_lazy_initializer('lazy', lazy_evaluator)
    builder.add_lazy_initializer('implied', lazy_evaluator)
    builder.add_lazy_initializer('overriden', lazy_evaluator)
    builder.add_lazy_initializer('has_default', lazy_evaluator)
    builder.set_default('has_default', 'default')

    bindings = builder.build()
    self.assertEqual(2, bindings['lazy'])
    self.assertEqual(1, bindings['IMPLIED'])  # already initialized

    bindings['overriden'] = 'Hello'
    self.assertEquals('Hello', bindings['overriden'])

    # Default is lower precedence than lazy initializer
    self.assertEquals(3, bindings['has_default'])

    with self.assertRaises(KeyError):
      self.assertIsNotNone(bindings['missing'])

    self.assertEquals([(bindings, 'implied'),
                       (bindings, 'lazy'),
                       (bindings, 'has_default')],
                      lazy_evaluator.called_with_bk)
コード例 #14
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
  def test_lazy_overrides_removes_None_override(self):
    lazy_evaluator = TestLazyEvaluator()

    builder = ConfigurationBindingsBuilder()
    builder.set_override('overriden', None)
    builder.set_override('has_default', 'have')
    builder.add_lazy_initializer('overriden', lazy_evaluator)
    builder.add_lazy_initializer('has_default', lazy_evaluator)
    builder.add_lazy_initializer('lazy', lazy_evaluator)
    builder.set_override('lazy', None)

    bindings = builder.build()
    self.assertEquals(1, bindings.get('overriden'))
    self.assertEquals('have', bindings.get('has_default'))
    self.assertIsNone(bindings.get('lazy')) # because we overrode it
コード例 #15
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
 def test_case_insensitive_override(self):
   builder = ConfigurationBindingsBuilder()
   builder.set_override('test', 'MyOverride')
   bindings = builder.build()
   self.assertEquals('MyOverride', bindings.get('TEST'))
コード例 #16
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
 def test_just_default(self):
   builder = ConfigurationBindingsBuilder()
   builder.set_default('test', 'MyDefault')
   bindings = builder.build()
   self.assertEquals('MyDefault', bindings.get('test'))
コード例 #17
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
 def test_not_found(self):
   bindings = ConfigurationBindingsBuilder().build()
   self.assertIsNone(bindings.get('missing'))
   with self.assertRaises(KeyError):
     self.assertIsNotNone(bindings['missing'])
コード例 #18
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
  def test_contains(self):
    lazy_evaluator = TestLazyEvaluator()
    builder = ConfigurationBindingsBuilder()
    builder.add_lazy_initializer('lazy', lazy_evaluator)
    builder.add_lazy_initializer('shared', lazy_evaluator)
    builder.add_configs_for_class(ConfigurationBindingsTest)
    builder.set_override('shared', 'OverridenValue')
    builder.set_override('overriden', 'OverridenValue')
    builder.set_default('default', 'DefaultValue')

    bindings = builder.build()
    self.assertTrue('lazy' in bindings)
    self.assertTrue('shared' in bindings)
    self.assertTrue('overriden' in bindings)
    self.assertTrue('default' in bindings)
    self.assertTrue('DeFaUlT' in bindings)
    self.assertTrue('read_configuration_bindings_test' in bindings)
    self.assertTrue('tests_base_param' in bindings)

    self.assertFalse('missing' in bindings)

    self.assertEquals([], lazy_evaluator.called_with_bk)
    self.assertFalse('implied' in bindings)
コード例 #19
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
  def test_lazy_overrides_removes_None_override(self):
    lazy_evaluator = TestLazyEvaluator()

    builder = ConfigurationBindingsBuilder()
    builder.set_override('overriden', None)
    builder.set_override('has_default', 'have')
    builder.add_lazy_initializer('overriden', lazy_evaluator)
    builder.add_lazy_initializer('has_default', lazy_evaluator)
    builder.add_lazy_initializer('lazy', lazy_evaluator)
    builder.set_override('lazy', None)

    bindings = builder.build()
    self.assertEquals(1, bindings.get('overriden'))
    self.assertEquals('have', bindings.get('has_default'))
    self.assertIsNone(bindings.get('lazy')) # because we overrode it
コード例 #20
0
ファイル: bindings_test.py プロジェクト: ewiseblatt/citest
  def test_lazy_initializer(self):
    lazy_evaluator = TestLazyEvaluator()
    builder = ConfigurationBindingsBuilder()
    builder.add_lazy_initializer('lazy', lazy_evaluator)
    builder.add_lazy_initializer('implied', lazy_evaluator)
    builder.add_lazy_initializer('overriden', lazy_evaluator)
    builder.add_lazy_initializer('has_default', lazy_evaluator)
    builder.set_default('has_default', 'default')

    bindings = builder.build()
    self.assertEqual(2, bindings['lazy'])
    self.assertEqual(1, bindings['IMPLIED'])  # already initialized

    bindings['overriden'] = 'Hello'
    self.assertEquals('Hello', bindings['overriden'])

    # Default is lower precedence than lazy initializer
    self.assertEquals(3, bindings['has_default'])

    with self.assertRaises(KeyError):
      self.assertIsNotNone(bindings['missing'])

    self.assertEquals([(bindings, 'implied'),
                       (bindings, 'lazy'),
                       (bindings, 'has_default')],
                      lazy_evaluator.called_with_bk)
コード例 #21
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
  def test_contains(self):
    lazy_evaluator = TestLazyEvaluator()
    builder = ConfigurationBindingsBuilder()
    builder.add_lazy_initializer('lazy', lazy_evaluator)
    builder.add_lazy_initializer('shared', lazy_evaluator)
    builder.add_configs_for_class(ConfigurationBindingsTest)
    builder.set_override('shared', 'OverridenValue')
    builder.set_override('overriden', 'OverridenValue')
    builder.set_default('default', 'DefaultValue')

    bindings = builder.build()
    self.assertTrue('lazy' in bindings)
    self.assertTrue('shared' in bindings)
    self.assertTrue('overriden' in bindings)
    self.assertTrue('default' in bindings)
    self.assertTrue('DeFaUlT' in bindings)
    self.assertTrue('read_configuration_bindings_test' in bindings)
    self.assertTrue('tests_base_param' in bindings)

    self.assertFalse('missing' in bindings)

    self.assertEquals([], lazy_evaluator.called_with_bk)
    self.assertFalse('implied' in bindings)
コード例 #22
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
 def test_not_found(self):
   bindings = ConfigurationBindingsBuilder().build()
   self.assertIsNone(bindings.get('missing'))
   with self.assertRaises(KeyError):
     self.assertIsNotNone(bindings['missing'])
コード例 #23
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
 def test_just_default(self):
   builder = ConfigurationBindingsBuilder()
   builder.set_default('test', 'MyDefault')
   bindings = builder.build()
   self.assertEquals('MyDefault', bindings.get('test'))
コード例 #24
0
ファイル: bindings_test.py プロジェクト: dbakshiyev/citest
 def test_case_insensitive_override(self):
   builder = ConfigurationBindingsBuilder()
   builder.set_override('test', 'MyOverride')
   bindings = builder.build()
   self.assertEquals('MyOverride', bindings.get('TEST'))