Loading go-apps/meep-auth-svc/server/auth-svc.go +8 −0 Original line number Diff line number Diff line Loading @@ -1111,6 +1111,14 @@ func startSession(provider string, username string, w http.ResponseWriter, r *ht return "", false, "", err, http.StatusInternalServerError } } // Create new user & store sandbox name for next use if user == nil { err = authSvc.userStore.CreateUser(provider, username, "", role, sandboxName) if err != nil { log.Error("Failed to create user with err: ", err.Error()) } } } // Create new session Loading go-packages/meep-users/db.go +3 −4 Original line number Diff line number Diff line Loading @@ -203,16 +203,15 @@ func (pc *Connector) DeleteTable(tableName string) (err error) { // CreateUser - Create new user func (pc *Connector) CreateUser(provider string, username string, password string, role string, sboxname string) (err error) { // Validate input // Default to Local Provider if provider == "" { provider = ProviderLocal } // Validate input if username == "" { return errors.New("Missing username") } if password == "" { return errors.New("Missing password") } if role == "" { role = RoleUser } else { Loading go-packages/meep-users/db_test.go +43 −9 Original line number Diff line number Diff line Loading @@ -33,26 +33,30 @@ const ( provider1 = "" provider2 = "provider2" provider3 = "provider3" provider4 = "provider4" username0 = "" username1 = "user1" username2 = "user2" username3 = "user3" username4 = "user4" password0 = "" password1 = "123" //3 chars password2 = "gie[rh[iuhberieg" //16 chars password3 = "efbiwerbfiwferbirgfbiuqrfgbdrfgjnbqairbqifhrbeqi[frb[rifhb[qirfbq]]]qaef[048FERGerwWRGG]FASF03404924" // 100 chars password4 = "" role0 = "invalid-role" role1 = "user" role2 = "user" role3 = "admin" role1 = RoleUser role2 = RoleUser role3 = RoleAdmin role4 = RoleUser sboxname0 = "123456789012345" // more than 11 chars sboxname1 = "sbox-1" sboxname2 = "sbox-2" sboxname3 = "sbox-3" sboxname4 = "sbox-4" ) func TestConnector(t *testing.T) { Loading Loading @@ -140,10 +144,6 @@ func TestPostgisCreateUser(t *testing.T) { if err == nil { t.Fatalf("user creation should have failed") } err = pc.CreateUser(provider1, username1, password0, role1, sboxname1) if err == nil { t.Fatalf("user creation should have failed") } err = pc.CreateUser(provider1, username1, password1, role0, sboxname1) if err == nil { t.Fatalf("user creation should have failed") Loading Loading @@ -235,9 +235,36 @@ func TestPostgisCreateUser(t *testing.T) { t.Fatalf("Wrong user authentication") } err = pc.CreateUser(provider4, username4, password4, role4, sboxname4) if err != nil { t.Fatalf("Failed to create asset") } user, err = pc.GetUser(provider4, username4) if err != nil || user == nil { t.Fatalf("Failed to get user") } if user.Provider != provider4 || user.Username != username4 || user.Role != role4 || user.Sboxname != sboxname4 { t.Fatalf("Wrong user data") } if user.Password == password4 { t.Fatalf("Password not encrypted") } valid, err = pc.IsValidUser(provider4, username4) if err != nil || !valid { t.Fatalf("Failed to validate user") } valid, err = pc.AuthenticateUser(provider4, username4, password4) if err != nil || !valid { t.Fatalf("Failed to authenticate user") } valid, err = pc.AuthenticateUser(provider4, username4, password3) if err != nil || valid { t.Fatalf("Wrong user authentication") } // Verify all additions worked userMap, err = pc.GetUsers() if err != nil || len(userMap) != 3 { if err != nil || len(userMap) != 4 { t.Fatalf("Error getting all users") } user, found := userMap[pc.GetUserKey(provider1, username1)] Loading @@ -261,6 +288,13 @@ func TestPostgisCreateUser(t *testing.T) { if user.Provider != provider3 || user.Username != username3 || user.Role != role3 || user.Sboxname != sboxname3 { t.Fatalf("Wrong user data") } user, found = userMap[pc.GetUserKey(provider4, username4)] if !found { t.Fatalf("User not found") } if user.Provider != provider4 || user.Username != username4 || user.Role != role4 || user.Sboxname != sboxname4 { t.Fatalf("Wrong user data") } // Remove & validate update fmt.Println("Remove user & validate update") Loading test/run-ut.sh +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ GOPKGS=( meep-net-char-mgr meep-pdu-session-store meep-subscriptions meep-users meep-watchdog ) Loading Loading
go-apps/meep-auth-svc/server/auth-svc.go +8 −0 Original line number Diff line number Diff line Loading @@ -1111,6 +1111,14 @@ func startSession(provider string, username string, w http.ResponseWriter, r *ht return "", false, "", err, http.StatusInternalServerError } } // Create new user & store sandbox name for next use if user == nil { err = authSvc.userStore.CreateUser(provider, username, "", role, sandboxName) if err != nil { log.Error("Failed to create user with err: ", err.Error()) } } } // Create new session Loading
go-packages/meep-users/db.go +3 −4 Original line number Diff line number Diff line Loading @@ -203,16 +203,15 @@ func (pc *Connector) DeleteTable(tableName string) (err error) { // CreateUser - Create new user func (pc *Connector) CreateUser(provider string, username string, password string, role string, sboxname string) (err error) { // Validate input // Default to Local Provider if provider == "" { provider = ProviderLocal } // Validate input if username == "" { return errors.New("Missing username") } if password == "" { return errors.New("Missing password") } if role == "" { role = RoleUser } else { Loading
go-packages/meep-users/db_test.go +43 −9 Original line number Diff line number Diff line Loading @@ -33,26 +33,30 @@ const ( provider1 = "" provider2 = "provider2" provider3 = "provider3" provider4 = "provider4" username0 = "" username1 = "user1" username2 = "user2" username3 = "user3" username4 = "user4" password0 = "" password1 = "123" //3 chars password2 = "gie[rh[iuhberieg" //16 chars password3 = "efbiwerbfiwferbirgfbiuqrfgbdrfgjnbqairbqifhrbeqi[frb[rifhb[qirfbq]]]qaef[048FERGerwWRGG]FASF03404924" // 100 chars password4 = "" role0 = "invalid-role" role1 = "user" role2 = "user" role3 = "admin" role1 = RoleUser role2 = RoleUser role3 = RoleAdmin role4 = RoleUser sboxname0 = "123456789012345" // more than 11 chars sboxname1 = "sbox-1" sboxname2 = "sbox-2" sboxname3 = "sbox-3" sboxname4 = "sbox-4" ) func TestConnector(t *testing.T) { Loading Loading @@ -140,10 +144,6 @@ func TestPostgisCreateUser(t *testing.T) { if err == nil { t.Fatalf("user creation should have failed") } err = pc.CreateUser(provider1, username1, password0, role1, sboxname1) if err == nil { t.Fatalf("user creation should have failed") } err = pc.CreateUser(provider1, username1, password1, role0, sboxname1) if err == nil { t.Fatalf("user creation should have failed") Loading Loading @@ -235,9 +235,36 @@ func TestPostgisCreateUser(t *testing.T) { t.Fatalf("Wrong user authentication") } err = pc.CreateUser(provider4, username4, password4, role4, sboxname4) if err != nil { t.Fatalf("Failed to create asset") } user, err = pc.GetUser(provider4, username4) if err != nil || user == nil { t.Fatalf("Failed to get user") } if user.Provider != provider4 || user.Username != username4 || user.Role != role4 || user.Sboxname != sboxname4 { t.Fatalf("Wrong user data") } if user.Password == password4 { t.Fatalf("Password not encrypted") } valid, err = pc.IsValidUser(provider4, username4) if err != nil || !valid { t.Fatalf("Failed to validate user") } valid, err = pc.AuthenticateUser(provider4, username4, password4) if err != nil || !valid { t.Fatalf("Failed to authenticate user") } valid, err = pc.AuthenticateUser(provider4, username4, password3) if err != nil || valid { t.Fatalf("Wrong user authentication") } // Verify all additions worked userMap, err = pc.GetUsers() if err != nil || len(userMap) != 3 { if err != nil || len(userMap) != 4 { t.Fatalf("Error getting all users") } user, found := userMap[pc.GetUserKey(provider1, username1)] Loading @@ -261,6 +288,13 @@ func TestPostgisCreateUser(t *testing.T) { if user.Provider != provider3 || user.Username != username3 || user.Role != role3 || user.Sboxname != sboxname3 { t.Fatalf("Wrong user data") } user, found = userMap[pc.GetUserKey(provider4, username4)] if !found { t.Fatalf("User not found") } if user.Provider != provider4 || user.Username != username4 || user.Role != role4 || user.Sboxname != sboxname4 { t.Fatalf("Wrong user data") } // Remove & validate update fmt.Println("Remove user & validate update") Loading
test/run-ut.sh +1 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ GOPKGS=( meep-net-char-mgr meep-pdu-session-store meep-subscriptions meep-users meep-watchdog ) Loading