v1.5.0-gamma-qf

1.5.8-k8s-extnet-branch v1.5.0-gamma
Tim Tkachev 2 years ago
parent f50f71ab0d
commit 20fd7ab50c

@ -1,96 +0,0 @@
package flipgroup
// FilterByID returns ListFLIPGroups with specified ID.
func (lfg ListFLIPGroups) FilterByID(id uint64) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.ID == id
}
return lfg.FilterFunc(predicate)
}
// FilterByAccountID returns ListFLIPGroups with specified AccountID.
func (lfg ListFLIPGroups) FilterByAccountID(accountID uint64) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.AccountID == accountID
}
return lfg.FilterFunc(predicate)
}
// FilterByRGID returns ListFLIPGroups with specified RGID.
func (lfg ListFLIPGroups) FilterByRGID(rgID uint64) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.RGID == rgID
}
return lfg.FilterFunc(predicate)
}
// FilterByName returns ListFLIPGroups with specified Name.
func (lfg ListFLIPGroups) FilterByName(name string) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.Name == name
}
return lfg.FilterFunc(predicate)
}
// FilterByStatus returns ListFLIPGroups with specified Status.
func (lfg ListFLIPGroups) FilterByStatus(status string) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.Status == status
}
return lfg.FilterFunc(predicate)
}
// FilterByCreatedBy returns ListFLIPGroups created by specified user.
func (lfg ListFLIPGroups) FilterByCreatedBy(createdBy string) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.CreatedBy == createdBy
}
return lfg.FilterFunc(predicate)
}
// FilterByUpdatedBy returns ListFLIPGroups updated by specified user.
func (lfg ListFLIPGroups) FilterByUpdatedBy(updatedBy string) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.UpdatedBy == updatedBy
}
return lfg.FilterFunc(predicate)
}
// FilterByDeletedBy returns ListFLIPGroups deleted by specified user.
func (lfg ListFLIPGroups) FilterByDeletedBy(deletedBy string) ListFLIPGroups {
predicate := func(ifg ItemFLIPGroup) bool {
return ifg.DeletedBy == deletedBy
}
return lfg.FilterFunc(predicate)
}
// FilterFunc allows filtering ListFLIPGroups based on a user-specified predicate.
func (lfg ListFLIPGroups) FilterFunc(predicate func(ItemFLIPGroup) bool) ListFLIPGroups {
var result ListFLIPGroups
for _, item := range lfg {
if predicate(item) {
result = append(result, item)
}
}
return result
}
// FindOne returns first found ItemFLIPGroup
// If none was found, returns an empty struct.
func (lfg ListFLIPGroups) FindOne() ItemFLIPGroup {
if len(lfg) == 0 {
return ItemFLIPGroup{}
}
return lfg[0]
}

