69 lines
1.7 KiB
Go
69 lines
1.7 KiB
Go
package fleetstatus
|
|
|
|
import "testing"
|
|
|
|
func TestTableNames(t *testing.T) {
|
|
if (FleetStatus{}).TableName() != "fleet_statuses" {
|
|
t.Error("FleetStatus table name")
|
|
}
|
|
if (MaintenanceSchedule{}).TableName() != "maintenance_schedules" {
|
|
t.Error("MaintenanceSchedule table name")
|
|
}
|
|
if (FleetStatusFile{}).TableName() != "fleet_status_files" {
|
|
t.Error("FleetStatusFile table name")
|
|
}
|
|
if (FleetStatusServiceLog{}).TableName() != "fleet_status_service_logs" {
|
|
t.Error("FleetStatusServiceLog table name")
|
|
}
|
|
}
|
|
|
|
func TestFleetStatusBeforeCreate(t *testing.T) {
|
|
f := &FleetStatus{}
|
|
if err := f.BeforeCreate(nil); err != nil {
|
|
t.Fatalf("err: %v", err)
|
|
}
|
|
if len(f.ID) == 0 {
|
|
t.Fatal("ID should be set")
|
|
}
|
|
if f.Status != StatusActive {
|
|
t.Fatalf("Status default = %q, want %q", f.Status, StatusActive)
|
|
}
|
|
// existing ID + status preserved
|
|
f2 := &FleetStatus{Status: "serviced"}
|
|
_ = f2.BeforeCreate(nil)
|
|
if f2.Status != "serviced" {
|
|
t.Fatal("BeforeCreate must not overwrite an existing status")
|
|
}
|
|
}
|
|
|
|
func TestChildBeforeCreate(t *testing.T) {
|
|
m := &MaintenanceSchedule{}
|
|
_ = m.BeforeCreate(nil)
|
|
if len(m.ID) == 0 {
|
|
t.Error("MaintenanceSchedule ID not set")
|
|
}
|
|
fsf := &FleetStatusFile{}
|
|
_ = fsf.BeforeCreate(nil)
|
|
if len(fsf.ID) == 0 {
|
|
t.Error("FleetStatusFile ID not set")
|
|
}
|
|
sl := &FleetStatusServiceLog{}
|
|
_ = sl.BeforeCreate(nil)
|
|
if len(sl.ID) == 0 {
|
|
t.Error("FleetStatusServiceLog ID not set")
|
|
}
|
|
}
|
|
|
|
func TestIsValidFileCategory(t *testing.T) {
|
|
for _, c := range []string{FileCategoryWB, FileCategoryBFI} {
|
|
if !IsValidFileCategory(c) {
|
|
t.Fatalf("%q should be valid", c)
|
|
}
|
|
}
|
|
for _, c := range []string{"WB", "", "nope"} {
|
|
if IsValidFileCategory(c) {
|
|
t.Fatalf("%q should be invalid", c)
|
|
}
|
|
}
|
|
}
|