Skip to content

Commit 6f613bc

Browse files
authored
Throw specific exceptions (#388)
1 parent 9a24b08 commit 6f613bc

11 files changed

+23
-11
lines changed

src/Cake.AzureDevOps.Tests/Repos/PullRequest/AzureDevOpsPullRequestTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ public void Should_Throw_If_AzureDevOps_Pull_Request_State_Is_Invalid()
571571
// Then
572572
result.ShouldNotBe(null);
573573
result.IsExpected("SetStatus");
574-
result.Message.ShouldBe("Unknown value");
574+
result.Message.ShouldBe("The value of argument 'state' (123) is invalid for Enum type 'AzureDevOpsPullRequestStatusState'. (Parameter 'state')");
575575
}
576576

577577
[Fact]

src/Cake.AzureDevOps/Pipelines/ArtifactResourceExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static AzureDevOpsArtifactResource ToAzureDevOpsArtifactResource(this Art
2020

2121
if (!Enum.TryParse(artifactResource.Type, out AzurePipelinesArtifactType type))
2222
{
23-
throw new Exception($"Unexpected value for artifact type '{artifactResource.Type}'");
23+
throw new InvalidOperationException($"Unexpected value for artifact type '{artifactResource.Type}'");
2424
}
2525

2626
return

src/Cake.AzureDevOps/Pipelines/AzureDevOpsBuildQueryOrderExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
45

56
/// <summary>
@@ -22,7 +23,7 @@ public static BuildQueryOrder ToBuildQueryOrder(this AzureDevOpsBuildQueryOrder
2223
AzureDevOpsBuildQueryOrder.QueueTimeAscending => BuildQueryOrder.QueueTimeAscending,
2324
AzureDevOpsBuildQueryOrder.StartTimeDescending => BuildQueryOrder.StartTimeDescending,
2425
AzureDevOpsBuildQueryOrder.StartTimeAscending => BuildQueryOrder.StartTimeAscending,
25-
_ => throw new System.Exception("Unknown value"),
26+
_ => throw new InvalidEnumArgumentException(nameof(queryOrder), (int)queryOrder, typeof(AzureDevOpsBuildQueryOrder)),
2627
};
2728
}
2829
}

src/Cake.AzureDevOps/Pipelines/AzureDevOpsBuildResultExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
45

56
/// <summary>
@@ -21,7 +22,7 @@ public static BuildResult ToBuildResult(this AzureDevOpsBuildResult result)
2122
AzureDevOpsBuildResult.PartiallySucceeded => BuildResult.PartiallySucceeded,
2223
AzureDevOpsBuildResult.Failed => BuildResult.Failed,
2324
AzureDevOpsBuildResult.Canceled => BuildResult.Canceled,
24-
_ => throw new System.Exception("Unknown value"),
25+
_ => throw new InvalidEnumArgumentException(nameof(result), (int)result, typeof(AzureDevOpsBuildResult)),
2526
};
2627
}
2728
}

src/Cake.AzureDevOps/Pipelines/AzureDevOpsBuildStatusExtensions.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
5+
using Microsoft.VisualStudio.Services.TestManagement.TestPlanning.WebApi;
46

57
/// <summary>
68
/// Extensions for the <see cref="AzureDevOpsBuildStatus"/> class.
@@ -23,7 +25,7 @@ public static BuildStatus ToBuildStatus(this AzureDevOpsBuildStatus status)
2325
AzureDevOpsBuildStatus.Postponed => BuildStatus.Postponed,
2426
AzureDevOpsBuildStatus.NotStarted => BuildStatus.NotStarted,
2527
AzureDevOpsBuildStatus.All => BuildStatus.All,
26-
_ => throw new System.Exception("Unknown value"),
28+
_ => throw new InvalidEnumArgumentException(nameof(status), (int)status, typeof(AzureDevOpsBuildStatus)),
2729
};
2830
}
2931
}

src/Cake.AzureDevOps/Pipelines/BuildResultExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
45

