サイトの管理セクションにコントローラーがあり、役割が管理者に設定された承認フィルターで装飾されています。
[Authorize(Roles = "Admin")]
public class SubscriberController : Controller
これはうまく機能しますが、フィルターが削除されていないことを確認するための単体テストを作成したいと思います。これまでのところ、Authorizeフィルターが存在することを検証するために持っています。
typeof(SubscriberController).Should()
.BeDecoratedWith<AuthorizeAttribute>(
"Subscriber controller users must be admins");
Roles引数を検証するにはどうすればよいですか?FluentAssertion1.7.1.1を使用しています。
FluentAssertionv2で可能になりました。
typeof(SubscriberController).Should()
.BeDecoratedWith<AuthorizeAttribute>(a => a.Roles.Contains("Admin"),
"Subscriber controller users must be admins");