def make_amp_agent_options_tests(options_type):
 class Tests(TestCase, ):
  def setUp(self):
   super(Tests, self).setUp()
   self.options = options_type()
   self.scratch_directory = FilePath(self.mktemp())
   self.scratch_directory.makedirs()
   self.sample_content = yaml.safe_dump({u'control-service': {u'hostname': u'10.0.0.1', u'port': 4524}, u'version': 1})
   self.config = self.scratch_directory.child('dataset-config.yml')
   self.config.setContent(self.sample_content)
  def test_default_config_file(self):
   '\n            The default config file is a FilePath with path\n            ``/etc/flocker/agent.yml``.\n            '
   self.options.parseOptions([])
   self.assertEqual(self.options['agent-config'], FilePath('/etc/flocker/agent.yml'))
  def test_custom_config_file(self):
   '\n            The ``--config-file`` command-line option allows configuring\n            the config file.\n            '
   self.options.parseOptions(['--agent-config', '/etc/foo.yml'])
   self.assertEqual(self.options['agent-config'], FilePath('/etc/foo.yml'))
 return Tests

def make_amp_agent_options_tests ( options_type ) : class Tests ( TestCase , ) : def setUp ( self ) : super ( Tests , self ) . setUp ( ) self . options = options_type ( ) self . scratch_directory = FilePath ( self . mktemp ( ) ) self . scratch_directory . makedirs ( ) self . sample_content = yaml . safe_dump ( { u'control-service' : { u'hostname' : u'10.0.0.1' , u'port' : 4524 } , u'version' : 1 } ) self . config = self . scratch_directory . child ( 'dataset-config.yml' ) self . config . setContent ( self . sample_content ) def test_default_config_file ( self ) : self . options . parseOptions ( [ ] ) self . assertEqual ( self . options [ 'agent-config' ] , FilePath ( '/etc/flocker/agent.yml' ) ) def test_custom_config_file ( self ) : self . options . parseOptions ( [ '--agent-config' , '/etc/foo.yml' ] ) self . assertEqual ( self . options [ 'agent-config' ] , FilePath ( '/etc/foo.yml' ) ) return Tests
create a test case which contains the tests that should apply to any and all convergence agents .