def test_find_all(self): out = subp.call('ps xao pid,ppid,command | grep "supervisor[d]" | tr -s " "')[0] supervisors = [map(int, line.strip().split()[:2]) for line in out if 'supervisord' in line] assert_that(supervisors, has_length(1)) supervisor_pid, supervisor_ppid = supervisors[0] assert_that(supervisor_ppid, equal_to(1)) time.sleep(2) out = subp.call('ps xao pid,ppid,command | grep "nginx[:]" | tr -s " "')[0] masters = [map(int, line.strip().split()[:2]) for line in out if 'nginx: master process' in line] assert_that(masters, has_length(1)) master_pid, master_ppid = masters[0] assert_that(master_ppid, equal_to(supervisor_pid)) worker_pids = [] workers = [map(int, line.strip().split()[:2]) for line in out if 'nginx: worker process' in line] for worker_pid, worker_ppid in workers: worker_pids.append(worker_pid) assert_that(worker_ppid, equal_to(master_pid)) container = NginxManager() nginxes = container._find_all() assert_that(nginxes, has_length(1)) definition, data = nginxes.pop(0) assert_that(data, has_key('pid')) assert_that(data, has_key('workers')) assert_that(master_pid, equal_to(data['pid'])) assert_that(worker_pids, equal_to(data['workers']))
def test_find_all(self): container = NginxManager() nginxes = container._find_all() assert_that(nginxes, has_length(1)) definition, data = nginxes.pop(0) assert_that(data, has_key('pid')) assert_that(data, has_key('workers')) # get ps info master, workers = self.get_master_workers() assert_that(master, equal_to(data['pid'])) assert_that(workers, equal_to(data['workers']))
def test_find_all(self): out = subp.call( 'ps xao pid,ppid,command | grep "supervisor[d]" | tr -s " "')[0] supervisors = [ map(int, line.strip().split()[:2]) for line in out if 'supervisord' in line ] assert_that(supervisors, has_length(1)) supervisor_pid, supervisor_ppid = supervisors[0] assert_that(supervisor_ppid, equal_to(1)) time.sleep(2) out = subp.call( 'ps xao pid,ppid,command | grep "nginx[:]" | tr -s " "')[0] masters = [ map(int, line.strip().split()[:2]) for line in out if 'nginx: master process' in line ] assert_that(masters, has_length(1)) master_pid, master_ppid = masters[0] assert_that(master_ppid, equal_to(supervisor_pid)) worker_pids = [] workers = [ map(int, line.strip().split()[:2]) for line in out if 'nginx: worker process' in line ] for worker_pid, worker_ppid in workers: worker_pids.append(worker_pid) assert_that(worker_ppid, equal_to(master_pid)) container = NginxManager() nginxes = container._find_all() assert_that(nginxes, has_length(1)) definition, data = nginxes.pop(0) assert_that(data, has_key('pid')) assert_that(data, has_key('workers')) assert_that(master_pid, equal_to(data['pid'])) assert_that(worker_pids, equal_to(data['workers']))
def test_find_none(self): # Kill running NGINX so that it finds None subp.call('pgrep nginx |sudo xargs kill -SIGKILL', check=False) self.running = False # Setup dummy object context.objects.register(DummyRootObject()) container = NginxManager() nginxes = container._find_all() assert_that(nginxes, has_length(0)) root_object = context.objects.root_object assert_that(root_object.eventd.current, has_length(1)) # Reset objects... context.objects = None context._setup_object_tank()