aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/model_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/admin/model_test.go')
-rw-r--r--internal/admin/model_test.go91
1 files changed, 44 insertions, 47 deletions
diff --git a/internal/admin/model_test.go b/internal/admin/model_test.go
index b73280a..9690263 100644
--- a/internal/admin/model_test.go
+++ b/internal/admin/model_test.go
@@ -12,12 +12,48 @@ import (
"testing"
"github.com/go-git/go-billy/v5/osfs"
+ "github.com/go-git/go-billy/v5/util"
"github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing/object"
"github.com/go-git/go-git/v5/storage/filesystem"
"gopkg.in/ini.v1"
+ "sigs.k8s.io/yaml"
)
+func configDefaultTestRepo(repoPath string, defaultConfigBytes []byte) error {
+ gitFs := osfs.New(repoPath)
+ strg := filesystem.NewStorage(gitFs, nil)
+ repo, _ := git.Init(strg, gitFs)
+ // add file
+
+ fileToCommit := "gitserver.yaml"
+ // src
+ err := util.WriteFile(gitFs, fileToCommit, defaultConfigBytes, os.FileMode(int(0644)))
+ if err != nil {
+ return err
+ }
+
+ wt, err := repo.Worktree()
+ if err != nil {
+ return err
+ }
+ if _, err := wt.Add(fileToCommit); err != nil {
+ return err
+ }
+ _, err = wt.Commit(fileToCommit,
+ &git.CommitOptions{
+ Author: &object.Signature{
+ Name: "go git server",
+ Email: "go-git-server@go-git-server",
+ },
+ },
+ )
+ if err != nil {
+ return err
+ }
+ return nil
+}
+
//nolint:cyclop
func TestCasbinPolicies(t *testing.T) {
roleName := "myrole"
@@ -146,76 +182,37 @@ func TestMgmtGitConfig(t *testing.T) {
// setup tempdir
gitDir := t.TempDir()
// init git repo
- gitFs := osfs.New(gitDir)
- strg := filesystem.NewStorage(gitFs, nil)
- repo, _ := git.Init(strg, gitFs)
- // add file
-
- // src
- srcFile, err := os.Open("../../gitserver.yaml")
- if err != nil {
- t.Fatalf("Error opening base config %s", err)
- }
- defer srcFile.Close()
-
- // file name
- // fileToCommit := fs.Join(gitDir, "gitserver.yaml")
- fileToCommit := "gitserver.yaml"
-
- // dest
- destFile, err := gitFs.OpenFile(fileToCommit, os.O_RDWR|os.O_CREATE, 0755)
- if err != nil {
- t.Fatalf("failed to open destination in git repo %s", err)
- }
- defer destFile.Close()
-
- // copy
- if _, err := io.Copy(destFile, srcFile); err != nil {
- t.Fatalf("Error copying file %s", err)
- }
- // commit
- wt, err := repo.Worktree()
+ repoPath := filepath.Join(gitDir, mgmtRepoName)
+ defaultConfigBytes, err := yaml.Marshal(defaultServerConfig)
if err != nil {
t.Fatal(err)
}
- if _, err := wt.Add(fileToCommit); err != nil {
- t.Fatal(err)
- }
- _, err = wt.Commit(fileToCommit,
- &git.CommitOptions{
- Author: &object.Signature{
- Name: "go git server",
- Email: "go-git-server@go-git-server",
- },
- },
- )
- if err != nil {
- t.Fatalf("Error creating commit %s", err)
+ if err := configDefaultTestRepo(repoPath, defaultConfigBytes); err != nil {
+ t.Fatal(err)
}
// run load func
- content, err := loadFromGit(gitDir, "gitserver.yaml")
+ content, err := loadConfigFromGit(gitDir, "gitserver.yaml")
if err != nil {
t.Fatal(err)
}
// "go-git-server"
- if !bytes.Contains(content, []byte("go-git-server")) {
+ if !bytes.Equal(content, defaultConfigBytes) {
t.Fatal("config missing expected")
}
// check couldnt clone err
- _, err = loadFromGit("/dne/bar", "gitserver.yaml")
+ _, err = loadConfigFromGit("/dne/bar", "gitserver.yaml")
if err == nil {
t.Fatal("expected an cloning repo didn't find one")
}
// check couldnt open file err
- _, err = loadFromGit(gitDir, "dne.yaml")
+ _, err = loadConfigFromGit(gitDir, "dne.yaml")
if err == nil {
t.Fatal("expected an error opening config file didn't find one")
}
- // TODO run via serverLoadConfig
}
//nolint:cyclop