public void ResolveAttributeParameterConflictTest() { var bindingProvider = CreateBindingProvider(); var attribute = new SignalRTriggerAttribute(string.Empty, string.Empty, string.Empty, new string[] { "arg0" }); var parameter = typeof(TestStronglyTypedHub).GetMethod(nameof(TestStronglyTypedHub.TestFunction), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; Assert.ThrowsAny <Exception>(() => bindingProvider.GetParameterResolvedAttribute(attribute, parameter)); }
public void ResolveNonServerlessHubAttributeParameterTest() { var bindingProvider = CreateBindingProvider(); var attribute = new SignalRTriggerAttribute(); var parameter = typeof(TestNonServerlessHub).GetMethod(nameof(TestNonServerlessHub.TestFunction), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; var resolvedAttribute = bindingProvider.GetParameterResolvedAttribute(attribute, parameter); Assert.Null(resolvedAttribute.HubName); Assert.Null(resolvedAttribute.Category); Assert.Null(resolvedAttribute.Event); Assert.Equal(new string[] { "arg0", "arg1" }, resolvedAttribute.ParameterNames); }
public void ResolveNonServerlessHubAttributeExpressionBindingParameterTest() { var bindingProvider = CreateBindingProvider(); var attribute = new SignalRTriggerAttribute( "%Serverless_ExpressionBindings_HubName%", "%Serverless_ExpressionBindings_HubCategory%", "%Serverless_ExpressionBindings_HubEvent%"); var parameter = typeof(TestNonServerlessHub).GetMethod(nameof(TestNonServerlessHub.TestFunction), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; var resolvedAttribute = bindingProvider.GetParameterResolvedAttribute(attribute, parameter); Assert.Equal("test_hub", resolvedAttribute.HubName); Assert.Equal("connections", resolvedAttribute.Category); Assert.Equal("connected", resolvedAttribute.Event); Assert.Equal(new string[] { "arg0", "arg1" }, resolvedAttribute.ParameterNames); }
public void ResolveConnectionAttributeParameterTest() { var bindingProvider = CreateBindingProvider(); var attribute = new SignalRTriggerAttribute(); var parameter = typeof(TestStronglyTypedHub).GetMethod(nameof(TestStronglyTypedHub.OnConnected), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; var resolvedAttribute = bindingProvider.GetParameterResolvedAttribute(attribute, parameter); Assert.Equal(nameof(TestStronglyTypedHub), resolvedAttribute.HubName); Assert.Equal(SignalRTriggerCategories.Connections, resolvedAttribute.Category); Assert.Equal(SignalRTriggerEvents.Connected, resolvedAttribute.Event); Assert.Equal(new string[] { "arg0", "arg1" }, resolvedAttribute.ParameterNames); parameter = typeof(TestStronglyTypedHub).GetMethod(nameof(TestStronglyTypedHub.OnDisconnected), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; resolvedAttribute = bindingProvider.GetParameterResolvedAttribute(attribute, parameter); Assert.Equal(nameof(TestStronglyTypedHub), resolvedAttribute.HubName); Assert.Equal(SignalRTriggerCategories.Connections, resolvedAttribute.Category); Assert.Equal(SignalRTriggerEvents.Disconnected, resolvedAttribute.Event); Assert.Equal(new string[] { "arg0", "arg1" }, resolvedAttribute.ParameterNames); }
public void ResolveAttributeParameterTest() { var bindingProvider = CreateBindingProvider(); var attribute = new SignalRTriggerAttribute(); var parameter = typeof(TestStronglyTypedHub).GetMethod(nameof(TestStronglyTypedHub.TestFunction), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; var resolvedAttribute = bindingProvider.GetParameterResolvedAttribute(attribute, parameter); Assert.Equal(nameof(TestStronglyTypedHub), resolvedAttribute.HubName); Assert.Equal(SignalRTriggerCategories.Messages, resolvedAttribute.Category); Assert.Equal(nameof(TestStronglyTypedHub.TestFunction), resolvedAttribute.Event); Assert.Equal(new string[] { "arg0", "arg1" }, resolvedAttribute.ParameterNames); // With SignalRIgoreAttribute parameter = typeof(TestStronglyTypedHub).GetMethod(nameof(TestStronglyTypedHub.TestFunctionWithIgnore), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; resolvedAttribute = bindingProvider.GetParameterResolvedAttribute(attribute, parameter); Assert.Equal(new string[] { "arg0", "arg1" }, resolvedAttribute.ParameterNames); // With ILogger and CancellationToken parameter = typeof(TestStronglyTypedHub).GetMethod(nameof(TestStronglyTypedHub.TestFunctionWithSpecificType), BindingFlags.Instance | BindingFlags.NonPublic).GetParameters()[0]; resolvedAttribute = bindingProvider.GetParameterResolvedAttribute(attribute, parameter); Assert.Equal(new string[] { "arg0", "arg1" }, resolvedAttribute.ParameterNames); }