Это похоже на несколько существующих сообщений об исключении авторизации горячего шоколада в интеграционных тестах.< /p>
Основное отличие состоит в том, что класс QueryRequestBuilder больше не доступен в последних библиотеках горячего шоколада, поэтому вместо него используется OperationRequestBuilder.
Код: Выделить всё
var schema = await services
.AddGraphQLServer()
.ModifyRequestOptions(opt => opt.IncludeExceptionDetails = true)
.ModifyCostOptions(x => x.EnforceCostLimits = false)
.AddAuthorization()
.AddQueryType(q => q.Name("Query"))
.AddType()
.AddFiltering()
.BuildSchemaAsync();
var executor = schema.MakeExecutable();
var query = @"{}";
var request = OperationRequestBuilder.New()
.SetDocument(query)
.SetServices(services.BuildServiceProvider())
.AddGlobalState(nameof(ClaimsPrincipal), CreatePrincipal()).Build();
var result = await executor.ExecuteAsync(request);
result.MatchSnapshot();
private static ClaimsPrincipal CreatePrincipal()
{
var claimsPrincipal = new ClaimsPrincipal();
var claimIdentity = new ClaimsIdentity(new[] { new Claim("appid", "appid") });
claimsPrincipal.AddIdentity(claimIdentity);
return claimsPrincipal;
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... unit-tests
Мобильная версия