Skip to content

Commit

Permalink
Throw specific exceptions
Browse files Browse the repository at this point in the history
  • Loading branch information
pascalberger committed Jan 22, 2023
1 parent 026dab0 commit 8aca9ad
Show file tree
Hide file tree
Showing 11 changed files with 23 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,7 @@ public void Should_Throw_If_AzureDevOps_Pull_Request_State_Is_Invalid()
// Then
result.ShouldNotBe(null);
result.IsExpected("SetStatus");
result.Message.ShouldBe("Unknown value");
result.Message.ShouldBe("The value of argument 'state' (123) is invalid for Enum type 'AzureDevOpsPullRequestStatusState'. (Parameter 'state')");
}

[Fact]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public static AzureDevOpsArtifactResource ToAzureDevOpsArtifactResource(this Art

if (!Enum.TryParse(artifactResource.Type, out AzurePipelinesArtifactType type))
{
throw new Exception($"Unexpected value for artifact type '{artifactResource.Type}'");
throw new InvalidOperationException($"Unexpected value for artifact type '{artifactResource.Type}'");
}

return
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;

/// <summary>
Expand All @@ -22,7 +23,7 @@ public static BuildQueryOrder ToBuildQueryOrder(this AzureDevOpsBuildQueryOrder
AzureDevOpsBuildQueryOrder.QueueTimeAscending => BuildQueryOrder.QueueTimeAscending,
AzureDevOpsBuildQueryOrder.StartTimeDescending => BuildQueryOrder.StartTimeDescending,
AzureDevOpsBuildQueryOrder.StartTimeAscending => BuildQueryOrder.StartTimeAscending,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(queryOrder), (int)queryOrder, typeof(AzureDevOpsBuildQueryOrder)),
};
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;

/// <summary>
Expand All @@ -21,7 +22,7 @@ public static BuildResult ToBuildResult(this AzureDevOpsBuildResult result)
AzureDevOpsBuildResult.PartiallySucceeded => BuildResult.PartiallySucceeded,
AzureDevOpsBuildResult.Failed => BuildResult.Failed,
AzureDevOpsBuildResult.Canceled => BuildResult.Canceled,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(result), (int)result, typeof(AzureDevOpsBuildResult)),
};
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;
using Microsoft.VisualStudio.Services.TestManagement.TestPlanning.WebApi;

/// <summary>
/// Extensions for the <see cref="AzureDevOpsBuildStatus"/> class.
Expand All @@ -23,7 +25,7 @@ public static BuildStatus ToBuildStatus(this AzureDevOpsBuildStatus status)
AzureDevOpsBuildStatus.Postponed => BuildStatus.Postponed,
AzureDevOpsBuildStatus.NotStarted => BuildStatus.NotStarted,
AzureDevOpsBuildStatus.All => BuildStatus.All,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(status), (int)status, typeof(AzureDevOpsBuildStatus)),
};
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/Cake.AzureDevOps/Pipelines/BuildResultExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;

/// <summary>
Expand All @@ -21,7 +22,7 @@ public static AzureDevOpsBuildResult ToAzureDevOpsBuildResult(this BuildResult r
BuildResult.PartiallySucceeded => AzureDevOpsBuildResult.PartiallySucceeded,
BuildResult.Failed => AzureDevOpsBuildResult.Failed,
BuildResult.Canceled => AzureDevOpsBuildResult.Canceled,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(result), (int)result, typeof(BuildResult)),
};
}
}
Expand Down
4 changes: 3 additions & 1 deletion src/Cake.AzureDevOps/Pipelines/BuildStatusExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;
using Microsoft.VisualStudio.Services.TestManagement.TestPlanning.WebApi;

/// <summary>
/// Extensions for the <see cref="BuildStatus"/> class.
Expand All @@ -23,7 +25,7 @@ public static AzureDevOpsBuildStatus ToAzureDevOpsBuildStatus(this BuildStatus s
BuildStatus.Postponed => AzureDevOpsBuildStatus.Postponed,
BuildStatus.NotStarted => AzureDevOpsBuildStatus.NotStarted,
BuildStatus.All => AzureDevOpsBuildStatus.All,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(status), (int)status, typeof(BuildStatus)),
};
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;

/// <summary>
Expand All @@ -19,7 +20,7 @@ public static AzureDevOpsDefinitionQueueStatus ToAzureDevOpsDefinitionQueueStatu
DefinitionQueueStatus.Enabled => AzureDevOpsDefinitionQueueStatus.Enabled,
DefinitionQueueStatus.Paused => AzureDevOpsDefinitionQueueStatus.Paused,
DefinitionQueueStatus.Disabled => AzureDevOpsDefinitionQueueStatus.Disabled,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(status), (int)status, typeof(DefinitionQueueStatus)),
};
}
}
Expand Down
3 changes: 2 additions & 1 deletion src/Cake.AzureDevOps/Pipelines/TaskResultExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;

/// <summary>
Expand All @@ -22,7 +23,7 @@ public static AzureDevOpsTaskResult ToAzureDevOpsTaskResult(this TaskResult resu
TaskResult.Canceled => AzureDevOpsTaskResult.Canceled,
TaskResult.Skipped => AzureDevOpsTaskResult.Skipped,
TaskResult.Abandoned => AzureDevOpsTaskResult.Abandoned,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(result), (int)result, typeof(TaskResult)),
};
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
namespace Cake.AzureDevOps.Pipelines
{
using System.ComponentModel;
using Microsoft.TeamFoundation.Build.WebApi;
using Microsoft.VisualStudio.Services.TestManagement.TestPlanning.WebApi;

/// <summary>
/// Extensions for the <see cref="TimelineRecordState"/> class.
Expand All @@ -19,7 +21,7 @@ public static AzureDevOpsTimelineRecordState ToAzureDevOpsTimelineRecordState(th
TimelineRecordState.Pending => AzureDevOpsTimelineRecordState.Pending,
TimelineRecordState.InProgress => AzureDevOpsTimelineRecordState.InProgress,
TimelineRecordState.Completed => AzureDevOpsTimelineRecordState.Completed,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(state), (int)state, typeof(TimelineRecordState)),
};
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace Cake.AzureDevOps.Repos.PullRequest
{
using System.ComponentModel;
using Microsoft.TeamFoundation.SourceControl.WebApi;

/// <summary>
Expand All @@ -21,7 +22,7 @@ public static GitStatusState ToGitStatusState(this AzureDevOpsPullRequestStatusS
AzureDevOpsPullRequestStatusState.Succeeded => GitStatusState.Succeeded,
AzureDevOpsPullRequestStatusState.Failed => GitStatusState.Failed,
AzureDevOpsPullRequestStatusState.Error => GitStatusState.Error,
_ => throw new System.Exception("Unknown value"),
_ => throw new InvalidEnumArgumentException(nameof(state), (int)state, typeof(AzureDevOpsPullRequestStatusState)),
};
}
}
Expand Down

0 comments on commit 8aca9ad

Please sign in to comment.