33 lines
1.1 KiB
Go
33 lines
1.1 KiB
Go
package opscenter
|
|
|
|
import "testing"
|
|
|
|
func TestDedupeAppsKeepsRegistryAndAddsFixedApps(t *testing.T) {
|
|
items := dedupeApps([]appDTO{
|
|
{AppCode: "YUMI", AppName: "Yumi From Registry", Source: "registry", Status: "active", PackageName: "com.yumi"},
|
|
{AppCode: "yumi", AppName: "Yumi", Source: "fixed", Status: "active"},
|
|
{AppCode: "aslan", AppName: "Aslan", Source: "fixed", Status: "active"},
|
|
})
|
|
|
|
if len(items) != 2 {
|
|
t.Fatalf("items len = %d, want 2: %+v", len(items), items)
|
|
}
|
|
if items[0].AppCode != "yumi" || items[0].Source != "registry" || items[0].PackageName != "com.yumi" {
|
|
t.Fatalf("registry app should win duplicate app_code, got %+v", items[0])
|
|
}
|
|
if items[1].AppCode != "aslan" || items[1].Source != "fixed" {
|
|
t.Fatalf("fixed app not appended correctly, got %+v", items[1])
|
|
}
|
|
}
|
|
|
|
func TestFilterAppsByAppCodeAndStatus(t *testing.T) {
|
|
items := filterApps([]appDTO{
|
|
{AppCode: "aslan", Status: "active"},
|
|
{AppCode: "yumi", Status: "disabled"},
|
|
}, "yu", "disabled")
|
|
|
|
if len(items) != 1 || items[0].AppCode != "yumi" {
|
|
t.Fatalf("filter result = %+v, want only yumi", items)
|
|
}
|
|
}
|