diff --git a/.woodpecker/.deploy.yaml b/.woodpecker/.deploy.yaml index 2e43ad6..90295e7 100644 --- a/.woodpecker/.deploy.yaml +++ b/.woodpecker/.deploy.yaml @@ -1,4 +1,3 @@ -skip_clone: true steps: - name: bump tag in deployment-repo image: git.ar21.de/aaron/kustomize-ci diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 4102d67..52da650 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -5,6 +5,7 @@ import ( "git.ar21.de/yolokube/grafana-backuper/internal/config" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestConfig_Validate_MissingFields(t *testing.T) { @@ -12,6 +13,13 @@ func TestConfig_Validate_MissingFields(t *testing.T) { errs := cfg.Validate() assert.Len(t, errs, 6) // Expecting 6 errors since all required fields are missing + + require.ErrorIs(t, errs[0], config.ErrInvalidGrafanaURL) + require.ErrorIs(t, errs[1], config.ErrInvalidAuthToken) + require.ErrorIs(t, errs[2], config.ErrInvalidRepoURL) + require.ErrorIs(t, errs[3], config.ErrInvalidGitUser) + require.ErrorIs(t, errs[4], config.ErrInvalidGitPass) + require.ErrorIs(t, errs[5], config.ErrInvalidBranchName) } func TestConfig_Validate_AllFieldsPresent(t *testing.T) { @@ -37,4 +45,8 @@ func TestConfig_Validate_PartiallyPopulated(t *testing.T) { errs := cfg.Validate() assert.Len(t, errs, 3) // Expecting 3 errors for missing GrafanaToken, GitPass, and GitBranch + + require.ErrorIs(t, errs[0], config.ErrInvalidGrafanaURL) + require.ErrorIs(t, errs[1], config.ErrInvalidGitPass) + require.ErrorIs(t, errs[2], config.ErrInvalidBranchName) } diff --git a/pkg/git/project_test.go b/pkg/git/project_test.go index 5f3f92c..f38accd 100644 --- a/pkg/git/project_test.go +++ b/pkg/git/project_test.go @@ -1,10 +1,12 @@ package git_test import ( + "context" "testing" "git.ar21.de/yolokube/grafana-backuper/pkg/git" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestNewProject(t *testing.T) { @@ -12,3 +14,21 @@ func TestNewProject(t *testing.T) { assert.NotNil(t, project) assert.Equal(t, "https://example.com/repo.git", project.RepoURL) } + +func TestProject_Clone(t *testing.T) { + // Create a Project instance and clone the repository + project := git.NewProject("https://example.com/repo.git") + err := project.Clone(context.Background()) + require.NoError(t, err) +} + +func TestProject_Checkout(t *testing.T) { + project := git.NewProject("https://example.com/repo.git") + err := project.Clone(context.Background()) + require.NoError(t, err) + + project.Branch = "test-branch" + + err = project.Checkout() + require.NoError(t, err) +}