public async Task ExecuteCoordinationMessageEndsEventWithErrorIfNotDeserialisable()
        {
            var subscriber = new QueueAutoScheduleSubscriber(
                this.dataVerifier,
                this.autoSchedule,
                this.awsQueueClient,
                this.awsConfiguration,
                this.serialiser,
                this.systemProcessContext,
                this.logger);

            await subscriber.ExecuteCoordinationMessageAsync("message-id", "not-a-upload-message");

            A.CallTo(() => this.systemProcessOperationContext.EndEventWithError(A <string> .Ignored))
            .MustHaveHappenedOnceExactly();
        }
        public async Task ExecuteCoordinationMessageCallsAnalyseFileIdForValidUploadMessage()
        {
            var subscriber = new QueueAutoScheduleSubscriber(
                this.dataVerifier,
                this.autoSchedule,
                this.awsQueueClient,
                this.awsConfiguration,
                this.serialiser,
                this.systemProcessContext,
                this.logger);
            var uploadMessage = new AutoScheduleMessage();
            var message       = this.serialiser.Serialise(uploadMessage);

            await subscriber.ExecuteCoordinationMessageAsync("message-id", message);

            A.CallTo(() => this.dataVerifier.Scan()).MustHaveHappenedOnceExactly();
        }