harbor/src/pkg/ldap/manager_test.go
Loong Dai 09371b48e8
lint: sort imports (#17131)
* lint: add goimports

Signed-off-by: Loong Dai <loong.dai@intel.com>
2022-07-20 11:33:08 +08:00

74 lines
2.2 KiB
Go

// Copyright Project Harbor Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package ldap
import (
"testing"
"github.com/stretchr/testify/suite"
_ "github.com/goharbor/harbor/src/pkg/config/db"
_ "github.com/goharbor/harbor/src/pkg/config/inmemory"
htesting "github.com/goharbor/harbor/src/testing"
)
type ManagerTestSuite struct {
htesting.Suite
}
func (suite *ManagerTestSuite) SetupSuite() {
suite.Suite.SetupSuite()
suite.ClearSQLs = []string{"delete from harbor_user where username = 'mike02'"}
}
func (suite *ManagerTestSuite) TestPing() {
ctx := suite.Context()
suc, err := Mgr.Ping(ctx, ldapCfg)
suite.Nil(err)
suite.True(suc)
}
func (suite *ManagerTestSuite) TestSearchUser() {
ctx := suite.Context()
sess := NewSession(ldapCfg, groupCfg)
users, err := Mgr.SearchUser(ctx, sess, "mike02")
suite.Nil(err)
suite.True(len(users) > 0)
suite.Equal("mike02", users[0].Username)
}
func (suite *ManagerTestSuite) TestImportUser() {
ctx := suite.Context()
sess := NewSession(ldapCfg, groupCfg)
failedUsers, err := Mgr.ImportUser(ctx, sess, []string{"mike03"})
suite.Nil(err)
suite.True(len(failedUsers) > 0)
}
func (suite *ManagerTestSuite) TestSearchGroup() {
ctx := suite.Context()
ugs, err := Mgr.SearchGroup(ctx, NewSession(ldapCfg, groupCfg), "harbor_admin", "")
suite.Nil(err)
suite.True(len(ugs) > 0)
suite.Equal("cn=harbor_admin,ou=groups,dc=example,dc=com", ugs[0].Dn)
ugs2, err := Mgr.SearchGroup(ctx, NewSession(ldapCfg, groupCfg), "", "cn=harbor_admin,ou=groups,dc=example,dc=com")
suite.Nil(err)
suite.True(len(ugs2) > 0)
suite.Equal("harbor_admin", ugs[0].Name)
}
func TestManagerTestSuite(t *testing.T) {
suite.Run(t, &ManagerTestSuite{})
}