Skip to content

Commit

Permalink
Simplify startup tests
Browse files Browse the repository at this point in the history
Also, add missing argument passings
  • Loading branch information
do3cc committed Sep 16, 2015
1 parent 383e386 commit a966bac
Showing 1 changed file with 36 additions and 35 deletions.
71 changes: 36 additions & 35 deletions src/collective/solr/testing.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,43 +82,31 @@ def setUp(self):
)

http_error = None
for i in range(1, 10):
waiting_time = 30.0
time_step = 0.5
running = False
for i in range(int(waiting_time/time_step)):
try:
request = urllib2.Request(
'{0}/admin/cores?wt=json'.format(self.solr_url))
core_data = json.load(urllib2.urlopen(request))
cores = [x['name'] for x in core_data['status'].values()]
solr_ping_urls = []
status = []
for core in cores:
solr_ping_url = '{0}/{1}/admin/ping'.format(
self.solr_url, core)
solr_ping_urls.append(solr_ping_url)
for solr_ping_url in solr_ping_urls:
result = urllib2.urlopen(solr_ping_url)
if result.code == 200:
if '<str name="status">OK</str>' in result.read():
os.environ['SOLR_HOST'] = '{0}:{1}'.format(
self.solr_host, self.solr_port)
status.append(True)
else:
status.append(False)
else:
status.append(False)
if False not in status:
break
solr_ping_url = self.solr_url + '/admin/ping'
result = urllib2.urlopen(solr_ping_url)
if result.code == 200:
if '<str name="status">OK</str>' in result.read():
os.environ['SOLR_HOST'] = '{0}:{1}'.format(
self.solr_host, self.solr_port)
running = True
break
except urllib2.URLError, http_error:
sleep(3)
sleep(time_step)
sys.stdout.write('.')
if i == 9:
subprocess.call(
'./solr-instance stop',
shell=True,
close_fds=True,
cwd=BUILDOUT_DIR
)
sys.stdout.write('Solr Instance could not be started !!!')
raise Exception("Unable to start solr", http_error)
if not running:
subprocess.call(
'./solr-instance stop',
shell=True,
close_fds=True,
cwd=BUILDOUT_DIR
)
sys.stdout.write('Solr Instance could not be started !!!')
raise Exception("Unable to start solr", http_error)

def tearDown(self):
"""Stop Solr.
Expand Down Expand Up @@ -148,7 +136,13 @@ def __init__(
solr_host='localhost',
solr_port='RANDOM',
solr_base='/solr'):
super(CollectiveSolrLayer, self).__init__(bases, name, module)
super(CollectiveSolrLayer, self).__init__(
bases,
name,
module,
solr_host=solr_host,
solr_port=solr_port,
solr_base=solr_base)
self.solr_active = solr_active
self.solr_url = 'http://{0}:{1}{2}'.format(
self.solr_host,
Expand Down Expand Up @@ -179,6 +173,13 @@ def setUpZope(self, app, configurationContext):

def setUpPloneSite(self, portal):
applyProfile(portal, 'collective.solr:search')
self.updateSolrSettings(portal)
solr_settings = SolrControlPanelAdapter(portal)
solr_settings.setActive(self.solr_active)
solr_settings.setPort(self.solr_port)
solr_settings.setBase(self.solr_base)

def updateSolrSettings(self, portal):
solr_settings = SolrControlPanelAdapter(portal)
solr_settings.setActive(self.solr_active)
solr_settings.setPort(self.solr_port)
Expand Down

0 comments on commit a966bac

Please sign in to comment.