mirror of
https://github.com/gryf/ferrit.git
synced 2026-02-07 08:45:53 +01:00
51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
import os
|
|
import signal
|
|
import subprocess
|
|
import time
|
|
import unittest
|
|
|
|
import requests
|
|
|
|
|
|
class BaseTestCase(unittest.TestCase):
|
|
def setUp(self):
|
|
if not all((os.path.exists('gerrit-server-key'),
|
|
os.path.exists('gerrit-access-key'))):
|
|
raise SystemError("No server key-pair or access key-pair found. "
|
|
"You'll need to copy them to the current "
|
|
"directory under name 'gerrit-server-key' and "
|
|
"'gerrit-server-key.pub' for server keyes and "
|
|
"'gerrit-access-key' and "
|
|
"'gerrit-access-key.pub' for access keyes. "
|
|
"Don't forget to run configured Jenkins!")
|
|
self.process = subprocess.Popen(['ferrit'], preexec_fn=os.setpgrp)
|
|
# give some time for processes to start, and jenkins to be ready for
|
|
# consume the data
|
|
time.sleep(3)
|
|
|
|
def tearDown(self):
|
|
os.killpg(self.process.pid, signal.SIGTERM)
|
|
os.unlink('ferrit-http.log')
|
|
os.unlink('ferrit-ssh.log')
|
|
|
|
def _send_and_get_response(self, event_type):
|
|
counter = 20
|
|
result = None
|
|
requests.post('http://localhost:8181/make/event',
|
|
data='type=%s' % event_type)
|
|
while counter:
|
|
if not os.path.exists('ferrit-http.log'):
|
|
counter -= 1
|
|
time.sleep(1)
|
|
continue
|
|
|
|
with open('ferrit-http.log') as fobj:
|
|
result = fobj.read()
|
|
if not result:
|
|
time.sleep(1)
|
|
counter -= 1
|
|
else:
|
|
break
|
|
|
|
return result
|