def test_previous_build_not_found(self): self.setupStep(artifact.FindPreviousSuccessfulBuild()) self.expectOutcome( result=SUCCESS, status_text=[ 'Running build (previous sucessful build not found).' ]) return self.runStep()
def test_force_rebuild(self): self.setupStep(artifact.FindPreviousSuccessfulBuild(), sourcestampsInBuild = [FakeSourceStamp(codebase='c', repository='https://url/project', branch='master', revision=12, sourcestampsetid=2)], force_rebuild=True) self.expectOutcome(result=SKIPPED, status_text=['Skipping previous build check (forcing a rebuild).']) return self.runStep()
def test_previous_build_exists_when_merge_function_is_false_then_previous_success_build_is_not_found(self): self.setupStep(artifact.FindPreviousSuccessfulBuild(), sourcestampsInBuild = [FakeSourceStamp(codebase='c', repository='https://url/project', branch='master', revision=12, sourcestampsetid=2)], configuredMergeFnResponse=False) self.expectOutcome(result=SKIPPED, status_text=['Skipping previous build check (configured to unmergeable).']) return self.runStep()
def test_previous_build_valid_ResumeSlavepoolParmeter(self): self.setupStep( artifact.FindPreviousSuccessfulBuild( resumeSlavepool='startSlavenames')) self.expectOutcome( result=SUCCESS, status_text=[ 'Running build (previous sucessful build not found).' ]) return self.runStep()
def test_previous_build_found(self): self.setupStep(artifact.FindPreviousSuccessfulBuild(), sourcestampsInBuild = [FakeSourceStamp(codebase='c', repository='https://url/project', branch='master', revision=12, sourcestampsetid=2)]) self.expectOutcome(result=SUCCESS, status_text=['Found previous successful build.']) self.expectURLS({'A #1': 'baseurl/builders/A/builds/1?c_branch=master'}) return self.runStep()
def test_previous_build_exists_when_merge_function_returns_false_then_previous_success_build_is_not_found(self): def cannotMerge(builder, req1, req2): return False self.setupStep(artifact.FindPreviousSuccessfulBuild(), sourcestampsInBuild = [FakeSourceStamp(codebase='c', repository='https://url/project', branch='master', revision=12, sourcestampsetid=2)], configuredMergeFnResponse=cannotMerge) self.expectOutcome(result=SUCCESS, status_text=['Running build (previous sucessful build not found).']) return self.runStep()
def test_previous_build_exists_when_is_mergin_with_previous_is_true_then_then_previous_success_build_is_found(self): def isMergingWithPrevious(builder, req1, req2): return req1.isMergingWithPrevious and req2.isMergingWithPrevious self.setupStep(artifact.FindPreviousSuccessfulBuild(), sourcestampsInBuild = [FakeSourceStamp(codebase='c', repository='https://url/project', branch='master', revision=12, sourcestampsetid=2)], configuredMergeFnResponse=isMergingWithPrevious) self.expectOutcome(result=SUCCESS, status_text=['Found previous successful build.']) self.expectURLS({'A #1': 'baseurl/builders/A/builds/1?c_branch=master'}) return self.runStep()
def test_previous_build_not_invalid_ResumeSlavepoolParmeter(self): self.assertRaisesConfigError("resumeSlavepool='zzstartSlavenames', " "this parameter must be equals to 'startSlavenames' or 'slavenames'", lambda: artifact.FindPreviousSuccessfulBuild(resumeSlavepool="zzstartSlavenames"))