Merge pull request #5751 from wy65701436/fix-gofmt

Fix gofmt check results
This commit is contained in:
Daniel Jiang 2018-08-29 13:20:19 +08:00 committed by GitHub
commit 925f70a1ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
107 changed files with 389 additions and 388 deletions

View File

@ -26,9 +26,9 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/adminserver/systemcfg" "github.com/goharbor/harbor/src/adminserver/systemcfg"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/stretchr/testify/assert"
) )
type fakeCfgStore struct { type fakeCfgStore struct {

View File

@ -1,8 +1,8 @@
package api package api
import ( import (
"net/http"
"github.com/goharbor/harbor/src/common/utils/log" "github.com/goharbor/harbor/src/common/utils/log"
"net/http"
) )
// Ping monitor the server status // Ping monitor the server status

View File

@ -1,16 +1,17 @@
package api package api
import(
"testing" import (
"net/http/httptest"
"net/http"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"io/ioutil" "io/ioutil"
"net/http"
"net/http/httptest"
"testing"
) )
func TestPing(t *testing.T) { func TestPing(t *testing.T) {
w := httptest.NewRecorder() w := httptest.NewRecorder()
Ping(w, nil) Ping(w, nil)
assert.Equal(t, http.StatusOK, w.Code) assert.Equal(t, http.StatusOK, w.Code)
result, _:= ioutil.ReadAll(w.Body) result, _ := ioutil.ReadAll(w.Body)
assert.Equal(t, "\"Pong\"", string(result)) assert.Equal(t, "\"Pong\"", string(result))
} }

View File

@ -22,8 +22,8 @@ import (
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/adminserver/systeminfo/imagestorage" "github.com/goharbor/harbor/src/adminserver/systeminfo/imagestorage"
"github.com/stretchr/testify/assert"
) )
type fakeImageStorageDriver struct { type fakeImageStorageDriver struct {

View File

@ -18,8 +18,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/stretchr/testify/assert"
commonsecret "github.com/goharbor/harbor/src/common/secret" commonsecret "github.com/goharbor/harbor/src/common/secret"
"github.com/stretchr/testify/assert"
) )
func TestAuthenticate(t *testing.T) { func TestAuthenticate(t *testing.T) {

View File

@ -19,9 +19,9 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/stretchr/testify/assert"
) )
var c Client var c Client

View File

@ -18,9 +18,9 @@ import (
"net/http" "net/http"
"os" "os"
gorilla_handlers "github.com/gorilla/handlers"
"github.com/goharbor/harbor/src/adminserver/auth" "github.com/goharbor/harbor/src/adminserver/auth"
"github.com/goharbor/harbor/src/common/utils/log" "github.com/goharbor/harbor/src/common/utils/log"
gorilla_handlers "github.com/gorilla/handlers"
) )
// NewHandler returns a gorilla router which is wrapped by authenticate handler // NewHandler returns a gorilla router which is wrapped by authenticate handler
@ -32,7 +32,7 @@ func NewHandler() http.Handler {
"jobserviceSecret": os.Getenv("JOBSERVICE_SECRET"), "jobserviceSecret": os.Getenv("JOBSERVICE_SECRET"),
} }
insecureAPIs := map[string]bool{ insecureAPIs := map[string]bool{
"/api/ping":true, "/api/ping": true,
} }
h = newAuthHandler(auth.NewSecretAuthenticator(secrets), h, insecureAPIs) h = newAuthHandler(auth.NewSecretAuthenticator(secrets), h, insecureAPIs)
h = gorilla_handlers.LoggingHandler(os.Stdout, h) h = gorilla_handlers.LoggingHandler(os.Stdout, h)
@ -61,7 +61,7 @@ func (a *authHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
return return
} }
if a.insecureAPIs !=nil && a.insecureAPIs[r.URL.Path] { if a.insecureAPIs != nil && a.insecureAPIs[r.URL.Path] {
if a.handler != nil { if a.handler != nil {
a.handler.ServeHTTP(w, r) a.handler.ServeHTTP(w, r)
} }

View File

@ -20,8 +20,8 @@ import (
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/adminserver/auth" "github.com/goharbor/harbor/src/adminserver/auth"
"github.com/stretchr/testify/assert"
) )
type fakeAuthenticator struct { type fakeAuthenticator struct {
@ -50,35 +50,35 @@ func TestNewAuthHandler(t *testing.T) {
requestURL string requestURL string
}{ }{
{nil, nil, nil, http.StatusOK,"http://localhost/good"}, {nil, nil, nil, http.StatusOK, "http://localhost/good"},
{&fakeAuthenticator{ {&fakeAuthenticator{
authenticated: false, authenticated: false,
err: nil, err: nil,
}, nil, nil, http.StatusUnauthorized,"http://localhost/hello"}, }, nil, nil, http.StatusUnauthorized, "http://localhost/hello"},
{&fakeAuthenticator{ {&fakeAuthenticator{
authenticated: false, authenticated: false,
err: errors.New("error"), err: errors.New("error"),
}, nil, nil, http.StatusInternalServerError,"http://localhost/hello"}, }, nil, nil, http.StatusInternalServerError, "http://localhost/hello"},
{&fakeAuthenticator{ {&fakeAuthenticator{
authenticated: true, authenticated: true,
err: nil, err: nil,
}, &fakeHandler{http.StatusNotFound}, nil, http.StatusNotFound,"http://localhost/notexsit"}, }, &fakeHandler{http.StatusNotFound}, nil, http.StatusNotFound, "http://localhost/notexsit"},
{&fakeAuthenticator{ {&fakeAuthenticator{
authenticated: false, authenticated: false,
err: nil, err: nil,
}, &fakeHandler{http.StatusOK},map[string]bool{"/api/ping":true,},http.StatusOK,"http://localhost/api/ping"}, }, &fakeHandler{http.StatusOK}, map[string]bool{"/api/ping": true}, http.StatusOK, "http://localhost/api/ping"},
} }
for _, c := range cases { for _, c := range cases {
handler := newAuthHandler(c.authenticator, c.handler, c.insecureAPIs) handler := newAuthHandler(c.authenticator, c.handler, c.insecureAPIs)
w := httptest.NewRecorder() w := httptest.NewRecorder()
r := httptest.NewRequest("GET",c.requestURL,nil) r := httptest.NewRequest("GET", c.requestURL, nil)
handler.ServeHTTP(w, r) handler.ServeHTTP(w, r)
assert.Equal(t, c.responseCode, w.Code, "unexpected response code") assert.Equal(t, c.responseCode, w.Code, "unexpected response code")
} }
handler := NewHandler() handler := NewHandler()
w := httptest.NewRecorder() w := httptest.NewRecorder()
r := httptest.NewRequest("GET","http://localhost/api/ping",nil) r := httptest.NewRequest("GET", "http://localhost/api/ping", nil)
handler.ServeHTTP(w,r) handler.ServeHTTP(w, r)
} }

View File

