public void Queue_IfNameIsInvalid_ThrowsDuringIndexing() { IStorageAccount account = CreateFakeStorageAccount(); TaskCompletionSource <object> backgroundTaskSource = new TaskCompletionSource <object>(); var serviceProvider = FunctionalTest.CreateConfigurationForCallFailure(account, typeof(InvalidQueueNameProgram), backgroundTaskSource); using (JobHost host = new JobHost(serviceProvider)) { // Act & Assert FunctionIndexingException exception = Assert.Throws <FunctionIndexingException>(() => host.Start()); Assert.Equal("Error indexing method 'InvalidQueueNameProgram.Invalid'", exception.Message); Exception innerException = exception.InnerException; Assert.IsType <ArgumentException>(innerException); ArgumentException argumentException = (ArgumentException)innerException; Assert.Equal("name", argumentException.ParamName); string expectedMessage = String.Format(CultureInfo.InvariantCulture, "The dash (-) character may not be the first or last letter - \"-illegalname-\"{0}Parameter " + "name: name", Environment.NewLine); Assert.Equal(expectedMessage, innerException.Message); Assert.Equal(TaskStatus.WaitingForActivation, backgroundTaskSource.Task.Status); } }