@ -1,189 +0,0 @@
package flipgroup
import "testing"
var flipgroups = ListFLIPGroups{
{
AccountID: 1,
AccountName: "std_1",
ClientIDs: []uint64{
1,
},
ClientNames: []string{
"compute_1",
},
ClientType: "compute",
ConnID: 1,
ConnType: "",
CreatedBy: "sample_user_1@decs3o",
CreatedTime: 1234456789,
DefaultGW: "",
DeletedBy: "",
DeletedTime: 0,
Description: "",
GID: 212,
GUID: 1,
ID: 1,
IP: "",
Milestones: 999001,
Name: "flipgroup_1",
NetID: 111,
NetType: "EXTNET",
Network: "",
RGID: 7971,
RGName: "rg_1",
Status: "CREATED",
UpdatedBy: "",
UpdatedTime: 0,
},
{
AccountID: 2,
AccountName: "std_2",
ClientIDs: []uint64{
2,
},
ClientNames: []string{
"compute_2",
},
ClientType: "compute",
ConnID: 2,
ConnType: "",
CreatedBy: "sample_user_1@decs3o",
CreatedTime: 1234456830,
DefaultGW: "",
DeletedBy: "sample_user_1@decs3o",
DeletedTime: 1234456879,
Description: "",
GID: 212,
GUID: 2,
ID: 2,
IP: "",
Milestones: 999002,
Name: "flipgroup_2",
NetID: 222,
NetType: "EXTNET",
Network: "",
RGID: 7972,
RGName: "rg_2",
Status: "DESTROYED",
UpdatedBy: "",
UpdatedTime: 0,
},
{
AccountID: 3,
AccountName: "std_3",
ClientIDs: []uint64{
3,
},
ClientNames: []string{
"compute_3",
},
ClientType: "compute",
ConnID: 3,
ConnType: "",
CreatedBy: "sample_user_2@decs3o",
CreatedTime: 1234456866,
DefaultGW: "",
DeletedBy: "",
DeletedTime: 0,
Description: "",
GID: 212,
GUID: 3,
ID: 3,
IP: "",
Milestones: 999003,
Name: "flipgroup_3",
NetID: 223,
NetType: "EXTNET",
Network: "",
RGID: 7973,
RGName: "rg_3",
Status: "CREATED",
UpdatedBy: "",
UpdatedTime: 0,
},
}
func TestFilterByID(t *testing.T) {
actual := flipgroups.FilterByID(3).FindOne()
if actual.ID != 3 {
t.Fatal("expected ID 3, found: ", actual.ID)
}
}
func TestFilterByAccountID(t *testing.T) {
actual := flipgroups.FilterByAccountID(1).FindOne()
if actual.AccountID != 1 {
t.Fatal("expected AccountID 1, found: ", actual.AccountID)
}
}
func TestFilterByRGID(t *testing.T) {
actual := flipgroups.FilterByRGID(7972).FindOne()
if actual.RGID != 7972 {
t.Fatal("expected RGID 7972, found: ", actual.RGID)
}
}
func TestFilterByName(t *testing.T) {
actual := flipgroups.FilterByName("flipgroup_1").FindOne()
if actual.Name != "flipgroup_1" {
t.Fatal("expected Name 'flipgroup_1', found: ", actual.Name)
}
}
func TestFilterByStatus(t *testing.T) {
actual := flipgroups.FilterByStatus("CREATED")
if len(actual) != 2 {
t.Fatal("expected 2 found, actual: ", len(actual))
}
for _, item := range actual {
if item.Status != "CREATED" {
t.Fatal("expected Status 'CREATED', found: ", item.Status)
}
}
}
func TestFilterByCreatedBy(t *testing.T) {
actual := flipgroups.FilterByCreatedBy("sample_user_1@decs3o")
if len(actual) != 2 {
t.Fatal("expected 2 found, actual: ", len(actual))
}
for _, item := range actual {
if item.CreatedBy != "sample_user_1@decs3o" {
t.Fatal("expected CreatedBy 'sample_user_1@decs3o', found: ", item.CreatedBy)
}
}
}
func TestFilterFunc(t *testing.T) {
actual := flipgroups.FilterFunc(func(ifg ItemFLIPGroup) bool {
return ifg.NetType == "EXTNET"
})
if len(actual) != 3 {
t.Fatal("expected 3 found, actual: ", len(actual))
}
for _, item := range actual {
if item.NetType != "EXTNET" {
t.Fatal("expected NetType 'EXTNET', found: ", item.NetType)
}
}
}
func TestSortByCreatedTime(t *testing.T) {
actual := flipgroups.SortByCreatedTime(false)
if actual[0].CreatedTime != 1234456789 || actual[2].CreatedTime != 1234456866 {
t.Fatal("expected ascending order, found descending")
}
}

@ -1,60 +0,0 @@
package flipgroup
import "sort"
// SortByCreatedTime sorts ListFLIPGroups by the CreatedTime field in ascending order.
//
// If inverse param is set to true, the order is reversed.
func (lfg ListFLIPGroups) SortByCreatedTime(inverse bool) ListFLIPGroups {
if len(lfg) < 2 {
return lfg
}
sort.Slice(lfg, func(i, j int) bool {
if inverse {
return lfg[i].CreatedTime > lfg[j].CreatedTime
}
return lfg[i].CreatedTime < lfg[j].CreatedTime
})
return lfg
}
// SortByUpdatedTime sorts ListFLIPGroups by the UpdatedTime field in ascending order.
//
// If inverse param is set to true, the order is reversed.
func (lfg ListFLIPGroups) SortByUpdatedTime(inverse bool) ListFLIPGroups {
if len(lfg) < 2 {
return lfg
}
sort.Slice(lfg, func(i, j int) bool {
if inverse {
return lfg[i].UpdatedTime > lfg[j].UpdatedTime
}
return lfg[i].UpdatedTime < lfg[j].UpdatedTime
})
return lfg
}
// SortByDeletedTime sorts ListFLIPGroups by the DeletedTime field in ascending order.
//
// If inverse param is set to true, the order is reversed.
func (lfg ListFLIPGroups) SortByDeletedTime(inverse bool) ListFLIPGroups {
if len(lfg) < 2 {
return lfg
}
sort.Slice(lfg, func(i, j int) bool {
if inverse {
return lfg[i].DeletedTime > lfg[j].DeletedTime
}
return lfg[i].DeletedTime < lfg[j].DeletedTime
})
return lfg
}
Loading…
Cancel
Save