Example #1
0
 def test_upstream_ids (self):
     s = Session()
     job = Job("res1.1")
     job.account = Project("-1")
     s.add(job)
     stdout, stderr = capture(lambda: print_jobs_list([job]))
     assert_equal_multiline(stdout.getvalue(), dedent("""\
         res1.1                                  -1                                  0.0
         """))
Example #2
0
 def test_blank (self):
     stdout, stderr = capture(lambda: print_jobs_list([]))
     assert_equal_multiline(stdout.getvalue(), dedent("""\
         """))
     assert_equal_multiline(stderr.getvalue(), dedent("""\
         ID                  Name       User     Account          Duration       Charged
         ------------------- ---------- -------- --------------- --------- -------------
                                                                 --------- -------------
                                                                   0:00:00           0.0
         Units are undefined.
         """))
Example #3
0
 def test_long_job (self):
     s = Session()
     job = Job("res1.1")
     job.start = datetime(2000, 1, 1)
     job.end = datetime(2000, 2, 1)
     s.add(job)
     stdout, stderr = capture(lambda: print_jobs_list([job]))
     assert_equal_multiline(stdout.getvalue(), dedent("""\
         res1.1                                                  744:00:00           0.0
         """))
     assert_equal_multiline(stderr.getvalue(), dedent("""\
         ID                  Name       User     Account          Duration       Charged
         ------------------- ---------- -------- --------------- --------- -------------
                                                                 --------- -------------
                                                                 744:00:00           0.0
         Units are undefined.
         """))
Example #4
0
 def test_bare_jobs (self):
     s = Session()
     jobs = [Job("res1.1"), Job("res1.2"), Job("res1.3")]
     for job in jobs:
         s.add(job)
     stdout, stderr = capture(lambda: print_jobs_list(jobs))
     assert_equal_multiline(stdout.getvalue(), dedent("""\
         res1.1                                                                      0.0
         res1.2                                                                      0.0
         res1.3                                                                      0.0
         """))
     assert_equal_multiline(stderr.getvalue(), dedent("""\
         ID                  Name       User     Account          Duration       Charged
         ------------------- ---------- -------- --------------- --------- -------------
                                                                 --------- -------------
                                                                   0:00:00           0.0
         Units are undefined.
         """))
Example #5
0
 def test_full_jobs (self):
     s = Session()
     project1 = Project("1")
     project2 = Project("2")
     user1 = User("1")
     user2 = User("2")
     res1 = Resource("1")
     a = Allocation(project1, res1, 0,
         datetime(2000, 1, 1), datetime(2001, 1, 1))
     j1 = Job("res1.1")
     j2 = Job("res1.2")
     j3 = Job("res1.3")
     j2.user = user1
     j3.user = user2
     j1.account = project1
     j3.account = project2
     j1.name = "somename"
     j1.charges = [Charge(a, 10), Charge(a, 20)]
     j1.charges[1].refund(5)
     j1.start = datetime(2000, 1, 1)
     j2.start = datetime(2000, 1, 2)
     j1.end = j1.start + timedelta(minutes=30)
     for job in [j1, j2, j3]:
         s.add(job)
     stdout, stderr = capture(lambda: print_jobs_list([j1, j2, j3]))
     assert_equal_multiline(stdout.getvalue(), dedent("""\
         res1.1              somename            project1          0:30:00          25.0
         res1.2                         user1                                        0.0
         res1.3                         user2    project2                            0.0
         """))
     assert_equal_multiline(stderr.getvalue(), dedent("""\
         ID                  Name       User     Account          Duration       Charged
         ------------------- ---------- -------- --------------- --------- -------------
                                                                 --------- -------------
                                                                   0:30:00          25.0
         Units are undefined.
         """))