예제 #1
0
def test_choose_runs_to_deploy():
    deploy_delay = timedelta(minutes=1)
    deployer = Deployer(duration=deploy_delay, deploy_policy=DeployPolicy.EveryPassing)
    runs = [StubPipelineRun(now, now, [StageRun(StageStatus.ok, end_time=now)])]
    deployer.add_deployments(runs)

    assert runs[0].deploy_time == now + deploy_delay
예제 #2
0
def test_choose_runs_to_deploy_once_a_week():
    deploy_delay = timedelta(hours=1)
    ten = timedelta(minutes=10)
    deployer = Deployer(duration=deploy_delay, deploy_policy=DeployPolicy.OnceAWeek, deploy_hour=9, deploy_day=6)
    runs = [StubPipelineRun(now, now, [StageRun(StageStatus.ok, end_time=now)]),
            StubPipelineRun(now + ten, now + ten, [StageRun(StageStatus.ok, end_time=(now + ten))])]
    deployer.add_deployments(runs)

    assert runs[0].deploy_time == ""
    # deploy on Saturday
    assert runs[1].deploy_time == datetime(year=2018, month=6, day=2, hour=9) + deploy_delay
예제 #3
0
def test_choose_runs_to_deploy_same_day():
    now = datetime(year=2018,month=6,day=1,hour=15)
    deploy_delay = timedelta(hours=1)
    ten = timedelta(minutes=10)
    deployer = Deployer(duration=deploy_delay, deploy_policy=DeployPolicy.OnceADay, deploy_hour=17)
    runs = [StubPipelineRun(now, now, [StageRun(StageStatus.ok, end_time=now)]),
            StubPipelineRun(now + ten, now + ten, [StageRun(StageStatus.ok, end_time=(now + ten))])]
    deployer.add_deployments(runs)

    assert runs[0].deploy_time == ""
    # deploy same day since deploy time is after run is ready
    assert runs[1].deploy_time == datetime(year=2018, month=6, day=1, hour=17) + deploy_delay