56
/// <summary>
@@ -21,7 +22,7 @@ public static AzureDevOpsBuildResult ToAzureDevOpsBuildResult(this BuildResult r
2122
BuildResult.PartiallySucceeded => AzureDevOpsBuildResult.PartiallySucceeded,
2223
BuildResult.Failed => AzureDevOpsBuildResult.Failed,
2324
BuildResult.Canceled => AzureDevOpsBuildResult.Canceled,
24-
_ => throw new System.Exception("Unknown value"),
25+
_ => throw new InvalidEnumArgumentException(nameof(result), (int)result, typeof(BuildResult)),
2526
};
2627
}
2728
}

src/Cake.AzureDevOps/Pipelines/BuildStatusExtensions.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
5+
using Microsoft.VisualStudio.Services.TestManagement.TestPlanning.WebApi;
46

57
/// <summary>
68
/// Extensions for the <see cref="BuildStatus"/> class.
@@ -23,7 +25,7 @@ public static AzureDevOpsBuildStatus ToAzureDevOpsBuildStatus(this BuildStatus s
2325
BuildStatus.Postponed => AzureDevOpsBuildStatus.Postponed,
2426
BuildStatus.NotStarted => AzureDevOpsBuildStatus.NotStarted,
2527
BuildStatus.All => AzureDevOpsBuildStatus.All,
26-
_ => throw new System.Exception("Unknown value"),
28+
_ => throw new InvalidEnumArgumentException(nameof(status), (int)status, typeof(BuildStatus)),
2729
};
2830
}
2931
}

src/Cake.AzureDevOps/Pipelines/DefinitionQueueStatusExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
45

56
/// <summary>
@@ -19,7 +20,7 @@ public static AzureDevOpsDefinitionQueueStatus ToAzureDevOpsDefinitionQueueStatu
1920
DefinitionQueueStatus.Enabled => AzureDevOpsDefinitionQueueStatus.Enabled,
2021
DefinitionQueueStatus.Paused => AzureDevOpsDefinitionQueueStatus.Paused,
2122
DefinitionQueueStatus.Disabled => AzureDevOpsDefinitionQueueStatus.Disabled,
22-
_ => throw new System.Exception("Unknown value"),
23+
_ => throw new InvalidEnumArgumentException(nameof(status), (int)status, typeof(DefinitionQueueStatus)),
2324
};
2425
}
2526
}

src/Cake.AzureDevOps/Pipelines/TaskResultExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
45

56
/// <summary>
@@ -22,7 +23,7 @@ public static AzureDevOpsTaskResult ToAzureDevOpsTaskResult(this TaskResult resu
2223
TaskResult.Canceled => AzureDevOpsTaskResult.Canceled,
2324
TaskResult.Skipped => AzureDevOpsTaskResult.Skipped,
2425
TaskResult.Abandoned => AzureDevOpsTaskResult.Abandoned,
25-
_ => throw new System.Exception("Unknown value"),
26+
_ => throw new InvalidEnumArgumentException(nameof(result), (int)result, typeof(TaskResult)),
2627
};
2728
}
2829
}

src/Cake.AzureDevOps/Pipelines/TimelineRecordStateExtensions.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace Cake.AzureDevOps.Pipelines
22
{
3+
using System.ComponentModel;
34
using Microsoft.TeamFoundation.Build.WebApi;
5+
using Microsoft.VisualStudio.Services.TestManagement.TestPlanning.WebApi;
46

57
/// <summary>
68
/// Extensions for the <see cref="TimelineRecordState"/> class.
@@ -19,7 +21,7 @@ public static AzureDevOpsTimelineRecordState ToAzureDevOpsTimelineRecordState(th
1921
TimelineRecordState.Pending => AzureDevOpsTimelineRecordState.Pending,
2022
TimelineRecordState.InProgress => AzureDevOpsTimelineRecordState.InProgress,
2123
TimelineRecordState.Completed => AzureDevOpsTimelineRecordState.Completed,
22-
_ => throw new System.Exception("Unknown value"),
24+
_ => throw new InvalidEnumArgumentException(nameof(state), (int)state, typeof(TimelineRecordState)),
2325
};
2426
}
2527
}

0 commit comments

Comments
 (0)