mirror of
https://github.com/fleetdm/fleet
synced 2026-05-24 09:28:54 +00:00
58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
|
|
package mysql
|
||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"github.com/kolide/kolide-ose/server/kolide"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestAppendListOptionsToSQL(t *testing.T) {
|
||
|
|
sql := "SELECT * FROM app_configs"
|
||
|
|
opts := kolide.ListOptions{
|
||
|
|
OrderKey: "name",
|
||
|
|
}
|
||
|
|
|
||
|
|
actual := appendListOptionsToSQL(sql, opts)
|
||
|
|
expected := "SELECT * FROM app_configs ORDER BY name ASC LIMIT 1000"
|
||
|
|
if actual != expected {
|
||
|
|
t.Error("Expected", expected, "Actual", actual)
|
||
|
|
}
|
||
|
|
|
||
|
|
sql = "SELECT * FROM app_configs"
|
||
|
|
opts.OrderDirection = kolide.OrderDescending
|
||
|
|
actual = appendListOptionsToSQL(sql, opts)
|
||
|
|
expected = "SELECT * FROM app_configs ORDER BY name DESC LIMIT 1000"
|
||
|
|
if actual != expected {
|
||
|
|
t.Error("Expected", expected, "Actual", actual)
|
||
|
|
}
|
||
|
|
|
||
|
|
opts = kolide.ListOptions{
|
||
|
|
PerPage: 10,
|
||
|
|
}
|
||
|
|
|
||
|
|
sql = "SELECT * FROM app_configs"
|
||
|
|
actual = appendListOptionsToSQL(sql, opts)
|
||
|
|
expected = "SELECT * FROM app_configs LIMIT 10"
|
||
|
|
if actual != expected {
|
||
|
|
t.Error("Expected", expected, "Actual", actual)
|
||
|
|
}
|
||
|
|
|
||
|
|
sql = "SELECT * FROM app_configs"
|
||
|
|
opts.Page = 2
|
||
|
|
actual = appendListOptionsToSQL(sql, opts)
|
||
|
|
expected = "SELECT * FROM app_configs LIMIT 10 OFFSET 20"
|
||
|
|
if actual != expected {
|
||
|
|
t.Error("Expected", expected, "Actual", actual)
|
||
|
|
}
|
||
|
|
|
||
|
|
opts = kolide.ListOptions{}
|
||
|
|
sql = "SELECT * FROM app_configs"
|
||
|
|
actual = appendListOptionsToSQL(sql, opts)
|
||
|
|
expected = "SELECT * FROM app_configs LIMIT 1000"
|
||
|
|
|
||
|
|
if actual != expected {
|
||
|
|
t.Error("Expected", expected, "Actual", actual)
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|