Ejemplo n.º 1
0
def test_schedule_job():
    handle_message("test do job 10")

    jj = scheduler.get_jobs_of_type("test_good_job")
    assert len(jj) == 1
    assert_job_matches(jj[0], "test_good_job", {"n": "10"}, "channel", T(60),
                       None)
Ejemplo n.º 2
0
def test_cancel_job_with_job_scheduled():
    scheduler.schedule_job("good_job", {"k": "v"}, "channel", TS, 0)

    scheduler.cancel_job("good_job")

    jj = scheduler.get_jobs_of_type("good_job")
    assert len(jj) == 0
Ejemplo n.º 3
0
def test_cancel_job_with_no_jobs_of_same_type_scheduled():
    scheduler.schedule_job("odd_job", {"k": "v"}, "channel")

    scheduler.cancel_job("good_job")

    jj = scheduler.get_jobs_of_type("odd_job")
    assert len(jj) == 1
Ejemplo n.º 4
0
def test_on_opened_pr(web_client):
    headers = {
        "X-Hub-Signature": "sha1=e5d9fcbaa6acbc5031228155470fb82cbe12e018"
    }
    rsp = web_client.post("/github/", data=PAYLOAD_PR_OPENED, headers=headers)
    assert rsp.status_code == 200
    assert not scheduler.get_jobs_of_type("op_deploy")
Ejemplo n.º 5
0
def test_on_closed_merged_pr(web_client):
    headers = {
        "X-Hub-Signature": "sha1=adac1db7f924b4572c8379dc44caa415d44b2b1d"
    }
    rsp = web_client.post("/github/", data=PAYLOAD_PR_CLOSED, headers=headers)
    assert rsp.status_code == 200
    jj = scheduler.get_jobs_of_type("op_deploy")
    assert len(jj) == 1
Ejemplo n.º 6
0
def test_schedule_job_with_no_jobs_of_same_type_already_scheduled():
    scheduler.schedule_job("odd_job", {"k": "v"}, "channel")

    scheduler.schedule_job("good_job", {"k": "v"}, "channel")

    jj = scheduler.get_jobs_of_type("good_job")
    assert len(jj) == 1
    assert_job_matches(jj[0], "good_job", {"k": "v"}, "channel", T(0), None)
Ejemplo n.º 7
0
def test_schedule_job_with_job_of_same_type_scheduled():
    scheduler.schedule_job("good_job", {"k": "v"}, "channel", TS, 0)

    scheduler.schedule_job("good_job", {"k": "w"}, "channel1", TS, 10)

    jj = scheduler.get_jobs_of_type("good_job")
    assert len(jj) == 1
    assert_job_matches(jj[0], "good_job", {"k": "w"}, "channel1", T(10), None)
Ejemplo n.º 8
0
def test_on_opened_issue(web_client):
    headers = {
        "X-Hub-Signature": "sha1=0022fa92c53686109b918c709518899662fe246f"
    }
    rsp = web_client.post("/github/",
                          data=PAYLOAD_ISSUE_OPENED,
                          headers=headers)
    assert rsp.status_code == 200
    assert not scheduler.get_jobs_of_type("op_deploy")
Ejemplo n.º 9
0
def test_on_closed_unmerged_pr(web_client):
    headers = {
        "X-Hub-Signature": "sha1=9bd6f75640ef7a6c1a573cf5d423be7d8ed23c3b"
    }
    rsp = web_client.post("/github/test/",
                          data=PAYLOAD_PR_CLOSED_UNMERGED,
                          headers=headers)
    assert rsp.status_code == 200
    assert not scheduler.get_jobs_of_type("test_deploy")
Ejemplo n.º 10
0
def test_on_closed_unmerged_pr(web_client):
    headers = {
        "X-Hub-Signature": "sha1=7216f76b9a0d1b78b6ff77197f99fcab43f745d3"
    }
    rsp = web_client.post("/github/",
                          data=PAYLOAD_PR_CLOSED_UNMERGED,
                          headers=headers)
    assert rsp.status_code == 200
    assert not scheduler.get_jobs_of_type("op_deploy")
