Fix for #564 - make sure parallel corpora exist before updating #1382
Annotations
4 errors and 1 warning
Serval.ApiServer.DataFilesTests ► UpdateAsync(["update:files", "read:files"],200,"000000000000000000000001"):
src/Serval/test/Serval.ApiServer.IntegrationTests/DataFilesTests.cs#L246
Failed test found in:
src/Serval/test/Serval.ApiServer.IntegrationTests/TestResults/test-results.trx
Error:
Assert.That(code, new ThrowsNothingConstraint())
Expected: No Exception to be thrown
But was: <System.ArgumentNullException: Value cannot be null. (Parameter 'expression')
at MongoDB.Driver.Core.Misc.Ensure.IsNotNull[T](T value, String paramName)
at MongoDB.Driver.ExpressionFieldDefinition`1..ctor(LambdaExpression expression)
at MongoDB.Driver.FilterDefinitionBuilder`1.Exists(Expression`1 field, Boolean exists)
at SIL.DataAccess.MongoUpdateBuilder`1.SetAll[TItem,TField](Expression`1 collectionField, Expression`1 itemField, TField value, Expression`1 predicate, Expression`1 setIfFieldExists) in /home/runner/work/serval/serval/src/DataAccess/src/SIL.DataAccess/MongoUpdateBuilder.cs:line 80
at Serval.Translation.Services.EngineService.<>c__DisplayClass28_0.<UpdateDataFileFilenameFilesAsync>b__1(IUpdateBuilder`1 u) in /home/runner/work/serval/serval/src/Serval/src/Serval.Translation/Services/EngineService.cs:line 603
at SIL.DataAccess.MongoRepository`1.UpdateAllAsync(Expression`1 filter, Action`1 update, CancellationToken cancellationToken) in /home/runner/work/serval/serval/src/DataAccess/src/SIL.DataAccess/MongoRepository.cs:line 167
at Serval.Translation.Consumers.DataFileUpdatedConsumer.Consume(ConsumeContext`1 context) in /home/runner/work/serval/serval/src/Serval/src/Serval.Translation/Consumers/DataFileUpdatedConsumer.cs:line 9
at MassTransit.DependencyInjection.ScopeConsumerFactory`1.Send[TMessage](ConsumeContext`1 context, IPipe`1 next) in /_/src/MassTransit/DependencyInjection/DependencyInjection/ScopeConsumerFactory.cs:line 22
at MassTransit.DependencyInjection.ScopeConsumerFactory`1.Send[TMessage](ConsumeContext`1 context, IPipe`1 next) in /_/src/MassTransit/DependencyInjection/DependencyInjection/ScopeConsumerFactory.cs:line 22
at MassTransit.Middleware.ConsumerMessageFilter`2.MassTransit.IFilter<MassTransit.ConsumeContext<TMessage>>.Send(ConsumeContext`1 context, IPipe`1 next) in /_/src/MassTransit/Middleware/ConsumerMessageFilter.cs:line 48
at MassTransit.Middleware.ConsumerMessageFilter`2.MassTransit.IFilter<MassTransit.ConsumeContext<TMessage>>.Send(ConsumeContext`1 context, IPipe`1 next) in /_/src/MassTransit/Middleware/ConsumerMessageFilter.cs:line 73
at MassTransit.Middleware.TeeFilter`1.<>c__DisplayClass5_0.<<Send>g__SendAsync|1>d.MoveNext() in /_/src/MassTransit/Middleware/TeeFilter.cs:line 40
--- End of stack trace from previous location ---
at MassTransit.Middleware.ConsumeContextOutputMessageTypeFilter`1.SendToOutput(IPipe`1 next, ConsumeContext`1 pipeContext) in /_/src/MassTransit/Middleware/ConsumeContextOutputMessageTypeFilter.cs:line 76
at MassTransit.Middleware.ConsumeContextOutputMessageTypeFilter`1.SendToOutput(IPipe`1 next, ConsumeContext`1 pipeContext) in /_/src/MassTransit/Middleware/ConsumeContextOutputMessageTypeFilter.cs:line 108
at MassTransit.Middleware.ConsumeContextMessageTypeFilter.<>c__DisplayClass8_0.<<Send>g__SendAsync|0>d.MoveNext() in /_/src/MassTransit/Middleware/MessageTypeFilter.cs:line 76
--- End of stack trace from previous location ---
at MassTransit.Middleware.DeserializeFilter.Send(ReceiveContext context, IPipe`1 next) in /_/src/MassTransit/Middleware/DeserializeFilter.cs:line 40
at MassTransit.Middleware.RescueFilter`2.MassTransit.IFilter<TContext>.Send(TContext context, IPipe`1 next) in /_/src/MassTransit/Middleware/RescueFilter.cs:line 43
at MassTransit.Internals.ExceptionExtensions.Rethrow(Exception exception) in /_/src/MassTransit.Abstractions/Internals/Extensions/ExceptionExtensions.cs:line 15
at MassTransit.Middleware.RethrowErrorTransportFilter.Send(ExceptionReceiveContext context, IPipe`1 next) in /_/src/MassTransit/Middleware/RethrowErrorTransportFilter.cs:line 14
at MassTransit.Middleware.RescueFilter`2.MassTransit.IFilter<TContext>.Send(TContext context, IPipe`1 next) in /_/src/MassTransit/Middleware/RescueFilter.cs:line 61
at MassTransit.Middleware.DeadLetterFilter.MassTransit.IFilter<MassTransit.ReceiveContext>.Send(ReceiveContext context, IPipe`1 next) in /_/src/MassTransit/Middleware/DeadLetterFilter.cs:line 32
at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock) in /_/src/MassTransit/Transports/ReceivePipeDispatcher.cs:line 65
at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock) in /_/src/MassTransit/Transports/ReceivePipeDispatcher.cs:line 108
at MassTransit.Transports.ReceivePipeDispatcher.Dispatch(ReceiveContext context, ReceiveLockContext receiveLock) in /_/src/MassTransit/Transports/ReceivePipeDispatcher.cs:line 115
at MassTransit.Mediator.Contexts.MediatorSendEndpoint.SendMessage[T](T message, IPipe`1 pipe, CancellationToken cancellationToken) in /_/src/MassTransit/Mediator/Contexts/MediatorSendEndpoint.cs:line 222
at MassTransit.Mediator.Contexts.MediatorSendEndpoint.SendMessage[T](T message, IPipe`1 pipe, CancellationToken cancellationToken) in /_/src/MassTransit/Mediator/Contexts/MediatorSendEndpoint.cs:line 232
at Serval.DataFiles.Services.DataFileService.<>c__DisplayClass9_0.<<UpdateAsync>b__0>d.MoveNext() in /home/runner/work/serval/serval/src/Serval/src/Serval.DataFiles/Services/DataFileService.cs:line 92
--- End of stack trace from previous location ---
at SIL.DataAccess.MongoDataAccessContext.<>c__DisplayClass9_0.<<WithTransactionAsync>b__0>d.MoveNext() in /home/runner/work/serval/serval/src/DataAccess/src/SIL.DataAccess/MongoDataAccessContext.cs:line 33
--- End of stack trace from previous location ---
at SIL.DataAccess.MongoDataAccessContext.<>c__DisplayClass8_0`1.<<WithTransactionAsync>b__0>d.MoveNext() in /home/runner/work/serval/serval/src/DataAccess/src/SIL.DataAccess/MongoDataAccessContext.cs:line 19
--- End of stack trace from previous location ---
at MongoDB.Driver.TransactionExecutor.ExecuteCallbackAsync[TResult](IClientSessionHandle clientSession, Func`3 callbackAsync, DateTime startTime, IClock clock, CancellationToken cancellationToken)
at MongoDB.Driver.TransactionExecutor.ExecuteCallbackAsync[TResult](IClientSessionHandle clientSession, Func`3 callbackAsync, DateTime startTime, IClock clock, CancellationToken cancellationToken)
at MongoDB.Driver.TransactionExecutor.ExecuteWithRetriesAsync[TResult](IClientSessionHandle clientSession, Func`3 callbackAsync, TransactionOptions transactionOptions, IClock clock, CancellationToken cancellationToken)
at SIL.DataAccess.MongoDataAccessContext.WithTransactionAsync[TResult](Func`2 callbackAsync, CancellationToken cancellationToken) in /home/runner/work/serval/serval/src/DataAccess/src/SIL.DataAccess/MongoDataAccessContext.cs:line 17
at Serval.DataFiles.Services.DataFileService.UpdateAsync(String id, Stream stream, CancellationToken cancellationToken) in /home/runner/work/serval/serval/src/Serval/src/Serval.DataFiles/Services/DataFileService.cs:line 72
at Serval.DataFiles.Controllers.DataFilesController.UpdateAsync(String id, IFormFile file, CancellationToken cancellationToken) in /home/runner/work/serval/serval/src/Serval/src/Serval.DataFiles/Controllers/DataFilesController.cs:line 187
at lambda_method511(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ExceptionContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Http.Timeouts.RequestTimeoutsMiddleware.<>c__DisplayClass5_0.<<Invoke>g__SetTimeoutAsync|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at SIL.ServiceToolkit.Services.BugsnagMiddleware.Invoke(HttpContext context, IClient client) in /home/runner/work/serval/serval/src/ServiceToolkit/src/SIL.ServiceToolkit/Services/BugsnagMiddleware.cs:line 35
at Microsoft.AspNetCore.TestHost.HttpContextBuilder.<>c__DisplayClass23_0.<<SendAsync>g__RunRequestAsync|0>d.MoveNext()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.TestHost.ClientHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Mvc.Testing.Handlers.CookieContainerHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Mvc.Testing.Handlers.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Net.Http.HttpClient.<SendAsync>g__Core|83_0(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationTokenSource cts, Boolean disposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)
at Serval.Client.DataFilesClient.UpdateAsync(String id, FileParameter file, CancellationToken cancellationToken) in /home/runner/work/serval/serval/src/Serval/src/Serval.Client/Client.g.cs:line 1733
at Serval.ApiServer.DataFilesTests.<>c__DisplayClass13_0.<<UpdateAsync>b__0>d.MoveNext() in /home/runner/work/serval/serval/src/Serval/test/Serval.ApiServer.IntegrationTests/DataFilesTests.cs:line 248
--- End of stack trace from previous location ---
at NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
at NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
at NUnit.Framework.Internal.AsyncToSyncAdapter.Await[TResult](Func`1 invoke)
at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
at NUnit.Framework.Internal.ExceptionHelper.RecordException(Delegate parameterlessDelegate, String parameterName)>
|
Serval.ApiServer.TranslationEngineTests ► DataFileUpdate_Propagated:
src/DataAccess/src/SIL.DataAccess/MongoUpdateBuilder.cs#L80
Failed test found in:
src/Serval/test/Serval.ApiServer.IntegrationTests/TestResults/test-results.trx
Error:
System.ArgumentNullException : Value cannot be null. (Parameter 'expression')
|
Build
Failed test were found and 'fail-on-error' option is set to true
|
Build
Process completed with exit code 1.
|
Build
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|