From e9f362fed2ec1641ffd69d5994c1733f75649cfc Mon Sep 17 00:00:00 2001 From: yago yudi <yyvf@pm.me> Date: Fri, 21 Mar 2025 11:58:28 -0300 Subject: [PATCH] refactor: user_test --- cmd/group.go | 6 ++- cmd/root.go | 8 +-- cmd/user.go | 20 +++---- cmd/user/block.go | 9 ++-- extras/create_test.go | 112 -------------------------------------- go.mod | 3 ++ go.sum | 2 + model/user_test.go | 123 ++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 153 insertions(+), 130 deletions(-) delete mode 100644 extras/create_test.go create mode 100644 model/user_test.go diff --git a/cmd/group.go b/cmd/group.go index d3da7ee..49a7be1 100644 --- a/cmd/group.go +++ b/cmd/group.go @@ -11,6 +11,8 @@ var groupCmd = &cobra.Command{ } func init() { - groupCmd.AddCommand(group.CreateCmd) - groupCmd.AddCommand(group.DeleteCmd) + groupCmd.AddCommand( + group.CreateCmd, + group.DeleteCmd, + ) } diff --git a/cmd/root.go b/cmd/root.go index 475101c..406a0bc 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -28,7 +28,9 @@ func Execute() { } func init() { - rootCmd.AddCommand(userCmd) - rootCmd.AddCommand(groupCmd) - rootCmd.AddCommand(bulkCmd) + rootCmd.AddCommand( + userCmd, + groupCmd, + bulkCmd, + ) } diff --git a/cmd/user.go b/cmd/user.go index 83497f4..f43617b 100644 --- a/cmd/user.go +++ b/cmd/user.go @@ -12,13 +12,15 @@ var userCmd = &cobra.Command{ } func init() { - userCmd.AddCommand(user.ModCmd) - userCmd.AddCommand(user.ShowCmd) - userCmd.AddCommand(user.TempCmd) - //userCmd.AddCommand(user.BulkCmd) - userCmd.AddCommand(user.ResetCmd) - userCmd.AddCommand(user.CreateCmd) - userCmd.AddCommand(user.RemoveCmd) - userCmd.AddCommand(user.BlockCmd) - userCmd.AddCommand(user.UnblockCmd) + userCmd.AddCommand( + user.ModCmd, + user.ShowCmd, + user.TempCmd, + //user.BulkCmd, + user.ResetCmd, + user.CreateCmd, + user.RemoveCmd, + user.BlockCmd, + user.UnblockCmd, + ) } diff --git a/cmd/user/block.go b/cmd/user/block.go index 6255f13..e148992 100644 --- a/cmd/user/block.go +++ b/cmd/user/block.go @@ -9,10 +9,11 @@ import ( ) var BlockCmd = &cobra.Command{ - Use: "block [username]", - Short: "Block a user", - Args: cobra.ExactArgs(1), - RunE: BlockUserCmd, + Use: "block [username]", + Short: "Block a user", + Example: " useradm block bpt22", + Args: cobra.ExactArgs(1), + RunE: BlockUserCmd, } func BlockUserCmd(cmd *cobra.Command, args []string) error { diff --git a/extras/create_test.go b/extras/create_test.go deleted file mode 100644 index 61899cf..0000000 --- a/extras/create_test.go +++ /dev/null @@ -1,112 +0,0 @@ -package extras - -import ( - "reflect" - "testing" - - "gitlab.c3sl.ufpr.br/tss24/useradm/model" -) - -func assertEqual(t *testing.T, a any, b any) { - if !reflect.DeepEqual(a, b) { - t.Fatalf("%s != %s", a, b) - } -} - -func TestGenLogin(t *testing.T) { - assertEqual(t, genLogin("", "20241982", model.Initials, 0), "_") - assertEqual(t, genLogin("", "20241982", model.Initials, 1), "_") - assertEqual(t, genLogin("", "20241982", model.Initials, 2), "_") - assertEqual(t, genLogin("", "20241982", model.Initials, 3), "_") - - assertEqual(t, genLogin("", "20241982", model.FirstName, 0), "_") - assertEqual(t, genLogin("", "20241982", model.FirstName, 1), "_") - assertEqual(t, genLogin("", "20241982", model.FirstName, 2), "_") - assertEqual(t, genLogin("", "20241982", model.FirstName, 3), "_") - - assertEqual(t, genLogin("", "20241982", model.LastName, 0), "_") - assertEqual(t, genLogin("", "20241982", model.LastName, 1), "_") - assertEqual(t, genLogin("", "20241982", model.LastName, 2), "_") - assertEqual(t, genLogin("", "20241982", model.LastName, 3), "_") - - assertEqual(t, genLogin("de", "20241982", model.Initials, 0), "_") - assertEqual(t, genLogin("de", "20241982", model.Initials, 1), "_") - assertEqual(t, genLogin("de", "20241982", model.Initials, 2), "_") - assertEqual(t, genLogin("de", "20241982", model.Initials, 3), "_") - - assertEqual(t, genLogin("de", "20241982", model.FirstName, 0), "_") - assertEqual(t, genLogin("de", "20241982", model.FirstName, 1), "_") - assertEqual(t, genLogin("de", "20241982", model.FirstName, 2), "_") - assertEqual(t, genLogin("de", "20241982", model.FirstName, 3), "_") - - assertEqual(t, genLogin("de", "20241982", model.LastName, 0), "_") - assertEqual(t, genLogin("de", "20241982", model.LastName, 1), "_") - assertEqual(t, genLogin("de", "20241982", model.LastName, 2), "_") - assertEqual(t, genLogin("de", "20241982", model.LastName, 3), "_") - - assertEqual(t, genLogin("da de", "20241982", model.Initials, 0), "_") - assertEqual(t, genLogin("da de", "20241982", model.Initials, 1), "_") - assertEqual(t, genLogin("da de", "20241982", model.Initials, 2), "_") - assertEqual(t, genLogin("da de", "20241982", model.Initials, 3), "_") - - assertEqual(t, genLogin("da de", "20241982", model.FirstName, 0), "_") - assertEqual(t, genLogin("da de", "20241982", model.FirstName, 1), "_") - assertEqual(t, genLogin("da de", "20241982", model.FirstName, 2), "_") - assertEqual(t, genLogin("da de", "20241982", model.FirstName, 3), "_") - - assertEqual(t, genLogin("da de", "20241982", model.LastName, 0), "_") - assertEqual(t, genLogin("da de", "20241982", model.LastName, 1), "_") - assertEqual(t, genLogin("da de", "20241982", model.LastName, 2), "_") - assertEqual(t, genLogin("da de", "20241982", model.LastName, 3), "_") - - assertEqual(t, genLogin("Fabiano", "20241982", model.Initials, 0), "f24") - assertEqual(t, genLogin("Fabiano", "20241982", model.Initials, 1), "fa24") - assertEqual(t, genLogin("Fabiano", "20241982", model.Initials, 2), "fab24") - assertEqual(t, genLogin("Fabiano", "20241982", model.Initials, 3), "fabi24") - - assertEqual(t, genLogin("Fabiano", "20241982", model.FirstName, 0), "fabiano") - assertEqual(t, genLogin("Fabiano", "20241982", model.FirstName, 1), "fabiano") - assertEqual(t, genLogin("Fabiano", "20241982", model.FirstName, 2), "fabiano") - assertEqual(t, genLogin("Fabiano", "20241982", model.FirstName, 3), "fabiano") - - assertEqual(t, genLogin("Fabiano", "20241982", model.LastName, 0), "fabiano") - assertEqual(t, genLogin("Fabiano", "20241982", model.LastName, 1), "fabiano") - assertEqual(t, genLogin("Fabiano", "20241982", model.LastName, 2), "fabiano") - assertEqual(t, genLogin("Fabiano", "20241982", model.LastName, 3), "fabiano") - - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 0), "faps24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 1), "faaps24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 2), "faanps24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 3), "faanpes24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 14), "fabiaantunperesouz24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 18), "fabianantunepereisouza24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 19), "fabianantunepereirsouza24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 20), "fabianoantunepereirsouza24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 21), "fabianoantunespereirsouza24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 22), "fabianoantunespereirasouza24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 40), "fabianoantunespereirasouza24") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.Initials, 50), "fabianoantunespereirasouza24") - - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 0), "fabiano") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 1), "fabianoa") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 2), "fabianoap") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 3), "fabianoaps") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 4), "fabianoanps") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 16), "fabianoantunepereisouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 17), "fabianoantunepereirsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 18), "fabianoantunespereirsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 19), "fabianoantunespereirasouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 20), "fabianoantunespereirasouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.FirstName, 50), "fabianoantunespereirasouza") - - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 0), "fapsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 1), "faapsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 2), "faanpsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 3), "faanpesouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 15), "fabianantunepereirsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 16), "fabianoantunepereirsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 17), "fabianoantunespereirsouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 18), "fabianoantunespereirasouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 19), "fabianoantunespereirasouza") - assertEqual(t, genLogin("Fabiano Antunes Pereira de Souza", "20241982", model.LastName, 100), "fabianoantunespereirasouza") -} diff --git a/go.mod b/go.mod index 0b1c8cb..eb36d63 100644 --- a/go.mod +++ b/go.mod @@ -9,10 +9,13 @@ require ( require ( github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect github.com/go-asn1-ber/asn1-ber v1.5.7 // indirect github.com/google/uuid v1.6.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect github.com/spf13/pflag v1.0.5 // indirect + github.com/stretchr/testify v1.10.0 // indirect golang.org/x/crypto v0.31.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 6681d94..5bf2c33 100644 --- a/go.sum +++ b/go.sum @@ -47,6 +47,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= diff --git a/model/user_test.go b/model/user_test.go new file mode 100644 index 0000000..a7d4b4a --- /dev/null +++ b/model/user_test.go @@ -0,0 +1,123 @@ +package model + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestGenLogin(t *testing.T) { + userTable := []struct { + name string + grr string + ltype LoginType + variance int + expected string + }{ + {"", "20241982", Initials, 0, "_"}, + {"", "20241982", Initials, 1, "_"}, + {"", "20241982", Initials, 2, "_"}, + {"", "20241982", Initials, 3, "_"}, + + {"", "20241982", FirstName, 0, "_"}, + {"", "20241982", FirstName, 1, "_"}, + {"", "20241982", FirstName, 2, "_"}, + {"", "20241982", FirstName, 3, "_"}, + + {"", "20241982", LastName, 0, "_"}, + {"", "20241982", LastName, 1, "_"}, + {"", "20241982", LastName, 2, "_"}, + {"", "20241982", LastName, 3, "_"}, + + {"de", "20241982", Initials, 0, "_"}, + {"de", "20241982", Initials, 1, "_"}, + {"de", "20241982", Initials, 2, "_"}, + {"de", "20241982", Initials, 3, "_"}, + + {"de", "20241982", FirstName, 0, "_"}, + {"de", "20241982", FirstName, 1, "_"}, + {"de", "20241982", FirstName, 2, "_"}, + {"de", "20241982", FirstName, 3, "_"}, + + {"de", "20241982", LastName, 0, "_"}, + {"de", "20241982", LastName, 1, "_"}, + {"de", "20241982", LastName, 2, "_"}, + {"de", "20241982", LastName, 3, "_"}, + + {"da de", "20241982", Initials, 0, "_"}, + {"da de", "20241982", Initials, 1, "_"}, + {"da de", "20241982", Initials, 2, "_"}, + {"da de", "20241982", Initials, 3, "_"}, + + {"da de", "20241982", FirstName, 0, "_"}, + {"da de", "20241982", FirstName, 1, "_"}, + {"da de", "20241982", FirstName, 2, "_"}, + {"da de", "20241982", FirstName, 3, "_"}, + + {"da de", "20241982", LastName, 0, "_"}, + {"da de", "20241982", LastName, 1, "_"}, + {"da de", "20241982", LastName, 2, "_"}, + {"da de", "20241982", LastName, 3, "_"}, + + {"Fabiano", "20241982", Initials, 0, "f24"}, + {"Fabiano", "20241982", Initials, 1, "fa24"}, + {"Fabiano", "20241982", Initials, 2, "fab24"}, + {"Fabiano", "20241982", Initials, 3, "fabi24"}, + + {"Fabiano", "20241982", FirstName, 0, "fabiano"}, + {"Fabiano", "20241982", FirstName, 1, "fabiano"}, + {"Fabiano", "20241982", FirstName, 2, "fabiano"}, + {"Fabiano", "20241982", FirstName, 3, "fabiano"}, + + {"Fabiano", "20241982", LastName, 0, "fabiano"}, + {"Fabiano", "20241982", LastName, 1, "fabiano"}, + {"Fabiano", "20241982", LastName, 2, "fabiano"}, + {"Fabiano", "20241982", LastName, 3, "fabiano"}, + + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 0, "faps24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 1, "faaps24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 2, "faanps24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 3, "faanpes24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 14, "fabiaantunperesouz24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 18, "fabianantunepereisouza24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 19, "fabianantunepereirsouza24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 20, "fabianoantunepereirsouza24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 21, "fabianoantunespereirsouza24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 22, "fabianoantunespereirasouza24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 40, "fabianoantunespereirasouza24"}, + {"Fabiano Antunes Pereira de Souza", "20241982", Initials, 50, "fabianoantunespereirasouza24"}, + + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 0, "fabiano"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 1, "fabianoa"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 2, "fabianoap"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 3, "fabianoaps"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 4, "fabianoanps"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 16, "fabianoantunepereisouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 17, "fabianoantunepereirsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 18, "fabianoantunespereirsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 19, "fabianoantunespereirasouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 20, "fabianoantunespereirasouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", FirstName, 50, "fabianoantunespereirasouza"}, + + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 0, "fapsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 1, "faapsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 2, "faanpsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 3, "faanpesouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 15, "fabianantunepereirsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 16, "fabianoantunepereirsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 17, "fabianoantunespereirsouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 18, "fabianoantunespereirasouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 19, "fabianoantunespereirasouza"}, + {"Fabiano Antunes Pereira de Souza", "20241982", LastName, 100, "fabianoantunespereirasouza"}, + } + + for _, u := range userTable { + user := &User{ + Name: u.name, + GRR: u.grr, + Ltype: u.ltype, + } + login := user.genLogin(u.variance) + assert.Equal(t, u.expected, login) + } +} -- GitLab