Ejemplo n.º 11
0
def test_on_opened_issue(web_client):
    headers = {
        "X-Hub-Signature": "sha1=6e6218f3e729aca3abce2644128a1d29af2c76ab"
    }
    rsp = web_client.post("/github/test/",
                          data=PAYLOAD_ISSUE_OPENED,
                          headers=headers)
    assert rsp.status_code == 200
    assert not scheduler.get_jobs_of_type("test_deploy")
Ejemplo n.º 12
0
def test_on_opened_pr(web_client):
    headers = {
        "X-Hub-Signature": "sha1=4cc85e5c6e7a1f3a03aeaef924f1cfa7a3d72384"
    }
    rsp = web_client.post("/github/test/",
                          data=PAYLOAD_PR_OPENED,
                          headers=headers)
    assert rsp.status_code == 200
    assert not scheduler.get_jobs_of_type("test_deploy")
Ejemplo n.º 13
0
def test_cancel_job_with_job_running(freezer):
    scheduler.schedule_job("good_job", {"k": "v"}, "channel", TS, 0)
    freezer.move_to(T(5))
    scheduler.reserve_job()

    scheduler.cancel_job("good_job")

    jj = scheduler.get_jobs_of_type("good_job")
    assert len(jj) == 1
Ejemplo n.º 14
0
def test_schedule_job_with_job_of_same_type_running(freezer):
    scheduler.schedule_job("good_job", {"k": "v"}, "channel", TS, 0)
    freezer.move_to(T(5))
    scheduler.reserve_job()

    scheduler.schedule_job("good_job", {"k": "w"}, "channel1", TS, 5)

    jj = scheduler.get_jobs_of_type("good_job")
    assert len(jj) == 2
    assert_job_matches(jj[0], "good_job", {"k": "v"}, "channel", T(0), T(5))
    assert_job_matches(jj[1], "good_job", {"k": "w"}, "channel1", T(10), None)
Ejemplo n.º 15
0
def test_schedule_job_with_job_of_same_type_running_and_another_scheduled(freezer):
    scheduler.schedule_job("good_job", {"k": "v"}, "channel")
    freezer.move_to(T(5))
    scheduler.reserve_job()
    scheduler.schedule_job("good_job", {"k": "w"}, "channel1", 5)

    scheduler.schedule_job("good_job", ["args2"], "channel2", 15)

    jj = scheduler.get_jobs_of_type("good_job")
    assert len(jj) == 2
    assert_job_matches(jj[0], "good_job", {"k": "v"}, "channel", T(0), T(5))
    assert_job_matches(jj[1], "good_job", ["args2"], "channel2", T(20), None)
Ejemplo n.º 16
0
def test_on_closed_merged_pr(web_client):
    headers = {
        "X-Hub-Signature": "sha1=3e09e676b4a62b634401b44b4c4ff1f58404e746"
    }

    with patch("ebmbot.webserver.github.config", new=dummy_config):
        rsp = web_client.post("/github/test/",
                              data=PAYLOAD_PR_CLOSED,
                              headers=headers)

    assert rsp.status_code == 200
    jj = scheduler.get_jobs_of_type("test_deploy")
    assert len(jj) == 1
    assert_job_matches(jj[0], "test_deploy", {}, "#general", T(60), None)
Ejemplo n.º 17
0
def test_url_formatting_removed():
    handle_message("test do url <http://www.foo.com>")
    jj = scheduler.get_jobs_of_type("test_job_with_url")
    assert len(jj) == 1
    assert_job_matches(jj[0], "test_job_with_url",
                       {"url": "http://www.foo.com"}, "channel", T(0), None)
Ejemplo n.º 18
0
def test_cancel_job():
    handle_message("test do job 10")
    assert scheduler.get_jobs_of_type("test_good_job")

    handle_message("test cancel job")
    assert not scheduler.get_jobs_of_type("test_good_job")