コード例 #1
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #5
0
        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);
        }