本文整理汇总了Golang中github.com/gluster/glusterd2/tests.Assert函数的典型用法代码示例。如果您正苦于以下问题:Golang Assert函数的具体用法?Golang Assert怎么用?Golang Assert使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Assert函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestNewVolumeEntryFromRequest
// TestNewVolumeEntryFromRequest tests whether the volume is created with a
// valid request
func TestNewVolumeEntryFromRequest(t *testing.T) {
var err error
defer heketitests.Patch(&utils.PathMax, 4096).Restore()
defer heketitests.Patch(&utils.Setxattr, tests.MockSetxattr).Restore()
defer heketitests.Patch(&utils.Getxattr, tests.MockGetxattr).Restore()
defer heketitests.Patch(&utils.Removexattr, tests.MockRemovexattr).Restore()
defer heketitests.Patch(&getVolumesFunc, mockGetVolumes).Restore()
defer heketitests.Patch(&peer.GetPeerIDByAddrF, peer.GetPeerIDByAddrMockGood).Restore()
//peer.GetPeerIDByAddrF = peer.GetPeerIDByAddrMockGood
//defer func() { peer.GetPeerIDByAddrF = peer.GetPeerIDByAddr }()
req := new(VolCreateRequest)
req.Name = "vol1"
req.Bricks = getSampleBricks("/tmp/b1", "/tmp/b2")
req.Force = true
v, e := NewVolumeEntry(req)
tests.Assert(t, e == nil)
tests.Assert(t, v.Name == "vol1")
tests.Assert(t, v.Transport == "tcp")
tests.Assert(t, v.ReplicaCount == 1)
tests.Assert(t, len(v.ID) != 0)
v.Bricks, err = NewBrickEntriesFunc(req.Bricks)
tests.Assert(t, err == nil)
tests.Assert(t, v.Bricks != nil)
tests.Assert(t, len(v.Bricks) != 0)
_, err = ValidateBrickEntriesFunc(v.Bricks, v.ID, true)
tests.Assert(t, err == nil)
defer heketitests.Patch(&validateBrickPathStatsFunc, tests.MockValidateBrickPathStats).Restore()
_, err = ValidateBrickEntriesFunc(v.Bricks, v.ID, false)
tests.Assert(t, err == nil)
}
示例2: TestValidateXattrSupport
func TestValidateXattrSupport(t *testing.T) {
defer heketitests.Patch(&Setxattr, tests.MockSetxattr).Restore()
defer heketitests.Patch(&Getxattr, tests.MockGetxattr).Restore()
defer heketitests.Patch(&Removexattr, tests.MockRemovexattr).Restore()
tests.Assert(t, ValidateXattrSupport("/tmp/b1", "localhost", uuid.NewRandom(), true) == nil)
// Some negative tests
var xattr_err error
baderror := errors.New("Bad")
xattr_err = baderror
// Now check what happens when setxattr fails
defer heketitests.Patch(&Setxattr, func(path string, attr string, data []byte, flags int) (err error) {
return xattr_err
}).Restore()
tests.Assert(t, ValidateXattrSupport("/tmp/b1", "localhost", uuid.NewRandom(), true) == baderror)
// Now check what happens when getxattr fails
defer heketitests.Patch(&Getxattr, func(path string, attr string, dest []byte) (sz int, err error) {
return 0, xattr_err
}).Restore()
tests.Assert(t, ValidateXattrSupport("/tmp/b1", "localhost", uuid.NewRandom(), true) == baderror)
// Now check what happens when removexattr fails
defer heketitests.Patch(&Removexattr, func(path string, attr string) (err error) {
return xattr_err
}).Restore()
tests.Assert(t, ValidateXattrSupport("/tmp/b1", "localhost", uuid.NewRandom(), true) == baderror)
}
示例3: TestGenerateVolfiles
// TestGenerateVolfiles validates generateVolfiles
func TestGenerateVolfiles(t *testing.T) {
defer heketitests.Patch(&peer.GetPeerIDByAddrF, peer.GetPeerIDByAddrMockGood).Restore()
msg := new(volume.VolCreateRequest)
msg.Name = "vol"
msg.Bricks = []string{"127.0.0.1:/tmp/b1", "127.0.0.1:/tmp/b2"}
vol, e := createVolinfo(msg)
c := transaction.NewMockCtx()
c.Set("volinfo", vol)
defer heketitests.Patch(&volgen.GenerateVolfileFunc, func(vinfo *volume.Volinfo) error {
return nil
}).Restore()
defer heketitests.Patch(&volume.AddOrUpdateVolumeFunc, func(vinfo *volume.Volinfo) error {
return nil
}).Restore()
e = generateVolfiles(c)
tests.Assert(t, e == nil)
// Mock volgen failure
defer heketitests.Patch(&volgen.GenerateVolfileFunc, func(vinfo *volume.Volinfo) error {
return errBad
}).Restore()
e = generateVolfiles(c)
tests.Assert(t, e == errBad)
defer heketitests.Patch(&volgen.GenerateVolfileFunc, func(vinfo *volume.Volinfo) error {
return nil
}).Restore()
}
示例4: TestValidateVolumeCreate
// TestValidateVolumeCreate validates validateVolumeCreate()
func TestValidateVolumeCreate(t *testing.T) {
msg := new(volume.VolCreateRequest)
msg.Name = "vol"
msg.Bricks = []string{"127.0.0.1:/tmp/b1", "127.0.0.1:/tmp/b2"}
vol, e := createVolume(msg)
defer heketitests.Patch(&volume.ExistsFunc, func(name string) bool {
return false
}).Restore()
defer heketitests.Patch(&volume.ValidateBrickEntriesFunc, func(bricks []volume.Brickinfo, volID uuid.UUID, force bool) (int, error) {
return 0, nil
}).Restore()
_, e = validateVolumeCreate(msg, vol)
tests.Assert(t, e == nil)
// Mock volume exists failure
defer heketitests.Patch(&volume.ExistsFunc, func(name string) bool {
return true
}).Restore()
_, e = validateVolumeCreate(msg, vol)
tests.Assert(t, e == gderrors.ErrVolExists)
// Mock validateBrickEntries failure
defer heketitests.Patch(&volume.ExistsFunc, func(name string) bool {
return false
}).Restore()
defer heketitests.Patch(&volume.ValidateBrickEntriesFunc, func(bricks []volume.Brickinfo, volID uuid.UUID, force bool) (int, error) {
return 0, errBad
}).Restore()
_, e = validateVolumeCreate(msg, vol)
tests.Assert(t, e == errBad)
}
示例5: TestValidateVolumeCreate
// TestValidateVolumeCreate validates validateVolumeCreate()
func TestValidateVolumeCreate(t *testing.T) {
msg := new(volume.VolCreateRequest)
msg.Name = "vol"
msg.Bricks = []string{"127.0.0.1:/tmp/b1", "127.0.0.1:/tmp/b2"}
c := transaction.NewMockCtx()
c.Set("req", msg)
defer heketitests.Patch(&volume.ValidateBrickEntriesFunc, func(bricks []brick.Brickinfo, volID uuid.UUID, force bool) (int, error) {
return 0, nil
}).Restore()
defer heketitests.Patch(&peer.GetPeerIDByAddrF, peer.GetPeerIDByAddrMockGood).Restore()
vol, e := createVolinfo(msg)
tests.Assert(t, e == nil)
c.Set("volinfo", vol)
e = validateVolumeCreate(c)
tests.Assert(t, e == nil)
// Mock validateBrickEntries failure
defer heketitests.Patch(&volume.ValidateBrickEntriesFunc, func(bricks []brick.Brickinfo, volID uuid.UUID, force bool) (int, error) {
return 0, errBad
}).Restore()
e = validateVolumeCreate(c)
tests.Assert(t, e == errBad)
}
示例6: TestValidateBrickSubDirLength
func TestValidateBrickSubDirLength(t *testing.T) {
brick := "/tmp/"
for i := 0; i <= PosixPathMax; i++ {
brick = brick + "a"
}
tests.Assert(t, ValidateBrickSubDirLength(brick) != nil)
tests.Assert(t, ValidateBrickSubDirLength("/tmp/brick1") == nil)
}
示例7: TestValidateBrickPathLength
func TestValidateBrickPathLength(t *testing.T) {
var brick string
for i := 0; i <= unix.PathMax; i++ {
brick = brick + "a"
}
tests.Assert(t, ValidateBrickPathLength(brick) != nil)
tests.Assert(t, ValidateBrickPathLength("/brick/b1") == nil)
}
示例8: TestNewVolumeObject
// TestNewVolumeEntry tests whether the volinfo object is successfully created
func TestNewVolumeObject(t *testing.T) {
v := NewVolinfoFunc()
tests.Assert(t, v.Options != nil)
tests.Assert(t, len(v.ID) == 0)
// Negative test
defer heketitests.Patch(&NewVolinfoFunc, func() (vol *Volinfo) {
return nil
}).Restore()
v1 := NewVolinfoFunc()
tests.Assert(t, v1 == nil)
}
示例9: TestNewVolumeEntryFromRequest
func TestNewVolumeEntryFromRequest(t *testing.T) {
req := VolCreateRequest{}
req.Name = "vol1"
v := NewVolumeEntry(req)
tests.Assert(t, v.Name == "vol1")
tests.Assert(t, v.Transport == "tcp")
tests.Assert(t, v.ReplicaCount == 1)
tests.Assert(t, len(v.ID) != 0)
tests.Assert(t, len(v.Bricks) == 0)
}
示例10: TestNewVolumeEntry
// TestNewVolumeEntry validates NewVolumeEntry()
func TestNewVolumeEntry(t *testing.T) {
req := new(VolCreateRequest)
v, e := NewVolumeEntry(req)
tests.Assert(t, e == nil)
tests.Assert(t, v != nil)
// Negative test - mock out NewVolInfo()
defer heketitests.Patch(&NewVolinfoFunc, func() (vol *Volinfo) {
return nil
}).Restore()
_, e = NewVolumeEntry(req)
tests.Assert(t, e == errors.ErrVolCreateFail)
}
示例11: TestCreateVolume
// TestCreateVolume validates createVolume()
func TestCreateVolume(t *testing.T) {
msg := new(volume.VolCreateRequest)
msg.Name = "vol"
msg.Bricks = []string{"127.0.0.1:/tmp/b1", "127.0.0.1:/tmp/b2"}
vol, e := createVolume(msg)
tests.Assert(t, e == nil && vol != nil)
// Mock failure in NewBrickEntries(), createVolume() should fail
defer heketitests.Patch(&volume.NewBrickEntriesFunc, func(bricks []string) ([]volume.Brickinfo, error) {
return nil, errBad
}).Restore()
vol, e = createVolume(msg)
tests.Assert(t, e == errBad)
}
示例12: TestNewVolumeEntryFromEmptyRequest
func TestNewVolumeEntryFromEmptyRequest(t *testing.T) {
req := VolCreateRequest{}
v := NewVolumeEntry(req)
tests.Assert(t, len(v.Name) == 0)
}
示例13: TestNewVolumeEntryFromRequestRedundancy
func TestNewVolumeEntryFromRequestRedundancy(t *testing.T) {
req := VolCreateRequest{}
req.RedundancyCount = 2
v := NewVolumeEntry(req)
tests.Assert(t, v.RedundancyCount == 2)
}
示例14: TestNewVolumeEntryFromRequestTransport
func TestNewVolumeEntryFromRequestTransport(t *testing.T) {
req := VolCreateRequest{}
req.Transport = "rdma"
v := NewVolumeEntry(req)
tests.Assert(t, v.Transport == "rdma")
}
示例15: TestNewVolumeEntryFromRequestDisperse
func TestNewVolumeEntryFromRequestDisperse(t *testing.T) {
req := VolCreateRequest{}
req.DisperseCount = 2
v := NewVolumeEntry(req)
tests.Assert(t, v.DisperseCount == 2)
}