所有分支的提交所有分支的提交都要跑test都要跑test
大石头 authored at 2022-03-29 23:35:41
1.51 KiB
NewLife.RocketMQ
using System;
using System.ComponentModel;
using NewLife.RocketMQ;
using NewLife.RocketMQ.Protocol;
using Xunit;

namespace XUnitTestRocketMQ;

/// <summary>SQL92过滤功能测试</summary>
public class SQL92FilterTests
{
    [Fact]
    [DisplayName("ExpressionType_默认值为TAG")]
    public void ExpressionType_DefaultIsTAG()
    {
        using var consumer = new Consumer();
        Assert.Equal("TAG", consumer.ExpressionType);
    }

    [Fact]
    [DisplayName("ExpressionType_可设置为SQL92")]
    public void ExpressionType_CanSetToSQL92()
    {
        using var consumer = new Consumer
        {
            ExpressionType = "SQL92",
            Subscription = "age > 18 AND region = 'hangzhou'",
        };

        Assert.Equal("SQL92", consumer.ExpressionType);
        Assert.Contains("age > 18", consumer.Subscription);
    }

    [Fact]
    [DisplayName("PullMessageRequestHeader_ExpressionType默认TAG")]
    public void PullHeader_ExpressionType_Default()
    {
        var header = new PullMessageRequestHeader();
        Assert.Equal("TAG", header.ExpressionType);
    }

    [Fact]
    [DisplayName("PullMessageRequestHeader_ExpressionType可设为SQL92")]
    public void PullHeader_ExpressionType_SQL92()
    {
        var header = new PullMessageRequestHeader
        {
            ExpressionType = "SQL92",
            Subscription = "price BETWEEN 10 AND 100",
        };

        Assert.Equal("SQL92", header.ExpressionType);
        Assert.Equal("price BETWEEN 10 AND 100", header.Subscription);
    }
}