public async Task WarmupTriggerTest_Success(string functionName)
        {
            _functionOut = null;
            var warmupContext = new WarmupContext();

            var args = new Dictionary <string, object>
            {
                { "warmupContext", warmupContext }
            };

            var host = NewHost(types: new Type[] { typeof(WarmupTriggerParams) });

            await host.GetJobHost().CallAsync(functionName, args);

            Assert.Equal(JsonConvert.SerializeObject(warmupContext), _functionOut);
        }
        public async Task WarmupTriggerTest_Failure()
        {
            _functionOut = null;
            var warmupContext = new WarmupContext();

            var args = new Dictionary <string, object>
            {
                { "warmupContext", warmupContext }
            };

            var host = NewHost(types: new Type[] { typeof(WarmupTriggerParams) });

            // Indexing exceptions will happen in cases where data type for binding is invalid
            host = NewHost(types: new Type[] { typeof(WarmupInvalidBindingParam) });
            var indexException = await Assert.ThrowsAsync <FunctionIndexingException>(() => host.StartAsync());

            Assert.Equal($"Can't bind WarmupTrigger to type '{typeof(int)}'.", indexException.InnerException.Message);
        }
 public void TestWarmup_WarmupContext([WarmupTrigger] WarmupContext warmupContext)
 {
     _functionOut = JsonConvert.SerializeObject(warmupContext);
 }
 public static void Run([WarmupTrigger()] WarmupContext context,
                        ILogger log)
 {
     log.LogInformation("Function App instance is warm 🌞🌞🌞");
 }