Example #1
0
def setup_function():
    global job
    job = Job(host='snafu.example.com', login='******', name='bar')
    job.last_seen = job.last_stamp = datetime(1979, 7, 7, 11, 22, 33)
    job.state_id = 1
    job.result = {'ok': True}
    job.rusage = {}
    session.add(job)
    session.flush()
Example #2
0
def test_index_reason():
    job = Job.create(session, 'foo', 'bar', 'baz')
    job.state = 'error'
    job.reason = 'signal'
    job.last_stamp = job.last_seen = datetime(1979, 7, 9)

    job = Job.create(session, 'narf', 'flag', 'bo')
    job.state = 'ok'
    job.last_stamp = job.last_seen = datetime(1979, 7, 10)

    client = Client(app, BaseResponse)
    resp = client.get('/')
    assert resp.status_code == 200
Example #3
0
File: app.py Project: CSIS/proccer
def job(job_id):
    with session_manager() as session:
        job = Job.get(session, job_id)
        return render_response('job.html', {
            'job': job,
            'results': job.results.limit(7).all(),
        })
Example #4
0
def test_index():
    job = Job.create(session, 'foo', 'bar', 'baz')
    job.state = 'ok'
    job.last_stamp = job.last_seen = datetime(1979, 7, 9)

    client = Client(app, BaseResponse)
    resp = client.get('/')
    assert resp.status_code == 200
Example #5
0
def test_periodic():
    still_bad_job = Job.create(session, 'foo', 'bar', 'baz')
    still_bad_job.last_seen = still_bad_job.last_stamp = datetime(1979, 7, 7)
    still_bad_job.state = 'error'
    still_bad_job.warn_after = timedelta(seconds=1)

    silent_bad_job = Job.create(session, 'foo', 'bar', 'baz')
    silent_bad_job.last_seen = silent_bad_job.last_stamp = datetime(1979, 7, 7)
    silent_bad_job.state = 'error'
    silent_bad_job.warn_after = None

    still_late_job = Job.create(session, 'foo', 'bar', 'baz')
    still_late_job.last_seen = still_late_job.last_stamp = datetime(1979, 7, 7)
    still_late_job.state = 'error'
    still_late_job.warn_after = timedelta(seconds=1)

    session.flush()

    # FIXME - This needs real tests!
    with patch('proccer.notifications.smtplib'):
        main()
Example #6
0
def test_get_job():
    job = Job.create(session, 'foo', 'bar', 'baz')
    job.state = 'ok'
    job.last_stamp = job.last_seen = datetime(1979, 7, 9)
    session.flush()

    result = JobResult.create(job=job, clock_ms=117,
                              result={}, rusage={}, output='Hello, World!')
    session.flush()

    client = Client(app, BaseResponse)
    resp = client.get('/job/%d/' % job.id)
    assert resp.status_code == 200
    assert 'Hello, World!' in resp.data
Example #7
0
def get_job(session, state='ok'):
    job = Job.create(session, 'foo', 'bar', 'baz')
    job.state = 'ok'
    job.last_stamp = job.last_seen = datetime(1979, 7, 9)
    session.flush()
    return job
Example #8
0
File: app.py Project: CSIS/proccer
def delete_job(job_id):
    with session_manager() as session:
        job = Job.get(session, job_id)
        job.deleted = datetime.utcnow()
        flash('Job deleted')
    return redirect(url_for('index'))