def test_boolean_key(self):
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'btrue'])
     self.assertEqual(0, rcode)
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'bfalse'])
     self.assertEqual(1, rcode)
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'x'])
     self.assertEqual(-1, rcode)
 def test_boolean_key(self):
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'btrue'])
     self.assertEqual(0, rcode)
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'bfalse'])
     self.assertEqual(1, rcode)
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'x'])
     self.assertEqual(-1, rcode)
예제 #3
0
 def test_os_config_files(self):
     with tempfile.NamedTemporaryFile() as fake_os_config_files:
         with tempfile.NamedTemporaryFile() as fake_config:
             fake_config.write(json.dumps(CONFIG))
             fake_config.flush()
             fake_os_config_files.write(json.dumps([fake_config.name]))
             fake_os_config_files.flush()
             apply_config.main(['os-apply-config',
                                '--key', 'database.url',
                                '--type', 'raw',
                                '--os-config-files',
                                fake_os_config_files.name])
             self.stdout.seek(0)
             self.assertEqual(
                 CONFIG['database']['url'], self.stdout.read().strip())
예제 #4
0
 def test_os_config_files(self):
     with tempfile.NamedTemporaryFile() as fake_os_config_files:
         with tempfile.NamedTemporaryFile() as fake_config:
             fake_config.write(json.dumps(CONFIG).encode('utf-8'))
             fake_config.flush()
             fake_os_config_files.write(
                 json.dumps([fake_config.name]).encode('utf-8'))
             fake_os_config_files.flush()
             apply_config.main([
                 'os-apply-config', '--key', 'database.url', '--type',
                 'raw', '--os-config-files', fake_os_config_files.name
             ])
             self.stdout.seek(0)
             self.assertEqual(CONFIG['database']['url'],
                              self.stdout.read().strip())
 def test_print_null_key(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'z', '--type', 'raw', '--key-default', '']))
     self.stdout.seek(0)
     self.assertEqual('', self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
예제 #6
0
 def test_print_key_missing_default(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'does.not.exist', '--key-default', '']))
     self.stdout.seek(0)
     self.assertEqual('', self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
 def test_print_key_from_list_missing_default(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'l.2', '--type', 'int', '--key-default', '']))
     self.stdout.seek(0)
     self.assertEqual('', self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
 def test_print_null_key(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'z', '--type', 'raw', '--key-default', '']))
     self.stdout.seek(0)
     self.assertEqual('', self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
예제 #9
0
 def test_print_key_from_list_missing(self):
     self.assertEqual(
         1,
         apply_config.main([
             'os-apply-config.py', '--metadata', self.path, '--key', 'l.2',
             '--type', 'int'
         ]))
     self.assertIn('does not exist', self.logger.output)
예제 #10
0
 def test_print_key_wrong_type(self):
     self.assertEqual(
         1,
         apply_config.main([
             'os-apply-config.py', '--metadata', self.path, '--key', 'x',
             '--type', 'int'
         ]))
     self.assertIn('cannot interpret value', self.logger.output)
예제 #11
0
 def test_print_key_json_list(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'l', '--type', 'raw']))
     self.stdout.seek(0)
     self.assertEqual(CONFIG['l'],
                      json.loads(self.stdout.read().strip()))
     self.assertEqual('', self.logger.output)
 def test_print_key_from_list(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'l.0', '--type', 'int']))
     self.stdout.seek(0)
     self.assertEqual(str(CONFIG['l'][0]),
                      self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
예제 #13
0
 def test_boolean_key_and_key(self):
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'btrue',
                                '--key', 'x'])
     self.assertEqual(0, rcode)
     self.stdout.seek(0)
     self.assertEqual(self.stdout.read().strip(), 'foo')
     self.assertIn('--boolean-key ignored', self.logger.output)
예제 #14
0
 def test_print_key_from_list(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'l.0', '--type', 'int']))
     self.stdout.seek(0)
     self.assertEqual(str(CONFIG['l'][0]),
                      self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
예제 #15
0
 def test_print_non_string_key(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'y', '--type', 'raw']))
     self.stdout.seek(0)
     self.assertEqual("false",
                      self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
 def test_print_key_json_list(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'l', '--type', 'raw']))
     self.stdout.seek(0)
     self.assertEqual(CONFIG['l'],
                      json.loads(self.stdout.read().strip()))
     self.assertEqual('', self.logger.output)
 def test_boolean_key_and_key(self):
     rcode = apply_config.main(['os-apply-config', '--metadata',
                                self.path, '--boolean-key', 'btrue',
                                '--key', 'x'])
     self.assertEqual(0, rcode)
     self.stdout.seek(0)
     self.assertEqual(self.stdout.read().strip(), 'foo')
     self.assertIn('--boolean-key ignored', self.logger.output)
예제 #18
0
 def test_print_non_string_key(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'y', '--type', 'raw']))
     self.stdout.seek(0)
     self.assertEqual(str(CONFIG['y']),
                      self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
예제 #19
0
 def test_print_key(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'database.url', '--type', 'raw']))
     self.stdout.seek(0)
     self.assertEqual(CONFIG['database']['url'],
                      self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
예제 #20
0
 def test_print_key(self):
     self.assertEqual(0, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'database.url', '--type', 'raw']))
     self.stdout.seek(0)
     self.assertEqual(CONFIG['database']['url'],
                      self.stdout.read().strip())
     self.assertEqual('', self.logger.output)
예제 #21
0
 def test_print_templates(self):
     apply_config.main(['os-apply-config', '--print-templates'])
     self.stdout.seek(0)
     self.assertEqual(self.stdout.read().strip(),
                      apply_config.TEMPLATES_DIR)
     self.assertEqual('', self.logger.output)
예제 #22
0
 def test_print_templates(self):
     apply_config.main(['os-apply-config', '--print-templates'])
     self.stdout.seek(0)
     self.assertEqual(
         self.stdout.read().strip(), apply_config.TEMPLATES_DIR)
     self.assertEqual('', self.logger.output)
예제 #23
0
 def test_print_key_wrong_type(self):
     self.assertEqual(1, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'x', '--type', 'int']))
     self.assertIn('cannot interpret value', self.logger.output)
예제 #24
0
 def test_print_key_missing(self):
     self.assertEqual(1, apply_config.main(
         ['os-apply-config.py', '--metadata', self.path, '--key',
          'does.not.exist']))
     self.assertIn('does not exist', self.logger.output)