def test_main(db, data1): slurm2sql.main(['dummy'], raw_sacct=data1, db=db) r = db.execute("SELECT JobName, Start " "FROM slurm WHERE JobID=43974388;").fetchone() assert r[0] == 'spawner-jupyterhub' assert r[1] == 1564601354 assert db.execute("SELECT count(*) from slurm;").fetchone()[0] == 5
def test_history_resume_timestamp(db, data1, caplog): """Test --history-resume's exact timestamp""" # Run once to get an update_time slurm2sql.main(['dummy', '--history-days=1'], raw_sacct=data1, db=db) update_time = slurm2sql.get_last_timestamp(db) caplog.clear() # Run again and make sure that we filter based on that update_time slurm2sql.main(['dummy', '--history-resume'], raw_sacct=data1, db=db) assert slurm2sql.slurm_timestamp(update_time) in caplog.text
def test_history_resume_basic(db, data1): """Test --history-resume""" # Run it once. Is the update_time approximately now? slurm2sql.main(['dummy', '--history-days=1'], raw_sacct=data1, db=db) update_time = slurm2sql.get_last_timestamp(db) assert abs(update_time - time.time()) < 5 # Wait 1s, is update time different? time.sleep(1.1) slurm2sql.main(['dummy', '--history-resume'], raw_sacct=data1, db=db) assert update_time != slurm2sql.get_last_timestamp(db)
def test_time(db, data1): slurm2sql.main(['dummy'], raw_sacct=data1, db=db) r = db.execute( "SELECT Time FROM slurm WHERE JobID=43974388;").fetchone()[0] assert r == unixtime('2019-08-01T02:02:39') # Submit defined, Start defined, End='Unknown' --> timestamp should be "now" r = db.execute( "SELECT Time FROM slurm WHERE JobID=43977780;").fetchone()[0] assert r >= time.time() - 5 # Job step: Submit defined, Start='Unknown', End='Unknown' --> Time should equal Submit r = db.execute("SELECT Time FROM slurm WHERE JobIDSlurm='43977780.batch';" ).fetchone()[0] assert r == unixtime('2019-08-01T00:35:27')
def test_quiet(db, data1, caplog, capfd): slurm2sql.main(['dummy', '-q'], raw_sacct=data1, db=db) slurm2sql.main(['dummy', '--history=1-5', '-q'], raw_sacct=data1, db=db) slurm2sql.main(['dummy', '--history-days=1', '-q'], raw_sacct=data1, db=db) slurm2sql.main(['dummy', '--history-start=2019-01-01', '-q'], raw_sacct=data1, db=db) #assert caplog.text == "" captured = capfd.readouterr() assert captured.out == "" assert captured.err == ""
def test_verbose(db, data1, caplog): slurm2sql.main(['dummy', '--history-days=1', '-v'], raw_sacct=data1, db=db) assert time.strftime("%Y-%m-%d") in caplog.text
def test_jobs_only(db, data1): """--jobs-only gives two rows""" slurm2sql.main(['dummy', '--jobs-only'], raw_sacct=data1, db=db) assert db.execute("SELECT count(*) from slurm;").fetchone()[0] == 2