36 lines
1.2 KiB
Go
36 lines
1.2 KiB
Go
package config
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/stretchr/testify/assert"
|
|
"testing"
|
|
"time"
|
|
)
|
|
|
|
func TestTask_GetSql(t *testing.T) {
|
|
task := Task{
|
|
Sql: "select * from order",
|
|
Elt: "create_time between {begin} and {end} and o.order_number > {last}",
|
|
Timestamp: true,
|
|
Order: " ",
|
|
}
|
|
begin, _ := time.Parse("2006-01-02 15:04:05", "2023-01-01 00:00:00")
|
|
end := begin.Add(time.Hour * 24)
|
|
sql := task.GetSql(map[string]interface{}{"begin": begin, "end": end, "last": 0})
|
|
|
|
assert.Equal(t, fmt.Sprintf("select * from order where create_time between %d and %d and o.order_number > 0", begin.Unix(), end.Unix()), sql)
|
|
}
|
|
|
|
func TestTask_GetSql_OrderBy(t *testing.T) {
|
|
task := Task{
|
|
Sql: "select * from order",
|
|
Elt: "create_time between '{begin}' and '{end}'",
|
|
Timestamp: false,
|
|
Order: "create_time",
|
|
}
|
|
begin, _ := time.Parse("2006-01-02 15:04:05", "2023-01-01 00:00:00")
|
|
end := begin.Add(time.Hour * 24)
|
|
sql := task.GetSql(map[string]interface{}{"begin": begin, "end": end})
|
|
assert.Equal(t, fmt.Sprintf("select * from order where create_time between '%s' and '%s' order by create_time", begin.Format("2006-01-02 15:04:05"), end.Format("2006-01-02 15:04:05")), sql)
|
|
}
|