add unit test for StringSliceReplaceElement
This commit is contained in:
parent
869502e721
commit
c342558fb6
|
|
@ -83,9 +83,9 @@ func (strategy DefaultUserSyncStrategy) ProduceSyncRequests(dbUsers spec.PgUserM
|
|||
userFlags := make([]string, len(dbUser.Flags))
|
||||
userFlags = append(userFlags, dbUser.Flags...)
|
||||
if dbUser.Deprecated {
|
||||
util.StringSliceReplaceElement(&dbUser.Flags, constants.RoleFlagNoLogin, constants.RoleFlagLogin)
|
||||
dbUser.Flags = util.StringSliceReplaceElement(dbUser.Flags, constants.RoleFlagNoLogin, constants.RoleFlagLogin)
|
||||
} else {
|
||||
util.StringSliceReplaceElement(&dbUser.Flags, constants.RoleFlagLogin, constants.RoleFlagNoLogin)
|
||||
dbUser.Flags = util.StringSliceReplaceElement(dbUser.Flags, constants.RoleFlagLogin, constants.RoleFlagNoLogin)
|
||||
}
|
||||
if !util.IsEqualIgnoreOrder(userFlags, dbUser.Flags) {
|
||||
reqs = append(reqs, spec.PgSyncUserRequest{Kind: spec.PGsyncUserAlter, User: dbUser})
|
||||
|
|
|
|||
|
|
@ -152,16 +152,15 @@ func IsEqualIgnoreOrder(a, b []string) bool {
|
|||
}
|
||||
|
||||
// SliceReplaceElement
|
||||
func StringSliceReplaceElement(s *[]string, a, b string) *[]string {
|
||||
tmp := *s
|
||||
for _, str := range tmp {
|
||||
func StringSliceReplaceElement(s []string, a, b string) (result []string) {
|
||||
tmp := make([]string, 0, len(s))
|
||||
for _, str := range s {
|
||||
if str == a {
|
||||
str = b
|
||||
}
|
||||
tmp = append(tmp, str)
|
||||
}
|
||||
*s = tmp
|
||||
return s
|
||||
return tmp
|
||||
}
|
||||
|
||||
// SubstractStringSlices finds elements in a that are not in b and return them as a result slice.
|
||||
|
|
|
|||
|
|
@ -166,6 +166,14 @@ func TestIsEqualIgnoreOrder(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestStringSliceReplaceElement(t *testing.T) {
|
||||
testSlice := []string{"a", "b", "c"}
|
||||
testSlice = StringSliceReplaceElement(testSlice, "b", "d")
|
||||
if !SliceContains(testSlice, "d") {
|
||||
t.Errorf("testSlide item not replaced: %v", testSlice)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSubstractSlices(t *testing.T) {
|
||||
for _, tt := range substractTest {
|
||||
actualRes, actualEqual := SubstractStringSlices(tt.inA, tt.inB)
|
||||
|
|
|
|||
Loading…
Reference in New Issue