def test_locks_query_count(self):
"""Check that query count to pull in available jobs hasn't changed"""
EXPECTED_QUERIES = 6 # but 3 are for setup
host_ct_key = ContentType.objects.get_for_model(
self.host.downcast()).natural_key()
host_id = self.host.id
# create 200 host ups and down jobs in 'pending' default state
# key point is they are not in the 'complete' state.
for job_num in xrange(200):
if job_num % 2 == 0:
RebootHostJob.objects.create(host=self.host)
else:
ShutdownHostJob.objects.create(host=self.host)
# Loads up the caches, including the _lock_cache while should find
# these jobs.
js = JobScheduler()
reset_queries()
# Getting jobs here may incur a higher cost.
js.available_jobs([(host_ct_key, host_id), ])
query_sum = len(connection.queries)
self.assertGreaterEqual(query_sum, EXPECTED_QUERIES,
"something changed with queries! "
"got %s expected %s" % (query_sum, EXPECTED_QUERIES))
test_available_jobs.py 文件源码
python
阅读 18
收藏 0
点赞 0
评论 0
评论列表
文章目录