//protected async Task NotificationHubTest(string functionName) //{ // // NotificationHub tests need the following environment vars: // // "AzureWebJobsNotificationHubsConnectionString" -- the connection string for NotificationHubs // // "AzureWebJobsNotificationHubName" -- NotificationHubName // Dictionary<string, object> arguments = new Dictionary<string, object> // { // { "input", "Hello" } // }; // try // { // // Only verifying the call succeeds. It is not possible to verify // // actual push notificaiton is delivered as they are sent only to // // client applications that registered with NotificationHubs // await Fixture.Host.CallAsync(functionName, arguments); // } // catch (Exception ex) // { // // Node: Check innerException, CSharp: check innerExcpetion.innerException // if ((ex.InnerException != null && VerifyNotificationHubExceptionMessage(ex.InnerException)) || // (ex.InnerException != null & ex.InnerException.InnerException != null && VerifyNotificationHubExceptionMessage(ex.InnerException.InnerException))) // { // // Expected if using NH without any registrations // } // else // { // throw; // } // } //} //protected async Task MobileTablesTest(bool isDotNet = false) //{ // // MobileApps needs the following environment vars: // // "AzureWebJobsMobileAppUri" - the URI to the mobile app // // The Mobile App needs an anonymous 'Item' table // // First manually create an item. // string id = Guid.NewGuid().ToString(); // Dictionary<string, object> arguments = new Dictionary<string, object> // { // { "input", id } // }; // await Fixture.Host.CallAsync("MobileTableOut", arguments); // var item = await WaitForMobileTableRecordAsync("Item", id); // Assert.Equal(item["id"], id); // string messageContent = string.Format("{{ \"recordId\": \"{0}\" }}", id); // await Fixture.MobileTablesQueue.AddMessageAsync(new CloudQueueMessage(messageContent)); // // Only .NET fully supports updating from input bindings. Others will // // create a new item with -success appended to the id. // // https://github.com/Azure/azure-webjobs-sdk-script/issues/49 // var idToCheck = id + (isDotNet ? string.Empty : "-success"); // var textToCheck = isDotNet ? "This was updated!" : null; // await WaitForMobileTableRecordAsync("Item", idToCheck, textToCheck); //} protected async Task <IEnumerable <CloudBlockBlob> > Scenario_RandGuidBinding_GeneratesRandomIDs() { var container = await GetEmptyContainer("scenarios-output"); // Call 3 times - expect 3 separate output blobs for (int i = 0; i < 3; i++) { JObject input = new JObject { { "scenario", "randGuid" }, { "container", "scenarios-output" }, { "value", i } }; await Fixture.Host.BeginFunctionAsync("Scenarios", input); } IEnumerable <CloudBlockBlob> blobs = null; await TestHelpers.Await(async() => { blobs = await TestHelpers.ListBlobsAsync(container); return(blobs.Count() == 3); }); // Different languages write different content, so let them validate the blobs. return(blobs); }