aboutsummaryrefslogtreecommitdiffstats
path: root/tests/integration
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration')
-rw-r--r--tests/integration/api_actions_run_test.go (renamed from tests/integration/api_actions_delete_run_test.go)38
-rw-r--r--tests/integration/api_repo_edit_test.go54
2 files changed, 92 insertions, 0 deletions
diff --git a/tests/integration/api_actions_delete_run_test.go b/tests/integration/api_actions_run_test.go
index 5b41702c57..a0292f8f8b 100644
--- a/tests/integration/api_actions_delete_run_test.go
+++ b/tests/integration/api_actions_run_test.go
@@ -18,6 +18,44 @@ import (
"github.com/stretchr/testify/assert"
)
+func TestAPIActionsGetWorkflowRun(t *testing.T) {
+ defer prepareTestEnvActionsArtifacts(t)()
+
+ repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
+ user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID})
+ session := loginUser(t, user.Name)
+ token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)
+
+ req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/runs/802802", repo.FullName())).
+ AddTokenAuth(token)
+ MakeRequest(t, req, http.StatusNotFound)
+ req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/runs/802", repo.FullName())).
+ AddTokenAuth(token)
+ MakeRequest(t, req, http.StatusNotFound)
+ req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/runs/803", repo.FullName())).
+ AddTokenAuth(token)
+ MakeRequest(t, req, http.StatusOK)
+}
+
+func TestAPIActionsGetWorkflowJob(t *testing.T) {
+ defer prepareTestEnvActionsArtifacts(t)()
+
+ repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2})
+ user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: repo.OwnerID})
+ session := loginUser(t, user.Name)
+ token := getTokenForLoggedInUser(t, session, auth_model.AccessTokenScopeWriteRepository)
+
+ req := NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/jobs/198198", repo.FullName())).
+ AddTokenAuth(token)
+ MakeRequest(t, req, http.StatusNotFound)
+ req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/jobs/198", repo.FullName())).
+ AddTokenAuth(token)
+ MakeRequest(t, req, http.StatusOK)
+ req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/actions/jobs/196", repo.FullName())).
+ AddTokenAuth(token)
+ MakeRequest(t, req, http.StatusNotFound)
+}
+
func TestAPIActionsDeleteRunCheckPermission(t *testing.T) {
defer prepareTestEnvActionsArtifacts(t)()
diff --git a/tests/integration/api_repo_edit_test.go b/tests/integration/api_repo_edit_test.go
index e228da26e9..7fe59c0d09 100644
--- a/tests/integration/api_repo_edit_test.go
+++ b/tests/integration/api_repo_edit_test.go
@@ -76,12 +76,36 @@ func getRepoEditOptionFromRepo(repo *repo_model.Repository) *api.EditRepoOption
allowFastForwardOnly = config.AllowFastForwardOnly
}
archived := repo.IsArchived
+ hasProjects := false
+ var projectsMode *string
+ if unit, err := repo.GetUnit(db.DefaultContext, unit_model.TypeProjects); err == nil && unit != nil {
+ hasProjects = true
+ pm := string(unit.ProjectsConfig().ProjectsMode)
+ projectsMode = &pm
+ }
+ hasCode := repo.UnitEnabled(db.DefaultContext, unit_model.TypeCode)
+ hasPackages := repo.UnitEnabled(db.DefaultContext, unit_model.TypePackages)
+ hasReleases := repo.UnitEnabled(db.DefaultContext, unit_model.TypeReleases)
+ hasActions := false
+ if unit, err := repo.GetUnit(db.DefaultContext, unit_model.TypeActions); err == nil && unit != nil {
+ hasActions = true
+ // TODO: expose action config of repo to api
+ // actionsConfig = &api.RepoActionsConfig{
+ // DisabledWorkflows: unit.ActionsConfig().DisabledWorkflows,
+ // }
+ }
return &api.EditRepoOption{
Name: &name,
Description: &description,
Website: &website,
Private: &private,
HasIssues: &hasIssues,
+ HasProjects: &hasProjects,
+ ProjectsMode: projectsMode,
+ HasCode: &hasCode,
+ HasPackages: &hasPackages,
+ HasReleases: &hasReleases,
+ HasActions: &hasActions,
ExternalTracker: externalTracker,
InternalTracker: internalTracker,
HasWiki: &hasWiki,
@@ -108,6 +132,11 @@ func getNewRepoEditOption(opts *api.EditRepoOption) *api.EditRepoOption {
private := !*opts.Private
hasIssues := !*opts.HasIssues
hasWiki := !*opts.HasWiki
+ hasProjects := !*opts.HasProjects
+ hasCode := !*opts.HasCode
+ hasPackages := !*opts.HasPackages
+ hasReleases := !*opts.HasReleases
+ hasActions := !*opts.HasActions
defaultBranch := "master"
hasPullRequests := !*opts.HasPullRequests
ignoreWhitespaceConflicts := !*opts.IgnoreWhitespaceConflicts
@@ -125,6 +154,11 @@ func getNewRepoEditOption(opts *api.EditRepoOption) *api.EditRepoOption {
DefaultBranch: &defaultBranch,
HasIssues: &hasIssues,
HasWiki: &hasWiki,
+ HasProjects: &hasProjects,
+ HasCode: &hasCode,
+ HasPackages: &hasPackages,
+ HasReleases: &hasReleases,
+ HasActions: &hasActions,
HasPullRequests: &hasPullRequests,
IgnoreWhitespaceConflicts: &ignoreWhitespaceConflicts,
AllowMerge: &allowMerge,
@@ -156,6 +190,11 @@ func TestAPIRepoEdit(t *testing.T) {
// Test editing a repo1 which user2 owns, changing name and many properties
origRepoEditOption := getRepoEditOptionFromRepo(repo1)
+ assert.True(t, *origRepoEditOption.HasCode)
+ assert.True(t, *origRepoEditOption.HasPackages)
+ assert.True(t, *origRepoEditOption.HasProjects)
+ assert.True(t, *origRepoEditOption.HasReleases)
+ assert.True(t, *origRepoEditOption.HasActions)
repoEditOption := getNewRepoEditOption(origRepoEditOption)
req := NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/%s", user2.Name, repo1.Name), &repoEditOption).
AddTokenAuth(token2)
@@ -177,6 +216,11 @@ func TestAPIRepoEdit(t *testing.T) {
assert.Equal(t, *repoEditOption.Archived, *repo1editedOption.Archived)
assert.Equal(t, *repoEditOption.Private, *repo1editedOption.Private)
assert.Equal(t, *repoEditOption.HasWiki, *repo1editedOption.HasWiki)
+ assert.Equal(t, *repoEditOption.HasCode, *repo1editedOption.HasCode)
+ assert.Equal(t, *repoEditOption.HasPackages, *repo1editedOption.HasPackages)
+ assert.Equal(t, *repoEditOption.HasProjects, *repo1editedOption.HasProjects)
+ assert.Equal(t, *repoEditOption.HasReleases, *repo1editedOption.HasReleases)
+ assert.Equal(t, *repoEditOption.HasActions, *repo1editedOption.HasActions)
// Test editing repo1 to use internal issue and wiki (default)
*repoEditOption.HasIssues = true
@@ -224,6 +268,11 @@ func TestAPIRepoEdit(t *testing.T) {
assert.Equal(t, *repo1editedOption.ExternalTracker, *repoEditOption.ExternalTracker)
assert.True(t, *repo1editedOption.HasWiki)
assert.Equal(t, *repo1editedOption.ExternalWiki, *repoEditOption.ExternalWiki)
+ assert.False(t, *repo1editedOption.HasCode)
+ assert.False(t, *repo1editedOption.HasPackages)
+ assert.False(t, *repo1editedOption.HasProjects)
+ assert.False(t, *repo1editedOption.HasReleases)
+ assert.False(t, *repo1editedOption.HasActions)
repoEditOption.ExternalTracker.ExternalTrackerStyle = "regexp"
repoEditOption.ExternalTracker.ExternalTrackerRegexpPattern = `(\d+)`
@@ -272,6 +321,11 @@ func TestAPIRepoEdit(t *testing.T) {
assert.NotNil(t, *repo1editedOption.ExternalTracker)
assert.True(t, *repo1editedOption.HasWiki)
assert.NotNil(t, *repo1editedOption.ExternalWiki)
+ assert.False(t, *repo1editedOption.HasCode)
+ assert.False(t, *repo1editedOption.HasPackages)
+ assert.False(t, *repo1editedOption.HasProjects)
+ assert.False(t, *repo1editedOption.HasReleases)
+ assert.False(t, *repo1editedOption.HasActions)
// reset repo in db
req = NewRequestWithJSON(t, "PATCH", fmt.Sprintf("/api/v1/repos/%s/%s", user2.Name, *repoEditOption.Name), &origRepoEditOption).