def test_get_jobs_for_service(notify_db, notify_db_session, sample_template): from tests.app.conftest import sample_job as create_job from tests.app.conftest import sample_service as create_service from tests.app.conftest import sample_template as create_template from tests.app.conftest import sample_user as create_user one_job = create_job(notify_db, notify_db_session, sample_template.service, sample_template) other_user = create_user(notify_db, notify_db_session, email="*****@*****.**") other_service = create_service(notify_db, notify_db_session, user=other_user, service_name="other service") other_template = create_template(notify_db, notify_db_session, service=other_service) other_job = create_job(notify_db, notify_db_session, service=other_service, template=other_template) one_job_from_db = get_jobs_by_service(one_job.service_id) other_job_from_db = get_jobs_by_service(other_job.service_id) assert len(one_job_from_db) == 1 assert one_job == one_job_from_db[0] assert len(other_job_from_db) == 1 assert other_job == other_job_from_db[0] assert one_job_from_db != other_job_from_db
def get_job_for_service(service_id, job_id=None): if job_id: try: job = get_job(service_id, job_id) data, errors = job_schema.dump(job) return jsonify(data=data) except DataError: return jsonify(result="error", message="Invalid job id"), 400 except NoResultFound: return jsonify(result="error", message="Job not found"), 404 else: jobs = get_jobs_by_service(service_id) data, errors = jobs_schema.dump(jobs) return jsonify(data=data)