Edit
So far, I have put the custom reason phrases in a constant
public sealed class AuthError
{
public const string ApiKeyMissing = "ApiKey is required";
...
}
And my tests look like this
[TestMethod]
public void SecurityHandler_ApiKeyMissingFromHeader_ReturnsUnauthorizedHttpStatus()
{
var handler = new SecurityHandler(new Mock<IClientRepository>().Object, new Mock<ISignatureCalculator>().Object);
var httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://localhost");
var client = new HttpClient(handler);
var result = client.SendAsync(httpRequestMessage).Result;
Assert.AreEqual(result.StatusCode, HttpStatusCode.Unauthorized);
Assert.AreEqual(result.ReasonPhrase, SecurityHandler.AuthError.ApiKeyMissing);
}
What would you do ?