def test_addProgramToGroup_raises_bad_name_when_process_already_exists(self): pconfig = DummyPConfig(None, 'process_that_exists', '/bin/foo') gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) supervisord = DummySupervisor(process_groups = {'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {'command': '/usr/bin/find /'} self.assertRPCError(SupervisorFaults.BAD_NAME, interface.addProgramToGroup, 'group_name', 'process_that_exists', poptions)
def test_addProgramToGroup_raises_incorrect_params_when_poptions_is_not_dict(self): pconfig = DummyPConfig(None, 'foo', '/bin/foo') gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) supervisord = DummySupervisor(process_groups = {'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) bad_poptions = 42 self.assertRPCError(SupervisorFaults.INCORRECT_PARAMETERS, interface.addProgramToGroup, 'group_name', 'new_process', bad_poptions)
def test_addProgramToGroup_raises_incorrect_params_when_poptions_is_not_dict( self): pconfig = DummyPConfig(None, 'foo', '/bin/foo') gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) supervisord = DummySupervisor(process_groups={'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) bad_poptions = 42 self.assertRPCError(SupervisorFaults.INCORRECT_PARAMETERS, interface.addProgramToGroup, 'group_name', 'new_process', bad_poptions)
def test_addProgramToGroup_raises_bad_name_when_process_already_exists( self): pconfig = DummyPConfig(None, 'process_that_exists', '/bin/foo') gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) supervisord = DummySupervisor(process_groups={'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {'command': '/usr/bin/find /'} self.assertRPCError(SupervisorFaults.BAD_NAME, interface.addProgramToGroup, 'group_name', 'process_that_exists', poptions)
def test_addProgramToGroup_adds_all_processes_resulting_from_program_options(self): gconfig = DummyPGroupConfig(None, pconfigs=[]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups = {'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {'command': '/usr/bin/find /', 'process_name': 'find_%(process_num)d', 'numprocs': 3} self.assertTrue(interface.addProgramToGroup('group_name', 'new_process', poptions)) self.assertEqual('addProgramToGroup', interface.update_text) self.assertEqual(3, len(pgroup.config.process_configs)) self.assertEqual(3, len(pgroup.processes))
def test_addProgramToGroup_adds_new_process_config_to_group(self): pconfig = DummyPConfig(None, 'foo', '/bin/foo') gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups = {'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {'command': '/usr/bin/find /'} self.assertTrue(interface.addProgramToGroup('group_name', 'new_process', poptions)) self.assertEqual('addProgramToGroup', interface.update_text) config = pgroup.config.process_configs[1] self.assertEqual('new_process', config.name) self.assertTrue(isinstance(config, supervisor.options.ProcessConfig))
def test_addProgramToGroup_adds_new_process_config_to_group(self): pconfig = DummyPConfig(None, "foo", "/bin/foo") gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups={"group_name": pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {"command": "/usr/bin/find /"} self.assertTrue( interface.addProgramToGroup("new_process", poptions, "group_name")) self.assertEqual("addProgramToGroup", interface.update_text) config = pgroup.config.process_configs[1] self.assertEqual("new_process", config.name) self.assertTrue(isinstance(config, supervisor.options.ProcessConfig))
def test_addProgramToGroup_raises_incorrect_params_when_poptions_is_invalid( self): pconfig = DummyPConfig(None, "foo", "/bin/foo") gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) supervisord = DummySupervisor(process_groups={"group_name": pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions_missing_command = {} self.assertRPCError( SupervisorFaults.INCORRECT_PARAMETERS, interface.addProgramToGroup, "new_process", poptions_missing_command, "group_name", )
def test_addProgramToGroup_uses_process_name_from_options(self): gconfig = DummyPGroupConfig(None, pconfigs=[]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups = {'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {'process_name': 'renamed', 'command': '/usr/bin/find /'} self.assertTrue(interface.addProgramToGroup('group_name', 'new_process', poptions)) self.assertEqual('addProgramToGroup', interface.update_text) config = pgroup.config.process_configs[0] self.assertEqual('renamed', config.name) self.assertTrue(pgroup.processes.get('new_process') is None) self.assertTrue(isinstance(pgroup.processes.get('renamed'), supervisor.process.Subprocess))
def test_addProgramToGroup_adds_new_process_config_to_group(self): pconfig = DummyPConfig(None, 'foo', '/bin/foo') gconfig = DummyPGroupConfig(None, pconfigs=[pconfig]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups={'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {'command': '/usr/bin/find /'} self.assertTrue( interface.addProgramToGroup('group_name', 'new_process', poptions)) self.assertEqual('addProgramToGroup', interface.update_text) config = pgroup.config.process_configs[1] self.assertEqual('new_process', config.name) self.assertTrue(isinstance(config, supervisor.options.ProcessConfig))
def test_addProgramToGroup_adds_all_processes_resulting_from_program_options( self): gconfig = DummyPGroupConfig(None, pconfigs=[]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups={"group_name": pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = { "command": "/usr/bin/find /", "process_name": "find_%(process_num)d", "numprocs": 3, } self.assertTrue( interface.addProgramToGroup("new_process", poptions, "group_name")) self.assertEqual("addProgramToGroup", interface.update_text) self.assertEqual(3, len(pgroup.config.process_configs)) self.assertEqual(3, len(pgroup.processes))
def test_addProgramToGroup_uses_process_name_from_options(self): gconfig = DummyPGroupConfig(None, pconfigs=[]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups={"group_name": pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {"process_name": "renamed", "command": "/usr/bin/find /"} self.assertTrue( interface.addProgramToGroup("new_process", poptions, "group_name")) self.assertEqual("addProgramToGroup", interface.update_text) config = pgroup.config.process_configs[0] self.assertEqual("renamed", config.name) self.assertTrue(pgroup.processes.get("new_process") is None) self.assertTrue( isinstance(pgroup.processes.get("renamed"), supervisor.process.Subprocess))
def test_addProgramToGroup_uses_process_name_from_options(self): gconfig = DummyPGroupConfig(None, pconfigs=[]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups={'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = {'process_name': 'renamed', 'command': '/usr/bin/find /'} self.assertTrue( interface.addProgramToGroup('group_name', 'new_process', poptions)) self.assertEqual('addProgramToGroup', interface.update_text) config = pgroup.config.process_configs[0] self.assertEqual('renamed', config.name) self.assertTrue(pgroup.processes.get('new_process') is None) self.assertTrue( isinstance(pgroup.processes.get('renamed'), supervisor.process.Subprocess))
def test_addProgramToGroup_adds_all_processes_resulting_from_program_options( self): gconfig = DummyPGroupConfig(None, pconfigs=[]) pgroup = DummyProcessGroup(gconfig) pgroup.processes = {} supervisord = DummySupervisor(process_groups={'group_name': pgroup}) supervisord.options = supervisor.options.ServerOptions() interface = self.makeOne(supervisord) poptions = { 'command': '/usr/bin/find /', 'process_name': 'find_%(process_num)d', 'numprocs': 3 } self.assertTrue( interface.addProgramToGroup('group_name', 'new_process', poptions)) self.assertEqual('addProgramToGroup', interface.update_text) self.assertEqual(3, len(pgroup.config.process_configs)) self.assertEqual(3, len(pgroup.processes))