mirror of
https://github.com/goharbor/harbor.git
synced 2024-09-28 21:37:31 +02:00
Merge pull request #11106 from qinshaoxuan/fix_11051
Fix bug when scanner is unhealthy
This commit is contained in:
commit
69fe9e9bf7
@ -250,7 +250,7 @@ func (bc *basicController) GetRegistrationByProject(projectID int64, options ...
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return registration, err
|
return registration, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ping ...
|
// Ping ...
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
package scanner
|
package scanner
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/goharbor/harbor/src/common/models"
|
"github.com/goharbor/harbor/src/common/models"
|
||||||
@ -46,8 +47,8 @@ func TestController(t *testing.T) {
|
|||||||
suite.Run(t, new(ControllerTestSuite))
|
suite.Run(t, new(ControllerTestSuite))
|
||||||
}
|
}
|
||||||
|
|
||||||
// SetupSuite prepares env for the controller test suite
|
// SetupTest prepares env for the controller test suite
|
||||||
func (suite *ControllerTestSuite) SetupSuite() {
|
func (suite *ControllerTestSuite) SetupTest() {
|
||||||
suite.mMgr = &scannertesting.Manager{}
|
suite.mMgr = &scannertesting.Manager{}
|
||||||
suite.mMeta = new(MockProMetaManager)
|
suite.mMeta = new(MockProMetaManager)
|
||||||
|
|
||||||
@ -227,6 +228,31 @@ func (suite *ControllerTestSuite) TestGetRegistrationByProject() {
|
|||||||
assert.Equal(suite.T(), "forUT", r.Name)
|
assert.Equal(suite.T(), "forUT", r.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestGetRegistrationByProjectWhenPingError tests GetRegistrationByProject
|
||||||
|
func (suite *ControllerTestSuite) TestGetRegistrationByProjectWhenPingError() {
|
||||||
|
m := make(map[string]string, 1)
|
||||||
|
m[proScannerMetaKey] = "uuid"
|
||||||
|
|
||||||
|
// Configured at project level
|
||||||
|
var pid int64 = 1
|
||||||
|
suite.sample.UUID = "uuid"
|
||||||
|
|
||||||
|
suite.mMeta.On("Get", pid, []string{proScannerMetaKey}).Return(m, nil)
|
||||||
|
suite.mMgr.On("Get", "uuid").Return(suite.sample, nil)
|
||||||
|
|
||||||
|
// Ping error
|
||||||
|
mc := &v1testing.Client{}
|
||||||
|
mc.On("GetMetadata").Return(nil, fmt.Errorf("getMetadata error"))
|
||||||
|
|
||||||
|
mcp := &v1testing.ClientPool{}
|
||||||
|
mocktesting.OnAnything(mcp, "Get").Return(mc, nil)
|
||||||
|
suite.c.clientPool = mcp
|
||||||
|
|
||||||
|
r, err := suite.c.GetRegistrationByProject(pid)
|
||||||
|
require.NoError(suite.T(), err)
|
||||||
|
assert.Equal(suite.T(), "unhealthy", r.Health)
|
||||||
|
}
|
||||||
|
|
||||||
// TestPing ...
|
// TestPing ...
|
||||||
func (suite *ControllerTestSuite) TestPing() {
|
func (suite *ControllerTestSuite) TestPing() {
|
||||||
meta, err := suite.c.Ping(suite.sample)
|
meta, err := suite.c.Ping(suite.sample)
|
||||||
|
Loading…
Reference in New Issue
Block a user