public void GivenNullUrlInCiEntryPointSetting_WhenGettingBuildStatus_ThenSosException() { // arrange var ciEntryPointSetting = new CiEntryPointSetting(); var tfsRestWatcher = new MyTfsRestWatcher(null, new BuildDefinitionSetting[] { }, ciEntryPointSetting); // act Assert.Throws <SosException>(() => tfsRestWatcher.MyGetBuildStatus(), "TFS URL is null or empty") ; }
public void GivenHttpRequestException_WhenGettingBuildStatus_ThenServerUnavailableException() { // arrange var buildDefinitionSettings = new[] { new BuildDefinitionSetting() }; var tfsRestService = new Mock <TfsRestService>(); var ciEntryPointSetting = new CiEntryPointSetting { Url = "url" }; tfsRestService.Setup(i => i.GetBuildsStatuses(ciEntryPointSetting, buildDefinitionSettings)) .ThrowsAsync(new System.Net.Http.HttpRequestException("Unable to connect to the remote server")); var tfsRestWatcher = new MyTfsRestWatcher(tfsRestService.Object, buildDefinitionSettings, ciEntryPointSetting); // assert & act Assert.Throws <ServerUnavailableException>(() => tfsRestWatcher.MyGetBuildStatus() ); }
public void GivenWebExceptionRemoteNameCouldNotBeResolved_WhenGettingBuildStatus_ThenServerUnavailableException() { // arrange var buildDefinitionSettings = new[] { new BuildDefinitionSetting() }; var tfsRestService = new Mock <TfsRestService>(); var ciEntryPointSetting = new CiEntryPointSetting { Url = "url" }; tfsRestService.Setup(i => i.GetBuildsStatuses(ciEntryPointSetting, buildDefinitionSettings)) .ThrowsAsync(new WebException("The remote name could not be resolved:")); var tfsRestWatcher = new MyTfsRestWatcher(tfsRestService.Object, buildDefinitionSettings, ciEntryPointSetting); // assert & act Assert.Throws <ServerUnavailableException>(() => tfsRestWatcher.MyGetBuildStatus() ); }
public void GivenHttpRequestExceptionWith401InMessage_WhenGettingBuildStatus_ThenInvalidCredentialsException() { // arrange var buildDefinitionSettings = new[] { new BuildDefinitionSetting() }; var tfsRestService = new Mock <TfsRestService>(); var ciEntryPointSetting = new CiEntryPointSetting { Url = "url" }; tfsRestService.Setup(i => i.GetBuildsStatuses(ciEntryPointSetting, buildDefinitionSettings)) .ThrowsAsync(new System.Net.Http.HttpRequestException("Response status code does not indicate success: 401 (Unauthorized).")); var tfsRestWatcher = new MyTfsRestWatcher(tfsRestService.Object, buildDefinitionSettings, ciEntryPointSetting); // assert & act Assert.Throws <InvalidCredentialsException>(() => tfsRestWatcher.MyGetBuildStatus() ); }
public void GivenTaskCanceledExceptionAkaTimeout_WhenGettingBuildStatus_ThenServerUnavailableException() { // arrange var buildDefinitionSettings = new[] { new BuildDefinitionSetting() }; var tfsRestService = new Mock <TfsRestService>(); var ciEntryPointSetting = new CiEntryPointSetting { Url = "url" }; tfsRestService.Setup(i => i.GetBuildsStatuses(ciEntryPointSetting, buildDefinitionSettings)) .ThrowsAsync(new TaskCanceledException()); var tfsRestWatcher = new MyTfsRestWatcher(tfsRestService.Object, buildDefinitionSettings, ciEntryPointSetting); // assert & act Assert.Throws <ServerUnavailableException>(() => tfsRestWatcher.MyGetBuildStatus() ); }