|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- package cdsapi
-
- import (
- "bytes"
- "fmt"
- "io"
- "testing"
-
- "github.com/google/uuid"
- . "github.com/smartystreets/goconvey/convey"
- "gitlink.org.cn/cloudream/common/pkgs/iterator"
- cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
- )
-
- func Test_PackageGet(t *testing.T) {
- Convey("上传后获取Package信息", t, func() {
- cli := NewClient(&Config{
- URL: "http://localhost:7890",
- })
-
- fileData := make([]byte, 4096)
- for i := 0; i < len(fileData); i++ {
- fileData[i] = byte(i)
- }
-
- pkgName := uuid.NewString()
- createResp, err := cli.Package().Create(PackageCreate{
- UserID: 1,
- BucketID: 1,
- Name: pkgName,
- })
- So(err, ShouldBeNil)
-
- _, err = cli.Object().Upload(ObjectUpload{
- ObjectUploadInfo: ObjectUploadInfo{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- },
- Files: iterator.Array(
- &UploadingObject{
- Path: "abc/test",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- &UploadingObject{
- Path: "test2",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- ),
- })
- So(err, ShouldBeNil)
-
- getResp, err := cli.Package().Get(PackageGetReq{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- })
- So(err, ShouldBeNil)
-
- So(getResp.PackageID, ShouldEqual, createResp.Package.PackageID)
- So(getResp.Package.Name, ShouldEqual, pkgName)
-
- err = cli.Package().Delete(PackageDelete{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- })
- So(err, ShouldBeNil)
- })
- }
-
- func Test_Object(t *testing.T) {
- Convey("上传,下载,删除", t, func() {
- cli := NewClient(&Config{
- URL: "http://localhost:7890",
- })
-
- fileData := make([]byte, 4096)
- for i := 0; i < len(fileData); i++ {
- fileData[i] = byte(i)
- }
-
- stgAff := cdssdk.StorageID(2)
-
- pkgName := uuid.NewString()
- createResp, err := cli.Package().Create(PackageCreate{
- UserID: 1,
- BucketID: 1,
- Name: pkgName,
- })
- So(err, ShouldBeNil)
-
- _, err = cli.Object().Upload(ObjectUpload{
- ObjectUploadInfo: ObjectUploadInfo{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- Affinity: stgAff,
- },
- Files: iterator.Array(
- &UploadingObject{
- Path: "test",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- &UploadingObject{
- Path: "test2",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- ),
- })
- So(err, ShouldBeNil)
-
- // downFs, err := cli.ObjectDownload(ObjectDownloadReq{
- // UserID: 1,
- // ObjectID: upResp.ObjectID,
- // })
- // So(err, ShouldBeNil)
- //
- // downFileData, err := io.ReadAll(downFs)
- // So(err, ShouldBeNil)
- // So(downFileData, ShouldResemble, fileData)
- // downFs.Close()
-
- err = cli.Package().Delete(PackageDelete{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- })
- So(err, ShouldBeNil)
- })
- }
-
- func Test_ObjectList(t *testing.T) {
- Convey("路径查询", t, func() {
- cli := NewClient(&Config{
- URL: "http://localhost:7890",
- })
-
- resp, err := cli.Object().List(ObjectList{
- UserID: 1,
- PackageID: 10,
- Path: "100x100K/zexema",
- })
- So(err, ShouldBeNil)
- fmt.Printf("\n")
- fmt.Printf("%+v\n", resp.Objects[0])
- })
- }
-
- func Test_Storage(t *testing.T) {
- Convey("上传后调度文件", t, func() {
- cli := NewClient(&Config{
- URL: "http://localhost:7890",
- })
-
- fileData := make([]byte, 4096)
- for i := 0; i < len(fileData); i++ {
- fileData[i] = byte(i)
- }
-
- pkgName := uuid.NewString()
- createResp, err := cli.Package().Create(PackageCreate{
- UserID: 1,
- BucketID: 1,
- Name: pkgName,
- })
- So(err, ShouldBeNil)
-
- _, err = cli.Object().Upload(ObjectUpload{
- ObjectUploadInfo: ObjectUploadInfo{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- },
- Files: iterator.Array(
- &UploadingObject{
- Path: "test",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- &UploadingObject{
- Path: "test2",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- ),
- })
- So(err, ShouldBeNil)
-
- _, err = cli.StorageLoadPackage(StorageLoadPackageReq{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- StorageID: 1,
- })
- So(err, ShouldBeNil)
-
- err = cli.Package().Delete(PackageDelete{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- })
- So(err, ShouldBeNil)
- })
- }
-
- func Test_Cache(t *testing.T) {
- Convey("上传后移动文件", t, func() {
- cli := NewClient(&Config{
- URL: "http://localhost:7890",
- })
-
- fileData := make([]byte, 4096)
- for i := 0; i < len(fileData); i++ {
- fileData[i] = byte(i)
- }
-
- pkgName := uuid.NewString()
- createResp, err := cli.Package().Create(PackageCreate{
- UserID: 1,
- BucketID: 1,
- Name: pkgName,
- })
- So(err, ShouldBeNil)
-
- _, err = cli.Object().Upload(ObjectUpload{
- ObjectUploadInfo: ObjectUploadInfo{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- },
- Files: iterator.Array(
- &UploadingObject{
- Path: "test.txt",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- &UploadingObject{
- Path: "test2.txt",
- File: io.NopCloser(bytes.NewBuffer(fileData)),
- },
- ),
- })
- So(err, ShouldBeNil)
-
- _, err = cli.CacheMovePackage(CacheMovePackageReq{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- StorageID: 1,
- })
- So(err, ShouldBeNil)
-
- err = cli.Package().Delete(PackageDelete{
- UserID: 1,
- PackageID: createResp.Package.PackageID,
- })
- So(err, ShouldBeNil)
- })
- }
|