@ -17,8 +17,8 @@ package handlers
import ( import (
"net/http" "net/http"
"github.com/gorilla/mux"
"github.com/goharbor/harbor/src/adminserver/api" "github.com/goharbor/harbor/src/adminserver/api"
"github.com/gorilla/mux"
) )
func newRouter() http.Handler { func newRouter() http.Handler {

View File

@ -18,8 +18,8 @@ import (
"errors" "errors"
"testing" "testing"
"github.com/stretchr/testify/assert"
comcfg "github.com/goharbor/harbor/src/common/config" comcfg "github.com/goharbor/harbor/src/common/config"
"github.com/stretchr/testify/assert"
) )
type fakeKeyProvider struct { type fakeKeyProvider struct {

View File

@ -3,9 +3,9 @@ package database
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
) )
func TestCfgStore_Name(t *testing.T) { func TestCfgStore_Name(t *testing.T) {

View File

@ -18,8 +18,8 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/stretchr/testify/assert"
) )
func TestParseStringToInt(t *testing.T) { func TestParseStringToInt(t *testing.T) {

View File

@ -17,8 +17,8 @@ package filesystem
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
storage "github.com/goharbor/harbor/src/adminserver/systeminfo/imagestorage" storage "github.com/goharbor/harbor/src/adminserver/systeminfo/imagestorage"
"github.com/stretchr/testify/assert"
) )
func TestName(t *testing.T) { func TestName(t *testing.T) {

View File

@ -17,9 +17,9 @@ package dao
import ( import (
"testing" "testing"
"github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/models"
) )
func TestAddAdminJob(t *testing.T) { func TestAddAdminJob(t *testing.T) {

View File

@ -20,12 +20,12 @@ import (
"time" "time"
"github.com/astaxie/beego/orm" "github.com/astaxie/beego/orm"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/common/utils" "github.com/goharbor/harbor/src/common/utils"
"github.com/goharbor/harbor/src/common/utils/log" "github.com/goharbor/harbor/src/common/utils/log"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func execUpdate(o orm.Ormer, sql string, params ...interface{}) error { func execUpdate(o orm.Ormer, sql string, params ...interface{}) error {
@ -1311,7 +1311,7 @@ func TestImgScanOverview(t *testing.T) {
comp := &models.ComponentsOverview{ comp := &models.ComponentsOverview{
Total: 2, Total: 2,
Summary: []*models.ComponentsOverviewEntry{ Summary: []*models.ComponentsOverviewEntry{
&models.ComponentsOverviewEntry{ {
Sev: int(models.SevMedium), Sev: int(models.SevMedium),
Count: 2, Count: 2,
}, },

View File

@ -251,17 +251,17 @@ func TestOnBoardUserGroup(t *testing.T) {
func TestGetGroupDNQueryCondition(t *testing.T) { func TestGetGroupDNQueryCondition(t *testing.T) {
userGroupList := []*models.UserGroup{ userGroupList := []*models.UserGroup{
&models.UserGroup{ {
GroupName: "sample1", GroupName: "sample1",
GroupType: 1, GroupType: 1,
LdapGroupDN: "cn=sample1_users,ou=groups,dc=example,dc=com", LdapGroupDN: "cn=sample1_users,ou=groups,dc=example,dc=com",
}, },
&models.UserGroup{ {
GroupName: "sample2", GroupName: "sample2",
GroupType: 1, GroupType: 1,
LdapGroupDN: "cn=sample2_users,ou=groups,dc=example,dc=com", LdapGroupDN: "cn=sample2_users,ou=groups,dc=example,dc=com",
}, },
&models.UserGroup{ {
GroupName: "sample3", GroupName: "sample3",
GroupType: 0, GroupType: 0,
LdapGroupDN: "cn=sample3_users,ou=groups,dc=example,dc=com", LdapGroupDN: "cn=sample3_users,ou=groups,dc=example,dc=com",

View File

@ -23,9 +23,9 @@ import (
_ "github.com/golang-migrate/migrate/database/postgres" //import pgsql driver for migrator _ "github.com/golang-migrate/migrate/database/postgres" //import pgsql driver for migrator
_ "github.com/golang-migrate/migrate/source/file" // import local file driver for migrator _ "github.com/golang-migrate/migrate/source/file" // import local file driver for migrator
_ "github.com/lib/pq" //register pgsql driver
"github.com/goharbor/harbor/src/common/utils" "github.com/goharbor/harbor/src/common/utils"
"github.com/goharbor/harbor/src/common/utils/log" "github.com/goharbor/harbor/src/common/utils/log"
_ "github.com/lib/pq" //register pgsql driver
) )
const defaultMigrationPath = "migrations/postgresql/" const defaultMigrationPath = "migrations/postgresql/"

View File

@ -17,9 +17,9 @@ package dao
import ( import (
"testing" "testing"
"github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/models"
) )
func TestProMetaDaoMethods(t *testing.T) { func TestProMetaDaoMethods(t *testing.T) {

View File

@ -237,7 +237,7 @@ func TestGetProjectMember(t *testing.T) {
t.Errorf("Error occurred when GetProjectByName: %v", err) t.Errorf("Error occurred when GetProjectByName: %v", err)
} }
var memberList1 = []*models.Member{ var memberList1 = []*models.Member{
&models.Member{ {
ID: 346, ID: 346,
Entityname: "admin", Entityname: "admin",
Rolename: "projectAdmin", Rolename: "projectAdmin",
@ -246,7 +246,7 @@ func TestGetProjectMember(t *testing.T) {
EntityType: "u"}, EntityType: "u"},
} }
var memberList2 = []*models.Member{ var memberList2 = []*models.Member{
&models.Member{ {
ID: 398, ID: 398,
Entityname: "test_group_01", Entityname: "test_group_01",
Rolename: "projectAdmin", Rolename: "projectAdmin",

View File

@ -18,10 +18,10 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
var ( var (

View File

@ -17,10 +17,10 @@ package dao
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestMethodsOfResourceLabel(t *testing.T) { func TestMethodsOfResourceLabel(t *testing.T) {

View File

@ -18,8 +18,8 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
) )
func TestDeleteUser(t *testing.T) { func TestDeleteUser(t *testing.T) {

View File

@ -17,9 +17,9 @@ package dao
import ( import (
"testing" "testing"
"github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/models"
) )
func TestMethodsOfWatchItem(t *testing.T) { func TestMethodsOfWatchItem(t *testing.T) {

View File

@ -17,9 +17,9 @@ import (
"net/http" "net/http"
"testing" "testing"
commonsecret "github.com/goharbor/harbor/src/common/secret"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
commonsecret "github.com/goharbor/harbor/src/common/secret"
) )
func TestAuthorizeOfSecretAuthorizer(t *testing.T) { func TestAuthorizeOfSecretAuthorizer(t *testing.T) {

View File

@ -1,9 +1,9 @@
package job package job
import ( import (
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/job/models" "github.com/goharbor/harbor/src/common/job/models"
"github.com/goharbor/harbor/src/common/job/test" "github.com/goharbor/harbor/src/common/job/test"
"github.com/stretchr/testify/assert"
"os" "os"
"testing" "testing"
) )

View File

@ -41,7 +41,7 @@ func TestIsSysAdmin(t *testing.T) {
func TestGetProjectRoles(t *testing.T) { func TestGetProjectRoles(t *testing.T) {
ctx := &AuthContext{ ctx := &AuthContext{
Projects: []*project{ Projects: []*project{
&project{ {
Name: "project", Name: "project",
Roles: []string{projectAdminRole, developerRole, guestRole}, Roles: []string{projectAdminRole, developerRole, guestRole},
Properties: map[string]string{"__projectIndex": "9"}, Properties: map[string]string{"__projectIndex": "9"},
@ -61,11 +61,11 @@ func TestGetProjectRoles(t *testing.T) {
func TestGetMyProjects(t *testing.T) { func TestGetMyProjects(t *testing.T) {
ctx := &AuthContext{ ctx := &AuthContext{
Projects: []*project{ Projects: []*project{
&project{ {
Name: "project1", Name: "project1",
Roles: []string{projectAdminRole}, Roles: []string{projectAdminRole},
}, },
&project{ {
Name: "project2", Name: "project2",
Roles: []string{developerRole}, Roles: []string{developerRole},
}, },

View File

@ -19,8 +19,6 @@ import (
"strconv" "strconv"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/dao/project" "github.com/goharbor/harbor/src/common/dao/project"
@ -28,6 +26,8 @@ import (
"github.com/goharbor/harbor/src/common/utils/log" "github.com/goharbor/harbor/src/common/utils/log"
"github.com/goharbor/harbor/src/ui/promgr" "github.com/goharbor/harbor/src/ui/promgr"
"github.com/goharbor/harbor/src/ui/promgr/pmsdriver/local" "github.com/goharbor/harbor/src/ui/promgr/pmsdriver/local"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
var ( var (
@ -283,7 +283,7 @@ func TestHasAllPermWithGroup(t *testing.T) {
t.Errorf("Error occurred when GetUser: %v", err) t.Errorf("Error occurred when GetUser: %v", err)
} }
developer.GroupList = []*models.UserGroup{ developer.GroupList = []*models.UserGroup{
&models.UserGroup{GroupName: "test_group", GroupType: 1, LdapGroupDN: "cn=harbor_user,dc=example,dc=com"}, {GroupName: "test_group", GroupType: 1, LdapGroupDN: "cn=harbor_user,dc=example,dc=com"},
} }
ctx := NewSecurityContext(developer, pm) ctx := NewSecurityContext(developer, pm)
assert.False(t, ctx.HasAllPerm(project.Name)) assert.False(t, ctx.HasAllPerm(project.Name))
@ -360,7 +360,7 @@ func TestSecurityContext_GetRolesByGroup(t *testing.T) {
t.Errorf("Error occurred when GetUser: %v", err) t.Errorf("Error occurred when GetUser: %v", err)
} }
developer.GroupList = []*models.UserGroup{ developer.GroupList = []*models.UserGroup{
&models.UserGroup{GroupName: "test_group", GroupType: 1, LdapGroupDN: "cn=harbor_user,dc=example,dc=com"}, {GroupName: "test_group", GroupType: 1, LdapGroupDN: "cn=harbor_user,dc=example,dc=com"},
} }
type fields struct { type fields struct {
user *models.User user *models.User

View File

@ -17,9 +17,9 @@ package secret
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/secret" "github.com/goharbor/harbor/src/common/secret"
"github.com/stretchr/testify/assert"
) )
func TestIsAuthenticated(t *testing.T) { func TestIsAuthenticated(t *testing.T) {

View File

@ -17,9 +17,9 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/common/utils/clair/test" "github.com/goharbor/harbor/src/common/utils/clair/test"
"github.com/stretchr/testify/assert"
) )
var ( var (

View File

@ -20,8 +20,8 @@ import (
"runtime" "runtime"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
) )
func TestParseServerity(t *testing.T) { func TestParseServerity(t *testing.T) {

View File

@ -304,7 +304,7 @@ func TestSession_SearchGroup(t *testing.T) {
{"normal search", {"normal search",
fields{ldapConfig: ldapConfig}, fields{ldapConfig: ldapConfig},
args{baseDN: "dc=example,dc=com", filter: "objectClass=groupOfNames", groupName: "harbor_users", groupNameAttribute: "cn"}, args{baseDN: "dc=example,dc=com", filter: "objectClass=groupOfNames", groupName: "harbor_users", groupNameAttribute: "cn"},
[]models.LdapGroup{models.LdapGroup{GroupName: "harbor_users", GroupDN: "cn=harbor_users,ou=groups,dc=example,dc=com"}}, false}, []models.LdapGroup{{GroupName: "harbor_users", GroupDN: "cn=harbor_users,ou=groups,dc=example,dc=com"}}, false},
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
@ -358,7 +358,7 @@ func TestSession_SearchGroupByDN(t *testing.T) {
{"normal search", {"normal search",
fields{ldapConfig: ldapConfig, ldapGroupConfig: ldapGroupConfig}, fields{ldapConfig: ldapConfig, ldapGroupConfig: ldapGroupConfig},
args{groupDN: "cn=harbor_users,ou=groups,dc=example,dc=com"}, args{groupDN: "cn=harbor_users,ou=groups,dc=example,dc=com"},
[]models.LdapGroup{models.LdapGroup{GroupName: "harbor_users", GroupDN: "cn=harbor_users,ou=groups,dc=example,dc=com"}}, false}, []models.LdapGroup{{GroupName: "harbor_users", GroupDN: "cn=harbor_users,ou=groups,dc=example,dc=com"}}, false},
{"search non-exist group", {"search non-exist group",
fields{ldapConfig: ldapConfig, ldapGroupConfig: ldapGroupConfig}, fields{ldapConfig: ldapConfig, ldapGroupConfig: ldapGroupConfig},
args{groupDN: "cn=harbor_non_users,ou=groups,dc=example,dc=com"}, args{groupDN: "cn=harbor_non_users,ou=groups,dc=example,dc=com"},

View File

@ -78,7 +78,7 @@ func GetTargets(notaryEndpoint string, username string, fqRepo string) ([]Target
res := []Target{} res := []Target{}
t, err := tokenutil.MakeToken(username, tokenutil.Notary, t, err := tokenutil.MakeToken(username, tokenutil.Notary,
[]*token.ResourceActions{ []*token.ResourceActions{
&token.ResourceActions{ {
Type: "repository", Type: "repository",
Name: fqRepo, Name: fqRepo,
Actions: []string{"pull"}, Actions: []string{"pull"},

View File

@ -17,11 +17,11 @@ import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
notarytest "github.com/goharbor/harbor/src/common/utils/notary/test" notarytest "github.com/goharbor/harbor/src/common/utils/notary/test"
utilstest "github.com/goharbor/harbor/src/common/utils/test" utilstest "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/ui/config" "github.com/goharbor/harbor/src/ui/config"
"github.com/stretchr/testify/assert"
"net/http/httptest" "net/http/httptest"
"os" "os"

View File

@ -23,10 +23,10 @@ import (
"time" "time"
"github.com/docker/distribution/registry/auth/token" "github.com/docker/distribution/registry/auth/token"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestFilterReq(t *testing.T) { func TestFilterReq(t *testing.T) {

View File

@ -50,7 +50,7 @@ var (
func TestBlobExist(t *testing.T) { func TestBlobExist(t *testing.T) {
handler := func(w http.ResponseWriter, r *http.Request) { handler := func(w http.ResponseWriter, r *http.Request) {
path := r.URL.Path path := r.URL.Path
dgt := path[strings.LastIndex(path, "/")+1 : len(path)] dgt := path[strings.LastIndex(path, "/")+1:]
if dgt == digest { if dgt == digest {
w.Header().Add(http.CanonicalHeaderKey("Content-Length"), strconv.Itoa(len(blob))) w.Header().Add(http.CanonicalHeaderKey("Content-Length"), strconv.Itoa(len(blob)))
w.Header().Add(http.CanonicalHeaderKey("Docker-Content-Digest"), digest) w.Header().Add(http.CanonicalHeaderKey("Docker-Content-Digest"), digest)
@ -205,7 +205,7 @@ func TestDeleteBlob(t *testing.T) {
func TestManifestExist(t *testing.T) { func TestManifestExist(t *testing.T) {
handler := func(w http.ResponseWriter, r *http.Request) { handler := func(w http.ResponseWriter, r *http.Request) {
path := r.URL.Path path := r.URL.Path
tg := path[strings.LastIndex(path, "/")+1 : len(path)] tg := path[strings.LastIndex(path, "/")+1:]
if tg == tag { if tg == tag {
w.Header().Add(http.CanonicalHeaderKey("Docker-Content-Digest"), digest) w.Header().Add(http.CanonicalHeaderKey("Docker-Content-Digest"), digest)
w.Header().Add(http.CanonicalHeaderKey("Content-Type"), mediaType) w.Header().Add(http.CanonicalHeaderKey("Content-Type"), mediaType)

View File

@ -2,8 +2,8 @@ package uaa
import ( import (
"fmt" "fmt"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/utils/uaa/test" "github.com/goharbor/harbor/src/common/utils/uaa/test"
"github.com/stretchr/testify/assert"
"io/ioutil" "io/ioutil"
"net/http/httptest" "net/http/httptest"
"os" "os"

View File

@ -59,7 +59,7 @@ func (fc *FakeClient) SearchUser(name string) ([]*SearchUserEntry, error) {
ExtID: "some-external-id-1", ExtID: "some-external-id-1",
ID: "u-0001", ID: "u-0001",
UserName: "one", UserName: "one",
Emails: []SearchUserEmailEntry{SearchUserEmailEntry{ Emails: []SearchUserEmailEntry{{
Primary: false, Primary: false,
Value: "one@email.com", Value: "one@email.com",
}}, }},
@ -68,7 +68,7 @@ func (fc *FakeClient) SearchUser(name string) ([]*SearchUserEntry, error) {
ExtID: "some-external-id-2-a", ExtID: "some-external-id-2-a",
ID: "u-0002a", ID: "u-0002a",
UserName: "two", UserName: "two",
Emails: []SearchUserEmailEntry{SearchUserEmailEntry{ Emails: []SearchUserEmailEntry{{
Primary: false, Primary: false,
Value: "two@email.com", Value: "two@email.com",
}}, }},

View File

@ -424,7 +424,7 @@ func (fc *fakeController) CancelJob(jobID string) error {
func (fc *fakeController) CheckStatus() (models.JobPoolStats, error) { func (fc *fakeController) CheckStatus() (models.JobPoolStats, error) {
return models.JobPoolStats{ return models.JobPoolStats{
Pools: []*models.JobPoolStatsData{&models.JobPoolStatsData{ Pools: []*models.JobPoolStatsData{{
WorkerPoolID: "fake_pool_ID", WorkerPoolID: "fake_pool_ID",
Status: "running", Status: "running",
StartedAt: time.Now().Unix(), StartedAt: time.Now().Unix(),

View File

@ -6,8 +6,8 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"github.com/gorilla/mux"
"github.com/goharbor/harbor/src/jobservice/errs" "github.com/goharbor/harbor/src/jobservice/errs"
"github.com/gorilla/mux"
) )
const ( const (

View File

@ -7,13 +7,13 @@ import (
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"github.com/robfig/cron"
"github.com/goharbor/harbor/src/jobservice/config" "github.com/goharbor/harbor/src/jobservice/config"
"github.com/goharbor/harbor/src/jobservice/errs" "github.com/goharbor/harbor/src/jobservice/errs"
"github.com/goharbor/harbor/src/jobservice/job" "github.com/goharbor/harbor/src/jobservice/job"
"github.com/goharbor/harbor/src/jobservice/models" "github.com/goharbor/harbor/src/jobservice/models"
"github.com/goharbor/harbor/src/jobservice/pool" "github.com/goharbor/harbor/src/jobservice/pool"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/robfig/cron"
) )
const ( const (

View File

@ -254,7 +254,7 @@ func (f *fakePool) PeriodicallyEnqueue(jobName string, params models.Parameters,
func (f *fakePool) Stats() (models.JobPoolStats, error) { func (f *fakePool) Stats() (models.JobPoolStats, error) {
return models.JobPoolStats{ return models.JobPoolStats{
Pools: []*models.JobPoolStatsData{ Pools: []*models.JobPoolStatsData{
&models.JobPoolStatsData{ {
Status: "running", Status: "running",
}, },
}, },

View File

@ -68,7 +68,7 @@ func BuildBlobURL(endpoint, repository, digest string) string {
func GetTokenForRepo(repository, secret, internalTokenServiceURL string) (string, error) { func GetTokenForRepo(repository, secret, internalTokenServiceURL string) (string, error) {
credential := httpauth.NewSecretAuthorizer(secret) credential := httpauth.NewSecretAuthorizer(secret)
t, err := auth.GetToken(internalTokenServiceURL, true, credential, t, err := auth.GetToken(internalTokenServiceURL, true, credential,
[]*token.ResourceActions{&token.ResourceActions{ []*token.ResourceActions{{
Type: "repository", Type: "repository",
Name: repository, Name: repository,
Actions: []string{"pull"}, Actions: []string{"pull"},

View File

@ -10,10 +10,10 @@ import (
"sync" "sync"
"time" "time"
"github.com/gomodule/redigo/redis"
"github.com/goharbor/harbor/src/jobservice/logger" "github.com/goharbor/harbor/src/jobservice/logger"
"github.com/goharbor/harbor/src/jobservice/models" "github.com/goharbor/harbor/src/jobservice/models"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
) )
const ( const (

View File

@ -16,10 +16,10 @@ import (
"github.com/goharbor/harbor/src/jobservice/errs" "github.com/goharbor/harbor/src/jobservice/errs"
"github.com/goharbor/harbor/src/jobservice/logger" "github.com/goharbor/harbor/src/jobservice/logger"
"github.com/gomodule/redigo/redis"
"github.com/goharbor/harbor/src/jobservice/job" "github.com/goharbor/harbor/src/jobservice/job"
"github.com/goharbor/harbor/src/jobservice/models" "github.com/goharbor/harbor/src/jobservice/models"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
) )
const ( const (

View File

@ -12,10 +12,10 @@ import (
"testing" "testing"
"time" "time"
"github.com/gomodule/redigo/redis"
"github.com/goharbor/harbor/src/jobservice/job" "github.com/goharbor/harbor/src/jobservice/job"
"github.com/goharbor/harbor/src/jobservice/models" "github.com/goharbor/harbor/src/jobservice/models"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
) )
const ( const (

View File

@ -7,11 +7,11 @@ import (
"time" "time"
"github.com/gocraft/work" "github.com/gocraft/work"
"github.com/gomodule/redigo/redis"
"github.com/robfig/cron"
"github.com/goharbor/harbor/src/jobservice/job" "github.com/goharbor/harbor/src/jobservice/job"
"github.com/goharbor/harbor/src/jobservice/logger" "github.com/goharbor/harbor/src/jobservice/logger"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
"github.com/robfig/cron"
) )
const ( const (

View File

@ -13,11 +13,11 @@ import (
"github.com/robfig/cron" "github.com/robfig/cron"
"github.com/gomodule/redigo/redis"
"github.com/goharbor/harbor/src/jobservice/env" "github.com/goharbor/harbor/src/jobservice/env"
"github.com/goharbor/harbor/src/jobservice/logger" "github.com/goharbor/harbor/src/jobservice/logger"
"github.com/goharbor/harbor/src/jobservice/models" "github.com/goharbor/harbor/src/jobservice/models"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
) )
const ( const (

View File

@ -8,9 +8,9 @@ import (
"github.com/gocraft/work" "github.com/gocraft/work"
"github.com/gomodule/redigo/redis"
"github.com/goharbor/harbor/src/jobservice/logger" "github.com/goharbor/harbor/src/jobservice/logger"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
) )
//Sweeper take charge of clearing the outdated data such as scheduled jobs etc.. //Sweeper take charge of clearing the outdated data such as scheduled jobs etc..

View File

@ -14,9 +14,9 @@ import (
"github.com/goharbor/harbor/src/jobservice/opm" "github.com/goharbor/harbor/src/jobservice/opm"
"github.com/goharbor/harbor/src/jobservice/period" "github.com/goharbor/harbor/src/jobservice/period"
"github.com/gomodule/redigo/redis"
"github.com/goharbor/harbor/src/jobservice/models" "github.com/goharbor/harbor/src/jobservice/models"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
) )
const ( const (

View File

@ -9,8 +9,6 @@ import (
"time" "time"
"github.com/gocraft/work" "github.com/gocraft/work"
"github.com/gomodule/redigo/redis"
"github.com/robfig/cron"
"github.com/goharbor/harbor/src/jobservice/env" "github.com/goharbor/harbor/src/jobservice/env"
"github.com/goharbor/harbor/src/jobservice/job" "github.com/goharbor/harbor/src/jobservice/job"
"github.com/goharbor/harbor/src/jobservice/logger" "github.com/goharbor/harbor/src/jobservice/logger"
@ -18,6 +16,8 @@ import (
"github.com/goharbor/harbor/src/jobservice/opm" "github.com/goharbor/harbor/src/jobservice/opm"
"github.com/goharbor/harbor/src/jobservice/period" "github.com/goharbor/harbor/src/jobservice/period"
"github.com/goharbor/harbor/src/jobservice/utils" "github.com/goharbor/harbor/src/jobservice/utils"
"github.com/gomodule/redigo/redis"
"github.com/robfig/cron"
) )
var ( var (

View File

@ -11,7 +11,6 @@ import (
"syscall" "syscall"
"time" "time"
"github.com/gomodule/redigo/redis"
"github.com/goharbor/harbor/src/common/job" "github.com/goharbor/harbor/src/common/job"
"github.com/goharbor/harbor/src/jobservice/api" "github.com/goharbor/harbor/src/jobservice/api"
"github.com/goharbor/harbor/src/jobservice/config" "github.com/goharbor/harbor/src/jobservice/config"
@ -23,6 +22,7 @@ import (
"github.com/goharbor/harbor/src/jobservice/job/impl/scan" "github.com/goharbor/harbor/src/jobservice/job/impl/scan"
"github.com/goharbor/harbor/src/jobservice/logger" "github.com/goharbor/harbor/src/jobservice/logger"
"github.com/goharbor/harbor/src/jobservice/pool" "github.com/goharbor/harbor/src/jobservice/pool"
"github.com/gomodule/redigo/redis"
) )
const ( const (

View File

@ -18,8 +18,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/stretchr/testify/assert"
commonsecret "github.com/goharbor/harbor/src/common/secret" commonsecret "github.com/goharbor/harbor/src/common/secret"
"github.com/stretchr/testify/assert"
) )
func TestAuthorizeRequestInvalid(t *testing.T) { func TestAuthorizeRequestInvalid(t *testing.T) {

View File

@ -19,8 +19,8 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/stretchr/testify/assert"
) )
var c Client var c Client

View File

@ -18,9 +18,9 @@ import (
"net/http" "net/http"
"os" "os"
gorilla_handlers "github.com/gorilla/handlers"
"github.com/goharbor/harbor/src/common/utils/log" "github.com/goharbor/harbor/src/common/utils/log"
"github.com/goharbor/harbor/src/registryctl/auth" "github.com/goharbor/harbor/src/registryctl/auth"
gorilla_handlers "github.com/gorilla/handlers"
) )
// NewHandlerChain returns a gorilla router which is wrapped by authenticate handler // NewHandlerChain returns a gorilla router which is wrapped by authenticate handler

View File

@ -20,8 +20,8 @@ import (
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/registryctl/auth" "github.com/goharbor/harbor/src/registryctl/auth"
"github.com/stretchr/testify/assert"
) )
type fakeAuthenticator struct { type fakeAuthenticator struct {

View File

@ -17,8 +17,8 @@ package handlers
import ( import (
"net/http" "net/http"
"github.com/gorilla/mux"
"github.com/goharbor/harbor/src/registryctl/api" "github.com/goharbor/harbor/src/registryctl/api"
"github.com/gorilla/mux"
) )
func newRouter() http.Handler { func newRouter() http.Handler {

View File

@ -18,13 +18,13 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/goharbor/harbor/src/replication/source" "github.com/goharbor/harbor/src/replication/source"
"github.com/goharbor/harbor/src/replication/target" "github.com/goharbor/harbor/src/replication/target"
"github.com/goharbor/harbor/src/replication/trigger" "github.com/goharbor/harbor/src/replication/trigger"
"github.com/stretchr/testify/assert"
) )
func TestMain(m *testing.M) { func TestMain(m *testing.M) {
@ -81,7 +81,7 @@ func TestGetCandidates(t *testing.T) {
policy := &models.ReplicationPolicy{ policy := &models.ReplicationPolicy{
ID: 1, ID: 1,
Filters: []models.Filter{ Filters: []models.Filter{
models.Filter{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "*", Value: "*",
}, },
@ -94,11 +94,11 @@ func TestGetCandidates(t *testing.T) {
sourcer := source.NewSourcer() sourcer := source.NewSourcer()
candidates := []models.FilterItem{ candidates := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:release-1.0", Value: "library/hello-world:release-1.0",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:latest", Value: "library/hello-world:latest",
}, },
@ -110,7 +110,7 @@ func TestGetCandidates(t *testing.T) {
assert.Equal(t, 2, len(result)) assert.Equal(t, 2, len(result))
policy.Filters = []models.Filter{ policy.Filters = []models.Filter{
models.Filter{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "release-*", Value: "release-*",
}, },
@ -121,7 +121,7 @@ func TestGetCandidates(t *testing.T) {
// test label filter // test label filter
test.InitDatabaseFromEnv() test.InitDatabaseFromEnv()
policy.Filters = []models.Filter{ policy.Filters = []models.Filter{
models.Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: int64(1), Value: int64(1),
}, },
@ -134,17 +134,17 @@ func TestBuildFilterChain(t *testing.T) {
policy := &models.ReplicationPolicy{ policy := &models.ReplicationPolicy{
ID: 1, ID: 1,
Filters: []models.Filter{ Filters: []models.Filter{
models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Value: "*", Value: "*",
}, },
models.Filter{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "*", Value: "*",
}, },
models.Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: int64(1), Value: int64(1),
}, },

View File

@ -17,10 +17,10 @@ package event
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/replication/event/notification" "github.com/goharbor/harbor/src/replication/event/notification"
"github.com/stretchr/testify/assert"
) )
func TestHandleOfOnDeletionHandler(t *testing.T) { func TestHandleOfOnDeletionHandler(t *testing.T) {

View File

@ -17,10 +17,10 @@ package event
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/replication/event/notification" "github.com/goharbor/harbor/src/replication/event/notification"
"github.com/stretchr/testify/assert"
) )
func TestHandleOfOnPushHandler(t *testing.T) { func TestHandleOfOnPushHandler(t *testing.T) {

View File

@ -17,10 +17,10 @@ package event
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/replication/core" "github.com/goharbor/harbor/src/replication/core"
"github.com/goharbor/harbor/src/replication/event/notification" "github.com/goharbor/harbor/src/replication/event/notification"
"github.com/stretchr/testify/assert"
) )
func TestHandle(t *testing.T) { func TestHandle(t *testing.T) {

View File

@ -18,43 +18,43 @@ import (
"testing" "testing"
"github.com/astaxie/beego/validation" "github.com/astaxie/beego/validation"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/stretchr/testify/assert"
) )
func TestValid(t *testing.T) { func TestValid(t *testing.T) {
cases := map[*Filter]bool{ cases := map[*Filter]bool{
&Filter{}: true, {}: true,
&Filter{ {
Kind: "invalid_kind", Kind: "invalid_kind",
}: true, }: true,
&Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
}: true, }: true,
&Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}: false, }: false,
&Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Value: "*", Value: "*",
}: false, }: false,
&Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
}: true, }: true,
&Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: "", Value: "",
}: true, }: true,
&Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: 1.2, Value: 1.2,
}: true, }: true,
&Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: -1, Value: -1,
}: true, }: true,
&Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: 1, Value: 1,
}: true, }: true,

View File

@ -18,20 +18,20 @@ import (
"testing" "testing"
"github.com/astaxie/beego/validation" "github.com/astaxie/beego/validation"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/stretchr/testify/assert"
) )
func TestValidOfTrigger(t *testing.T) { func TestValidOfTrigger(t *testing.T) {
cases := map[*Trigger]bool{ cases := map[*Trigger]bool{
&Trigger{}: true, {}: true,
&Trigger{ {
Kind: "invalid_kind", Kind: "invalid_kind",
}: true, }: true,
&Trigger{ {
Kind: replication.TriggerKindImmediate, Kind: replication.TriggerKindImmediate,
}: false, }: false,
&Trigger{ {
Kind: replication.TriggerKindSchedule, Kind: replication.TriggerKindSchedule,
}: true, }: true,
} }
@ -45,24 +45,24 @@ func TestValidOfTrigger(t *testing.T) {
func TestValidOfScheduleParam(t *testing.T) { func TestValidOfScheduleParam(t *testing.T) {
cases := map[*ScheduleParam]bool{ cases := map[*ScheduleParam]bool{
&ScheduleParam{}: true, {}: true,
&ScheduleParam{ {
Type: "invalid_type", Type: "invalid_type",
}: true, }: true,
&ScheduleParam{ {
Type: replication.TriggerScheduleDaily, Type: replication.TriggerScheduleDaily,
Offtime: 3600*24 + 1, Offtime: 3600*24 + 1,
}: true, }: true,
&ScheduleParam{ {
Type: replication.TriggerScheduleDaily, Type: replication.TriggerScheduleDaily,
Offtime: 3600 * 2, Offtime: 3600 * 2,
}: false, }: false,
&ScheduleParam{ {
Type: replication.TriggerScheduleWeekly, Type: replication.TriggerScheduleWeekly,
Weekday: 0, Weekday: 0,
Offtime: 3600 * 2, Offtime: 3600 * 2,
}: true, }: true,
&ScheduleParam{ {
Type: replication.TriggerScheduleWeekly, Type: replication.TriggerScheduleWeekly,
Weekday: 7, Weekday: 7,
Offtime: 3600 * 2, Offtime: 3600 * 2,

View File

@ -18,9 +18,9 @@ import (
"encoding/json" "encoding/json"
"testing" "testing"
"github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/replication/models"
) )
func TestConvertToPersistModel(t *testing.T) { func TestConvertToPersistModel(t *testing.T) {
@ -31,7 +31,7 @@ func TestConvertToPersistModel(t *testing.T) {
Kind: "trigger_kind", Kind: "trigger_kind",
} }
filters := []models.Filter{ filters := []models.Filter{
models.Filter{ {
Kind: "filter_kind", Kind: "filter_kind",
Pattern: "filter_pattern", Pattern: "filter_pattern",
}, },

View File

@ -17,10 +17,10 @@ package source
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestBuild(t *testing.T) { func TestBuild(t *testing.T) {
@ -41,11 +41,11 @@ func TestDoFilter(t *testing.T) {
filters := []Filter{projectFilter, repositoryFilter} filters := []Filter{projectFilter, repositoryFilter}
items := []models.FilterItem{ items := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindProject, Kind: replication.FilterItemKindProject,
Value: "library", Value: "library",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindProject, Kind: replication.FilterItemKindProject,
Value: "test", Value: "test",
}, },
@ -53,7 +53,7 @@ func TestDoFilter(t *testing.T) {
chain := NewDefaultFilterChain(filters) chain := NewDefaultFilterChain(filters)
items = chain.DoFilter(items) items = chain.DoFilter(items)
assert.EqualValues(t, []models.FilterItem{ assert.EqualValues(t, []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Value: "library/ubuntu", Value: "library/ubuntu",
}, },

View File

@ -20,8 +20,8 @@ import (
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
) )
func TestInitOfLabelFilter(t *testing.T) { func TestInitOfLabelFilter(t *testing.T) {
@ -38,7 +38,7 @@ func TestDoFilterOfLabelFilter(t *testing.T) {
test.InitDatabaseFromEnv() test.InitDatabaseFromEnv()
filter := NewLabelFilter(1) filter := NewLabelFilter(1)
items := []models.FilterItem{ items := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:latest", Value: "library/hello-world:latest",
}, },

View File

@ -15,9 +15,9 @@
package source package source
import ( import (
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
"testing" "testing"
) )
@ -34,21 +34,21 @@ func TestPatternFilterGetConvertor(t *testing.T) {
func TestPatternFilterDoFilter(t *testing.T) { func TestPatternFilterDoFilter(t *testing.T) {
items := []models.FilterItem{ items := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindProject, Kind: replication.FilterItemKindProject,
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:release-14.04", Value: "library/ubuntu:release-14.04",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:release-16.04", Value: "library/ubuntu:release-16.04",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:test", Value: "library/ubuntu:test",
}, },

View File

@ -17,31 +17,31 @@ package source
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
) )
func TestRepositoryConvert(t *testing.T) { func TestRepositoryConvert(t *testing.T) {
items := []models.FilterItem{ items := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindProject, Kind: replication.FilterItemKindProject,
Value: "library", Value: "library",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
}, },
} }
expected := []models.FilterItem{ expected := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Value: "library/ubuntu", Value: "library/ubuntu",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Value: "library/centos", Value: "library/centos",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
}, },
} }
@ -66,10 +66,10 @@ func (f *fakeRegistryAdaptor) GetNamespace(name string) models.Namespace {
func (f *fakeRegistryAdaptor) GetRepositories(namespace string) []models.Repository { func (f *fakeRegistryAdaptor) GetRepositories(namespace string) []models.Repository {
return []models.Repository{ return []models.Repository{
models.Repository{ {
Name: "library/ubuntu", Name: "library/ubuntu",
}, },
models.Repository{ {
Name: "library/centos", Name: "library/centos",
}, },
} }
@ -81,10 +81,10 @@ func (f *fakeRegistryAdaptor) GetRepository(name string, namespace string) model
func (f *fakeRegistryAdaptor) GetTags(repositoryName string, namespace string) []models.Tag { func (f *fakeRegistryAdaptor) GetTags(repositoryName string, namespace string) []models.Tag {
return []models.Tag{ return []models.Tag{
models.Tag{ {
Name: "14.04", Name: "14.04",
}, },
models.Tag{ {
Name: "16.04", Name: "16.04",
}, },
} }

View File

@ -17,10 +17,10 @@ package source
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/goharbor/harbor/src/replication/registry" "github.com/goharbor/harbor/src/replication/registry"
"github.com/stretchr/testify/assert"
) )
func TestInitOfRepositoryFilter(t *testing.T) { func TestInitOfRepositoryFilter(t *testing.T) {
@ -37,7 +37,7 @@ func TestDoFilterOfRepositoryFilter(t *testing.T) {
// invalid filter item type // invalid filter item type
filter := NewRepositoryFilter("", &registry.HarborAdaptor{}) filter := NewRepositoryFilter("", &registry.HarborAdaptor{})
items := filter.DoFilter([]models.FilterItem{ items := filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: "invalid_type", Kind: "invalid_type",
}, },
}) })
@ -46,7 +46,7 @@ func TestDoFilterOfRepositoryFilter(t *testing.T) {
// empty pattern // empty pattern
filter = NewRepositoryFilter("", &registry.HarborAdaptor{}) filter = NewRepositoryFilter("", &registry.HarborAdaptor{})
items = filter.DoFilter([]models.FilterItem{ items = filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Value: "library/hello-world", Value: "library/hello-world",
}, },
@ -56,7 +56,7 @@ func TestDoFilterOfRepositoryFilter(t *testing.T) {
// non-empty pattern // non-empty pattern
filter = NewRepositoryFilter("*", &registry.HarborAdaptor{}) filter = NewRepositoryFilter("*", &registry.HarborAdaptor{})
items = filter.DoFilter([]models.FilterItem{ items = filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world", Value: "library/hello-world",
}, },
@ -66,7 +66,7 @@ func TestDoFilterOfRepositoryFilter(t *testing.T) {
// non-empty pattern // non-empty pattern
filter = NewRepositoryFilter("*", &registry.HarborAdaptor{}) filter = NewRepositoryFilter("*", &registry.HarborAdaptor{})
items = filter.DoFilter([]models.FilterItem{ items = filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:latest", Value: "library/hello-world:latest",
}, },

View File

@ -15,9 +15,9 @@
package source package source
import ( import (
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
"testing" "testing"
) )
@ -34,25 +34,25 @@ func TestTagCombinationFilterGetConvertor(t *testing.T) {
func TestTagCombinationFilterDoFilter(t *testing.T) { func TestTagCombinationFilterDoFilter(t *testing.T) {
items := []models.FilterItem{ items := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindProject, Kind: replication.FilterItemKindProject,
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:invalid_tag:latest", Value: "library/ubuntu:invalid_tag:latest",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:14.04", Value: "library/ubuntu:14.04",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:16.04", Value: "library/ubuntu:16.04",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/centos:7", Value: "library/centos:7",
}, },

View File

@ -17,31 +17,31 @@ package source
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
) )
func TestTagConvert(t *testing.T) { func TestTagConvert(t *testing.T) {
items := []models.FilterItem{ items := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Value: "library/ubuntu", Value: "library/ubuntu",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindProject, Kind: replication.FilterItemKindProject,
}, },
} }
expected := []models.FilterItem{ expected := []models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:14.04", Value: "library/ubuntu:14.04",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/ubuntu:16.04", Value: "library/ubuntu:16.04",
}, },
models.FilterItem{ {
Kind: replication.FilterItemKindProject, Kind: replication.FilterItemKindProject,
}, },
} }

View File

@ -17,10 +17,10 @@ package source
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/goharbor/harbor/src/replication/registry" "github.com/goharbor/harbor/src/replication/registry"
"github.com/stretchr/testify/assert"
) )
func TestInitOfTagFilter(t *testing.T) { func TestInitOfTagFilter(t *testing.T) {
@ -37,7 +37,7 @@ func TestDoFilterOfTagFilter(t *testing.T) {
// invalid filter item type // invalid filter item type
filter := NewTagFilter("", &registry.HarborAdaptor{}) filter := NewTagFilter("", &registry.HarborAdaptor{})
items := filter.DoFilter([]models.FilterItem{ items := filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: "invalid_type", Kind: "invalid_type",
}, },
}) })
@ -46,7 +46,7 @@ func TestDoFilterOfTagFilter(t *testing.T) {
// empty pattern // empty pattern
filter = NewTagFilter("", &registry.HarborAdaptor{}) filter = NewTagFilter("", &registry.HarborAdaptor{})
items = filter.DoFilter([]models.FilterItem{ items = filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:latest", Value: "library/hello-world:latest",
}, },
@ -56,7 +56,7 @@ func TestDoFilterOfTagFilter(t *testing.T) {
// non-empty pattern // non-empty pattern
filter = NewTagFilter("l*t", &registry.HarborAdaptor{}) filter = NewTagFilter("l*t", &registry.HarborAdaptor{})
items = filter.DoFilter([]models.FilterItem{ items = filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:latest", Value: "library/hello-world:latest",
}, },
@ -66,7 +66,7 @@ func TestDoFilterOfTagFilter(t *testing.T) {
// non-empty pattern // non-empty pattern
filter = NewTagFilter("lates?", &registry.HarborAdaptor{}) filter = NewTagFilter("lates?", &registry.HarborAdaptor{})
items = filter.DoFilter([]models.FilterItem{ items = filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:latest", Value: "library/hello-world:latest",
}, },
@ -76,7 +76,7 @@ func TestDoFilterOfTagFilter(t *testing.T) {
// non-empty pattern // non-empty pattern
filter = NewTagFilter("latest?", &registry.HarborAdaptor{}) filter = NewTagFilter("latest?", &registry.HarborAdaptor{})
items = filter.DoFilter([]models.FilterItem{ items = filter.DoFilter([]models.FilterItem{
models.FilterItem{ {
Kind: replication.FilterItemKindTag, Kind: replication.FilterItemKindTag,
Value: "library/hello-world:latest", Value: "library/hello-world:latest",
}, },

View File

@ -17,11 +17,11 @@ package trigger
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestKindOfImmediateTrigger(t *testing.T) { func TestKindOfImmediateTrigger(t *testing.T) {

View File

@ -17,12 +17,12 @@ package trigger
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/goharbor/harbor/src/replication/models" "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestCreateTrigger(t *testing.T) { func TestCreateTrigger(t *testing.T) {

View File

@ -17,8 +17,8 @@ package trigger
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
"github.com/stretchr/testify/assert"
) )
func TestKindOfScheduleTrigger(t *testing.T) { func TestKindOfScheduleTrigger(t *testing.T) {

View File

@ -17,10 +17,10 @@ package trigger
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestMethodsOfWatchList(t *testing.T) { func TestMethodsOfWatchList(t *testing.T) {

View File

@ -28,12 +28,12 @@ import (
"github.com/astaxie/beego" "github.com/astaxie/beego"
"github.com/dghubble/sling" "github.com/dghubble/sling"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/dao/project" "github.com/goharbor/harbor/src/common/dao/project"
common_http "github.com/goharbor/harbor/src/common/http" common_http "github.com/goharbor/harbor/src/common/http"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
var ( var (

View File

@ -228,7 +228,7 @@ func (msc *mockSecurityContext) HasAllPerm(projectIDOrName interface{}) bool {
//Get current user's all project //Get current user's all project
func (msc *mockSecurityContext) GetMyProjects() ([]*models.Project, error) { func (msc *mockSecurityContext) GetMyProjects() ([]*models.Project, error) {
return []*models.Project{&models.Project{ProjectID: 0, Name: "repo1"}}, nil return []*models.Project{{ProjectID: 0, Name: "repo1"}}, nil
} }
//Get user's role in provided project //Get user's role in provided project

View File

@ -18,9 +18,9 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/ui/config" "github.com/goharbor/harbor/src/ui/config"
"github.com/stretchr/testify/assert"
) )
func TestGetConfig(t *testing.T) { func TestGetConfig(t *testing.T) {

View File

@ -20,13 +20,13 @@ import (
"net/http/httptest" "net/http/httptest"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
rep_models "github.com/goharbor/harbor/src/replication/models" rep_models "github.com/goharbor/harbor/src/replication/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
var ( var (
@ -46,7 +46,7 @@ func TestLabelAPIPost(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -55,7 +55,7 @@ func TestLabelAPIPost(t *testing.T) {
}, },
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -66,7 +66,7 @@ func TestLabelAPIPost(t *testing.T) {
}, },
// 403 non-sysadmin try to create global label // 403 non-sysadmin try to create global label
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -80,7 +80,7 @@ func TestLabelAPIPost(t *testing.T) {
}, },
// 403 non-member user try to create project label // 403 non-member user try to create project label
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -95,7 +95,7 @@ func TestLabelAPIPost(t *testing.T) {
}, },
// 403 developer try to create project label // 403 developer try to create project label
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -110,7 +110,7 @@ func TestLabelAPIPost(t *testing.T) {
}, },
// 404 non-exist project // 404 non-exist project
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -125,7 +125,7 @@ func TestLabelAPIPost(t *testing.T) {
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -141,7 +141,7 @@ func TestLabelAPIPost(t *testing.T) {
}, },
// 409 // 409
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -162,7 +162,7 @@ func TestLabelAPIPost(t *testing.T) {
func TestLabelAPIGet(t *testing.T) { func TestLabelAPIGet(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, 0), url: fmt.Sprintf("%s/%d", labelAPIBasePath, 0),
@ -171,7 +171,7 @@ func TestLabelAPIGet(t *testing.T) {
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, 1000), url: fmt.Sprintf("%s/%d", labelAPIBasePath, 1000),
@ -180,7 +180,7 @@ func TestLabelAPIGet(t *testing.T) {
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -194,7 +194,7 @@ func TestLabelAPIGet(t *testing.T) {
func TestLabelAPIList(t *testing.T) { func TestLabelAPIList(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 400 no scope query string // 400 no scope query string
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -203,7 +203,7 @@ func TestLabelAPIList(t *testing.T) {
}, },
// 400 invalid scope // 400 invalid scope
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -217,7 +217,7 @@ func TestLabelAPIList(t *testing.T) {
}, },
// 400 invalid project_id // 400 invalid project_id
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: labelAPIBasePath, url: labelAPIBasePath,
@ -272,7 +272,7 @@ func TestLabelAPIList(t *testing.T) {
func TestLabelAPIPut(t *testing.T) { func TestLabelAPIPut(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -281,7 +281,7 @@ func TestLabelAPIPut(t *testing.T) {
}, },
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, 0), url: fmt.Sprintf("%s/%d", labelAPIBasePath, 0),
@ -291,7 +291,7 @@ func TestLabelAPIPut(t *testing.T) {
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, 10000), url: fmt.Sprintf("%s/%d", labelAPIBasePath, 10000),
@ -301,7 +301,7 @@ func TestLabelAPIPut(t *testing.T) {
}, },
// 403 non-member user // 403 non-member user
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -311,7 +311,7 @@ func TestLabelAPIPut(t *testing.T) {
}, },
// 403 developer // 403 developer
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -321,7 +321,7 @@ func TestLabelAPIPut(t *testing.T) {
}, },
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -336,7 +336,7 @@ func TestLabelAPIPut(t *testing.T) {
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -365,7 +365,7 @@ func TestLabelAPIPut(t *testing.T) {
func TestLabelAPIDelete(t *testing.T) { func TestLabelAPIDelete(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -374,7 +374,7 @@ func TestLabelAPIDelete(t *testing.T) {
}, },
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, 0), url: fmt.Sprintf("%s/%d", labelAPIBasePath, 0),
@ -384,7 +384,7 @@ func TestLabelAPIDelete(t *testing.T) {
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, 10000), url: fmt.Sprintf("%s/%d", labelAPIBasePath, 10000),
@ -394,7 +394,7 @@ func TestLabelAPIDelete(t *testing.T) {
}, },
// 403 non-member user // 403 non-member user
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -404,7 +404,7 @@ func TestLabelAPIDelete(t *testing.T) {
}, },
// 403 developer // 403 developer
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -414,7 +414,7 @@ func TestLabelAPIDelete(t *testing.T) {
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -424,7 +424,7 @@ func TestLabelAPIDelete(t *testing.T) {
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID), url: fmt.Sprintf("%s/%d", labelAPIBasePath, labelID),
@ -477,7 +477,7 @@ func TestListResources(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, globalLabelID), url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, globalLabelID),
@ -485,7 +485,7 @@ func TestListResources(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, 10000), url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, 10000),
@ -494,7 +494,7 @@ func TestListResources(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 403: global level label // 403: global level label
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, globalLabelID), url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, globalLabelID),
@ -503,7 +503,7 @@ func TestListResources(t *testing.T) {
code: http.StatusForbidden, code: http.StatusForbidden,
}, },
// 403: project level label // 403: project level label
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, projectLabelID), url: fmt.Sprintf("%s/%d/resources", labelAPIBasePath, projectLabelID),

View File

@ -9,14 +9,14 @@ import (
func TestLDAPPing(t *testing.T) { func TestLDAPPing(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/ldap/ping", url: "/api/ldap/ping",
}, },
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/ldap/ping", url: "/api/ldap/ping",
@ -24,7 +24,7 @@ func TestLDAPPing(t *testing.T) {
}, },
code: http.StatusOK, code: http.StatusOK,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/ldap/ping", url: "/api/ldap/ping",
@ -47,14 +47,14 @@ func TestLDAPPing(t *testing.T) {
func TestLDAPUserSearch(t *testing.T) { func TestLDAPUserSearch(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/ldap/users/search?username=mike", url: "/api/ldap/users/search?username=mike",
}, },
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/ldap/users/search?username=mike", url: "/api/ldap/users/search?username=mike",
@ -68,14 +68,14 @@ func TestLDAPUserSearch(t *testing.T) {
func TestLDAPGroupSearch(t *testing.T) { func TestLDAPGroupSearch(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/ldap/groups/search?groupname=harbor_users", url: "/api/ldap/groups/search?groupname=harbor_users",
}, },
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/ldap/groups/search?groupname=harbor_users", url: "/api/ldap/groups/search?groupname=harbor_users",
@ -89,14 +89,14 @@ func TestLDAPGroupSearch(t *testing.T) {
func TestLDAPGroupSearchWithDN(t *testing.T) { func TestLDAPGroupSearchWithDN(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/ldap/groups/search?groupdn=cn=harbor_users,ou=groups,dc=example,dc=com", url: "/api/ldap/groups/search?groupdn=cn=harbor_users,ou=groups,dc=example,dc=com",
}, },
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/ldap/groups/search?groupname=cn=harbor_users,ou=groups,dc=example,dc=com", url: "/api/ldap/groups/search?groupname=cn=harbor_users,ou=groups,dc=example,dc=com",
@ -110,7 +110,7 @@ func TestLDAPGroupSearchWithDN(t *testing.T) {
func TestLDAPImportUser(t *testing.T) { func TestLDAPImportUser(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/ldap/users/import", url: "/api/ldap/users/import",
@ -120,7 +120,7 @@ func TestLDAPImportUser(t *testing.T) {
}, },
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/ldap/users/import", url: "/api/ldap/users/import",

View File

@ -19,10 +19,10 @@ import (
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestLogGet(t *testing.T) { func TestLogGet(t *testing.T) {

View File

@ -18,9 +18,9 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/models"
) )
func TestValidateProjectMetadata(t *testing.T) { func TestValidateProjectMetadata(t *testing.T) {

View File

@ -24,11 +24,11 @@ import (
"github.com/goharbor/harbor/src/chartserver" "github.com/goharbor/harbor/src/chartserver"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/tests/apitests/apilib" "github.com/goharbor/harbor/tests/apitests/apilib"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
var addProject *apilib.ProjectReq var addProject *apilib.ProjectReq

View File

@ -27,7 +27,7 @@ import (
func TestProjectMemberAPI_Get(t *testing.T) { func TestProjectMemberAPI_Get(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/projects/1/members", url: "/api/projects/1/members",
@ -35,7 +35,7 @@ func TestProjectMemberAPI_Get(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
//200 //200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/projects/1/members", url: "/api/projects/1/members",
@ -44,7 +44,7 @@ func TestProjectMemberAPI_Get(t *testing.T) {
code: http.StatusOK, code: http.StatusOK,
}, },
//400 //400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/projects/0/members", url: "/api/projects/0/members",
@ -53,7 +53,7 @@ func TestProjectMemberAPI_Get(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/projects/1/members/121", url: "/api/projects/1/members/121",
@ -62,7 +62,7 @@ func TestProjectMemberAPI_Get(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/projects/99999/members/121", url: "/api/projects/99999/members/121",
@ -87,7 +87,7 @@ func TestProjectMemberAPI_Post(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/projects/1/members", url: "/api/projects/1/members",
@ -100,7 +100,7 @@ func TestProjectMemberAPI_Post(t *testing.T) {
}, },
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/projects/1/members", url: "/api/projects/1/members",
@ -114,7 +114,7 @@ func TestProjectMemberAPI_Post(t *testing.T) {
}, },
code: http.StatusCreated, code: http.StatusCreated,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/projects/1/members", url: "/api/projects/1/members",
@ -128,7 +128,7 @@ func TestProjectMemberAPI_Post(t *testing.T) {
}, },
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/projects/1/members", url: "/api/projects/1/members",
@ -142,7 +142,7 @@ func TestProjectMemberAPI_Post(t *testing.T) {
}, },
code: http.StatusInternalServerError, code: http.StatusInternalServerError,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/projects/1/members?entityname=restuser", url: "/api/projects/1/members?entityname=restuser",
@ -150,7 +150,7 @@ func TestProjectMemberAPI_Post(t *testing.T) {
}, },
code: http.StatusOK, code: http.StatusOK,
}, },
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: "/api/projects/1/members", url: "/api/projects/1/members",
@ -187,7 +187,7 @@ func TestProjectMemberAPI_PutAndDelete(t *testing.T) {
badURL := fmt.Sprintf("/api/projects/1/members/%v", 0) badURL := fmt.Sprintf("/api/projects/1/members/%v", 0)
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: URL, url: URL,
@ -198,7 +198,7 @@ func TestProjectMemberAPI_PutAndDelete(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: URL, url: URL,
@ -210,7 +210,7 @@ func TestProjectMemberAPI_PutAndDelete(t *testing.T) {
code: http.StatusOK, code: http.StatusOK,
}, },
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: badURL, url: badURL,
@ -222,7 +222,7 @@ func TestProjectMemberAPI_PutAndDelete(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: URL, url: URL,
@ -234,7 +234,7 @@ func TestProjectMemberAPI_PutAndDelete(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: URL, url: URL,

View File

@ -3,8 +3,8 @@ package api
import ( import (
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/tests/apitests/apilib" "github.com/goharbor/harbor/tests/apitests/apilib"
"github.com/stretchr/testify/assert"
) )
var adminJob001 apilib.GCReq var adminJob001 apilib.GCReq

View File

@ -21,14 +21,14 @@ import (
"github.com/goharbor/harbor/src/common/dao/project" "github.com/goharbor/harbor/src/common/dao/project"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
rep_models "github.com/goharbor/harbor/src/replication/models" rep_models "github.com/goharbor/harbor/src/replication/models"
api_models "github.com/goharbor/harbor/src/ui/api/models" api_models "github.com/goharbor/harbor/src/ui/api/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
var ( var (
@ -63,7 +63,7 @@ func TestRepPolicyAPIPost(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
@ -71,7 +71,7 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
// 403 // 403
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
@ -81,7 +81,7 @@ func TestRepPolicyAPIPost(t *testing.T) {
}, },
// 400, invalid name // 400, invalid name
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
@ -91,7 +91,7 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 400, invalid projects // 400, invalid projects
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
@ -103,14 +103,14 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 400, invalid targets // 400, invalid targets
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
@ -120,24 +120,24 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 400, invalid filters // 400, invalid filters
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: targetID, ID: targetID,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: "invalid_filter_kind", Kind: "invalid_filter_kind",
Pattern: "", Pattern: "",
}, },
@ -148,24 +148,24 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 400, invalid trigger // 400, invalid trigger
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: targetID, ID: targetID,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}, },
@ -179,24 +179,24 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 404, project not found // 404, project not found
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: 10000, ProjectID: 10000,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: targetID, ID: targetID,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}, },
@ -210,24 +210,24 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 404, target not found // 404, target not found
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: 10000, ID: 10000,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}, },
@ -241,28 +241,28 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 404, label not found // 404, label not found
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: targetID, ID: targetID,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}, },
rep_models.Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: 10000, Value: 10000,
}, },
@ -276,28 +276,28 @@ func TestRepPolicyAPIPost(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 201 // 201
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: repPolicyAPIBasePath, url: repPolicyAPIBasePath,
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: targetID, ID: targetID,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}, },
rep_models.Filter{ {
Kind: replication.FilterItemKindLabel, Kind: replication.FilterItemKindLabel,
Value: labelID2, Value: labelID2,
}, },
@ -320,7 +320,7 @@ func TestRepPolicyAPIGet(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, 10000), url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, 10000),
@ -329,7 +329,7 @@ func TestRepPolicyAPIGet(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID), url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID),
@ -512,7 +512,7 @@ func TestRepPolicyAPIList(t *testing.T) {
func TestRepPolicyAPIPut(t *testing.T) { func TestRepPolicyAPIPut(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, 10000), url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, 10000),
@ -521,24 +521,24 @@ func TestRepPolicyAPIPut(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 400, invalid trigger // 400, invalid trigger
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID), url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID),
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: targetID, ID: targetID,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}, },
@ -552,24 +552,24 @@ func TestRepPolicyAPIPut(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID), url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID),
bodyJSON: &api_models.ReplicationPolicy{ bodyJSON: &api_models.ReplicationPolicy{
Name: policyName, Name: policyName,
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: projectID, ProjectID: projectID,
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: targetID, ID: targetID,
}, },
}, },
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: replication.FilterItemKindRepository, Kind: replication.FilterItemKindRepository,
Pattern: "*", Pattern: "*",
}, },
@ -590,7 +590,7 @@ func TestRepPolicyAPIPut(t *testing.T) {
func TestRepPolicyAPIDelete(t *testing.T) { func TestRepPolicyAPIDelete(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, 10000), url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, 10000),
@ -599,7 +599,7 @@ func TestRepPolicyAPIDelete(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID), url: fmt.Sprintf("%s/%d", repPolicyAPIBasePath, policyID),
@ -627,7 +627,7 @@ func TestConvertToRepPolicy(t *testing.T) {
Name: "policy", Name: "policy",
Description: "description", Description: "description",
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: "filter_kind_01", Kind: "filter_kind_01",
Pattern: "*", Pattern: "*",
}, },
@ -637,13 +637,13 @@ func TestConvertToRepPolicy(t *testing.T) {
Kind: "trigger_kind_01", Kind: "trigger_kind_01",
}, },
Projects: []*models.Project{ Projects: []*models.Project{
&models.Project{ {
ProjectID: 1, ProjectID: 1,
Name: "library", Name: "library",
}, },
}, },
Targets: []*models.RepTarget{ Targets: []*models.RepTarget{
&models.RepTarget{ {
ID: 1, ID: 1,
}, },
}, },
@ -653,7 +653,7 @@ func TestConvertToRepPolicy(t *testing.T) {
Name: "policy", Name: "policy",
Description: "description", Description: "description",
Filters: []rep_models.Filter{ Filters: []rep_models.Filter{
rep_models.Filter{ {
Kind: "filter_kind_01", Kind: "filter_kind_01",
Pattern: "*", Pattern: "*",
}, },

View File

@ -18,11 +18,11 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/replication" "github.com/goharbor/harbor/src/replication"
api_models "github.com/goharbor/harbor/src/ui/api/models" api_models "github.com/goharbor/harbor/src/ui/api/models"
"github.com/stretchr/testify/require"
) )
const ( const (
@ -52,7 +52,7 @@ func TestReplicationAPIPost(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: replicationAPIBaseURL, url: replicationAPIBaseURL,
@ -63,7 +63,7 @@ func TestReplicationAPIPost(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: replicationAPIBaseURL, url: replicationAPIBaseURL,
@ -75,7 +75,7 @@ func TestReplicationAPIPost(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: replicationAPIBaseURL, url: replicationAPIBaseURL,

View File

@ -19,11 +19,11 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
var ( var (
@ -60,7 +60,7 @@ func TestAddToImage(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath,
repository, tag), repository, tag),
@ -69,7 +69,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
// 403 // 403
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath,
repository, tag), repository, tag),
@ -79,7 +79,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusForbidden, code: http.StatusForbidden,
}, },
// 404 repository doesn't exist // 404 repository doesn't exist
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/library/non-exist-repo/tags/%s/labels", resourceLabelAPIBasePath, tag), url: fmt.Sprintf("%s/library/non-exist-repo/tags/%s/labels", resourceLabelAPIBasePath, tag),
method: http.MethodPost, method: http.MethodPost,
@ -88,7 +88,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 404 image doesn't exist // 404 image doesn't exist
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/non-exist-tag/labels", resourceLabelAPIBasePath, repository), url: fmt.Sprintf("%s/%s/tags/non-exist-tag/labels", resourceLabelAPIBasePath, repository),
method: http.MethodPost, method: http.MethodPost,
@ -97,7 +97,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 400 // 400
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, repository, tag), url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, repository, tag),
method: http.MethodPost, method: http.MethodPost,
@ -106,7 +106,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 404 label doesn't exist // 404 label doesn't exist
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath,
repository, tag), repository, tag),
@ -121,7 +121,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 400 system level label // 400 system level label
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath,
repository, tag), repository, tag),
@ -136,7 +136,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 400 try to add the label of project1 to the image under project2 // 400 try to add the label of project1 to the image under project2
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath,
repository, tag), repository, tag),
@ -151,7 +151,7 @@ func TestAddToImage(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath, url: fmt.Sprintf("%s/%s/tags/%s/labels", resourceLabelAPIBasePath,
repository, tag), repository, tag),

View File

@ -18,11 +18,11 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/dao/project" "github.com/goharbor/harbor/src/common/dao/project"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestGetRepos(t *testing.T) { func TestGetRepos(t *testing.T) {
@ -256,7 +256,7 @@ func TestPutOfRepository(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: base + "non_exist_repository", url: base + "non_exist_repository",
@ -265,7 +265,7 @@ func TestPutOfRepository(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: base + "library/hello-world", url: base + "library/hello-world",
@ -274,7 +274,7 @@ func TestPutOfRepository(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
// 403 non-member // 403 non-member
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: base + "library/hello-world", url: base + "library/hello-world",
@ -284,7 +284,7 @@ func TestPutOfRepository(t *testing.T) {
code: http.StatusForbidden, code: http.StatusForbidden,
}, },
// 403 project guest // 403 project guest
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: base + "library/hello-world", url: base + "library/hello-world",
@ -294,7 +294,7 @@ func TestPutOfRepository(t *testing.T) {
code: http.StatusForbidden, code: http.StatusForbidden,
}, },
// 200 project developer // 200 project developer
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: base + "library/hello-world", url: base + "library/hello-world",
@ -304,7 +304,7 @@ func TestPutOfRepository(t *testing.T) {
code: http.StatusOK, code: http.StatusOK,
}, },
// 200 project admin // 200 project admin
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: base + "library/hello-world", url: base + "library/hello-world",
@ -314,7 +314,7 @@ func TestPutOfRepository(t *testing.T) {
code: http.StatusOK, code: http.StatusOK,
}, },
// 200 system admin // 200 system admin
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: base + "library/hello-world", url: base + "library/hello-world",

View File

@ -21,10 +21,10 @@ import (
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
member "github.com/goharbor/harbor/src/common/dao/project" member "github.com/goharbor/harbor/src/common/dao/project"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
) )
func TestSearch(t *testing.T) { func TestSearch(t *testing.T) {

View File

@ -20,9 +20,9 @@ import (
"strconv" "strconv"
"testing" "testing"
"github.com/goharbor/harbor/tests/apitests/apilib"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"github.com/goharbor/harbor/tests/apitests/apilib"
) )
const ( const (

View File

@ -18,13 +18,13 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/stretchr/testify/require"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/api" "github.com/goharbor/harbor/src/common/api"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/tests/apitests/apilib" "github.com/goharbor/harbor/tests/apitests/apilib"
"github.com/stretchr/testify/assert"
"github.com/astaxie/beego" "github.com/astaxie/beego"
) )
@ -360,7 +360,7 @@ func TestUsersUpdatePassword(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// unauthorized // unauthorized
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user01.UserID), url: buildChangeUserPasswordURL(user01.UserID),
@ -368,7 +368,7 @@ func TestUsersUpdatePassword(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
// 404 // 404
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(10000), url: buildChangeUserPasswordURL(10000),
@ -380,7 +380,7 @@ func TestUsersUpdatePassword(t *testing.T) {
code: http.StatusNotFound, code: http.StatusNotFound,
}, },
// 403, a normal user tries to change password of others // 403, a normal user tries to change password of others
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user02.UserID), url: buildChangeUserPasswordURL(user02.UserID),
@ -392,7 +392,7 @@ func TestUsersUpdatePassword(t *testing.T) {
code: http.StatusForbidden, code: http.StatusForbidden,
}, },
// 400, empty old password // 400, empty old password
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user01.UserID), url: buildChangeUserPasswordURL(user01.UserID),
@ -405,7 +405,7 @@ func TestUsersUpdatePassword(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 400, empty new password // 400, empty new password
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user01.UserID), url: buildChangeUserPasswordURL(user01.UserID),
@ -420,7 +420,7 @@ func TestUsersUpdatePassword(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 403, incorrect old password // 403, incorrect old password
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user01.UserID), url: buildChangeUserPasswordURL(user01.UserID),
@ -436,7 +436,7 @@ func TestUsersUpdatePassword(t *testing.T) {
code: http.StatusForbidden, code: http.StatusForbidden,
}, },
// 200, normal user change own password // 200, normal user change own password
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user01.UserID), url: buildChangeUserPasswordURL(user01.UserID),
@ -453,7 +453,7 @@ func TestUsersUpdatePassword(t *testing.T) {
}, },
// 400, admin user change password of others. // 400, admin user change password of others.
// the new password is same with the old one // the new password is same with the old one
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user01.UserID), url: buildChangeUserPasswordURL(user01.UserID),
@ -465,7 +465,7 @@ func TestUsersUpdatePassword(t *testing.T) {
code: http.StatusBadRequest, code: http.StatusBadRequest,
}, },
// 200, admin user change password of others // 200, admin user change password of others
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: buildChangeUserPasswordURL(user01.UserID), url: buildChangeUserPasswordURL(user01.UserID),

View File

@ -44,7 +44,7 @@ func TestUserGroupAPI_GetAndDelete(t *testing.T) {
defer group.DeleteUserGroup(groupID) defer group.DeleteUserGroup(groupID)
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
// 401 // 401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: URL, url: URL,
@ -53,7 +53,7 @@ func TestUserGroupAPI_GetAndDelete(t *testing.T) {
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("/api/usergroups/%d", groupID), url: fmt.Sprintf("/api/usergroups/%d", groupID),
@ -62,7 +62,7 @@ func TestUserGroupAPI_GetAndDelete(t *testing.T) {
code: http.StatusOK, code: http.StatusOK,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodGet, method: http.MethodGet,
url: fmt.Sprintf("/api/usergroups"), url: fmt.Sprintf("/api/usergroups"),
@ -71,7 +71,7 @@ func TestUserGroupAPI_GetAndDelete(t *testing.T) {
code: http.StatusOK, code: http.StatusOK,
}, },
// 200 // 200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodDelete, method: http.MethodDelete,
url: fmt.Sprintf("/api/usergroups/%d", groupID), url: fmt.Sprintf("/api/usergroups/%d", groupID),
@ -97,7 +97,7 @@ func TestUserGroupAPI_Post(t *testing.T) {
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
//409 //409
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPost, method: http.MethodPost,
url: "/api/usergroups", url: "/api/usergroups",
@ -127,7 +127,7 @@ func TestUserGroupAPI_Put(t *testing.T) {
} }
cases := []*codeCheckingCase{ cases := []*codeCheckingCase{
//401 //401
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("/api/usergroups/%d", groupID), url: fmt.Sprintf("/api/usergroups/%d", groupID),
@ -138,7 +138,7 @@ func TestUserGroupAPI_Put(t *testing.T) {
code: http.StatusUnauthorized, code: http.StatusUnauthorized,
}, },
//200 //200
&codeCheckingCase{ {
request: &testingRequest{ request: &testingRequest{
method: http.MethodPut, method: http.MethodPut,
url: fmt.Sprintf("/api/usergroups/%d", groupID), url: fmt.Sprintf("/api/usergroups/%d", groupID),

View File

@ -17,9 +17,9 @@ import (
"testing" "testing"
"time" "time"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/stretchr/testify/assert"
) )
var l = NewUserLock(2 * time.Second) var l = NewUserLock(2 * time.Second)

View File

@ -18,13 +18,13 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
utilstest "github.com/goharbor/harbor/src/common/utils/test" utilstest "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/common/utils/uaa" "github.com/goharbor/harbor/src/common/utils/uaa"
"github.com/goharbor/harbor/src/ui/config" "github.com/goharbor/harbor/src/ui/config"
"github.com/stretchr/testify/assert"
) )
func TestMain(m *testing.M) { func TestMain(m *testing.M) {

View File

@ -19,9 +19,9 @@ import (
"runtime" "runtime"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/stretchr/testify/assert"
) )
// test functions under package ui/config // test functions under package ui/config

View File

@ -26,13 +26,13 @@ import (
"strings" "strings"
"github.com/astaxie/beego" "github.com/astaxie/beego"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
"github.com/goharbor/harbor/src/common/utils/test" "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/ui/config" "github.com/goharbor/harbor/src/ui/config"
"github.com/goharbor/harbor/src/ui/proxy" "github.com/goharbor/harbor/src/ui/proxy"
"github.com/stretchr/testify/assert"
) )
//const ( //const (

View File

@ -20,10 +20,10 @@ import (
"os" "os"
"testing" "testing"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common" "github.com/goharbor/harbor/src/common"
utilstest "github.com/goharbor/harbor/src/common/utils/test" utilstest "github.com/goharbor/harbor/src/common/utils/test"
"github.com/goharbor/harbor/src/ui/config" "github.com/goharbor/harbor/src/ui/config"
"github.com/stretchr/testify/assert"
) )
func TestReadonlyFilter(t *testing.T) { func TestReadonlyFilter(t *testing.T) {

View File

@ -58,22 +58,22 @@ var (
// in the slice // in the slice
basicAuthReqPatterns = []*pathMethod{ basicAuthReqPatterns = []*pathMethod{
// create project // create project
&pathMethod{ {
path: "/api/projects", path: "/api/projects",
method: http.MethodPost, method: http.MethodPost,
}, },
// token service // token service
&pathMethod{ {
path: "/service/token", path: "/service/token",
method: http.MethodGet, method: http.MethodGet,
}, },
// delete repository // delete repository
&pathMethod{ {
path: "/api/repositories/" + reference.NameRegexp.String(), path: "/api/repositories/" + reference.NameRegexp.String(),
method: http.MethodDelete, method: http.MethodDelete,
}, },
// delete tag // delete tag
&pathMethod{ {
path: "/api/repositories/" + reference.NameRegexp.String() + "/tags/" + reference.TagRegexp.String(), path: "/api/repositories/" + reference.NameRegexp.String() + "/tags/" + reference.TagRegexp.String(),
method: http.MethodDelete, method: http.MethodDelete,
}, },

View File

@ -28,7 +28,6 @@ import (
"github.com/astaxie/beego" "github.com/astaxie/beego"
beegoctx "github.com/astaxie/beego/context" beegoctx "github.com/astaxie/beego/context"
"github.com/astaxie/beego/session" "github.com/astaxie/beego/session"
"github.com/stretchr/testify/assert"
"github.com/goharbor/harbor/src/common/dao" "github.com/goharbor/harbor/src/common/dao"
"github.com/goharbor/harbor/src/common/models" "github.com/goharbor/harbor/src/common/models"
commonsecret "github.com/goharbor/harbor/src/common/secret" commonsecret "github.com/goharbor/harbor/src/common/secret"
@ -40,6 +39,7 @@ import (
"github.com/goharbor/harbor/src/ui/config" "github.com/goharbor/harbor/src/ui/config"
"github.com/goharbor/harbor/src/ui/promgr" "github.com/goharbor/harbor/src/ui/promgr"
driver_local "github.com/goharbor/harbor/src/ui/promgr/pmsdriver/local" driver_local "github.com/goharbor/harbor/src/ui/promgr/pmsdriver/local"
"github.com/stretchr/testify/assert"
) )
func TestMain(m *testing.M) { func TestMain(m *testing.M) {

Some files were not shown because too many files have changed in this diff Show More