You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

storage_test.go 3.9 kB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. package stgsdk
  2. import (
  3. "bytes"
  4. "fmt"
  5. "io"
  6. "testing"
  7. "github.com/google/uuid"
  8. . "github.com/smartystreets/goconvey/convey"
  9. "gitlink.org.cn/cloudream/common/pkgs/iterator"
  10. )
  11. func Test_Object(t *testing.T) {
  12. Convey("上传,下载,删除", t, func() {
  13. cli := NewClient(&Config{
  14. URL: "http://localhost:7890",
  15. })
  16. fileData := make([]byte, 4096)
  17. for i := 0; i < len(fileData); i++ {
  18. fileData[i] = byte(i)
  19. }
  20. nodeAff := int64(2)
  21. upResp, err := cli.PackageUpload(PackageUploadReq{
  22. UserID: 0,
  23. BucketID: 1,
  24. Name: uuid.NewString(),
  25. Redundancy: TypedRedundancyInfo{
  26. Type: RedundancyRep,
  27. Info: NewRepRedundancyInfo(1),
  28. },
  29. NodeAffinity: &nodeAff,
  30. Files: iterator.Array(
  31. &IterPackageUploadFile{
  32. Path: "test",
  33. File: io.NopCloser(bytes.NewBuffer(fileData)),
  34. },
  35. &IterPackageUploadFile{
  36. Path: "test2",
  37. File: io.NopCloser(bytes.NewBuffer(fileData)),
  38. },
  39. ),
  40. })
  41. So(err, ShouldBeNil)
  42. // downFs, err := cli.ObjectDownload(ObjectDownloadReq{
  43. // UserID: 0,
  44. // ObjectID: upResp.ObjectID,
  45. // })
  46. // So(err, ShouldBeNil)
  47. //
  48. // downFileData, err := io.ReadAll(downFs)
  49. // So(err, ShouldBeNil)
  50. // So(downFileData, ShouldResemble, fileData)
  51. // downFs.Close()
  52. err = cli.PackageDelete(PackageDeleteReq{
  53. UserID: 0,
  54. PackageID: upResp.PackageID,
  55. })
  56. So(err, ShouldBeNil)
  57. })
  58. }
  59. func Test_Storage(t *testing.T) {
  60. Convey("上传后调度文件", t, func() {
  61. cli := NewClient(&Config{
  62. URL: "http://localhost:7890",
  63. })
  64. fileData := make([]byte, 4096)
  65. for i := 0; i < len(fileData); i++ {
  66. fileData[i] = byte(i)
  67. }
  68. upResp, err := cli.PackageUpload(PackageUploadReq{
  69. UserID: 0,
  70. BucketID: 1,
  71. Name: uuid.NewString(),
  72. Redundancy: TypedRedundancyInfo{
  73. Type: RedundancyRep,
  74. Info: NewRepRedundancyInfo(1),
  75. },
  76. Files: iterator.Array(
  77. &IterPackageUploadFile{
  78. Path: "test",
  79. File: io.NopCloser(bytes.NewBuffer(fileData)),
  80. },
  81. &IterPackageUploadFile{
  82. Path: "test2",
  83. File: io.NopCloser(bytes.NewBuffer(fileData)),
  84. },
  85. ),
  86. })
  87. So(err, ShouldBeNil)
  88. err = cli.StorageLoadPackage(StorageLoadPackageReq{
  89. UserID: 0,
  90. PackageID: upResp.PackageID,
  91. StorageID: 1,
  92. })
  93. So(err, ShouldBeNil)
  94. err = cli.PackageDelete(PackageDeleteReq{
  95. UserID: 0,
  96. PackageID: upResp.PackageID,
  97. })
  98. So(err, ShouldBeNil)
  99. })
  100. }
  101. func Test_Cache(t *testing.T) {
  102. Convey("上传后移动文件", t, func() {
  103. cli := NewClient(&Config{
  104. URL: "http://localhost:7890",
  105. })
  106. fileData := make([]byte, 4096)
  107. for i := 0; i < len(fileData); i++ {
  108. fileData[i] = byte(i)
  109. }
  110. upResp, err := cli.PackageUpload(PackageUploadReq{
  111. UserID: 0,
  112. BucketID: 1,
  113. Name: uuid.NewString(),
  114. Redundancy: TypedRedundancyInfo{
  115. Type: RedundancyRep,
  116. Info: NewRepRedundancyInfo(1),
  117. },
  118. Files: iterator.Array(
  119. &IterPackageUploadFile{
  120. Path: "test.txt",
  121. File: io.NopCloser(bytes.NewBuffer(fileData)),
  122. },
  123. &IterPackageUploadFile{
  124. Path: "test2.txt",
  125. File: io.NopCloser(bytes.NewBuffer(fileData)),
  126. },
  127. ),
  128. })
  129. So(err, ShouldBeNil)
  130. _, err = cli.CacheMovePackage(CacheMovePackageReq{
  131. UserID: 0,
  132. PackageID: upResp.PackageID,
  133. NodeID: 1,
  134. })
  135. So(err, ShouldBeNil)
  136. err = cli.PackageDelete(PackageDeleteReq{
  137. UserID: 0,
  138. PackageID: upResp.PackageID,
  139. })
  140. So(err, ShouldBeNil)
  141. })
  142. }
  143. func Test_GetNodeInfos(t *testing.T) {
  144. Convey("测试获取node信息", t, func() {
  145. cli := NewClient(&Config{
  146. URL: "http://localhost:7890",
  147. })
  148. resp1, err := cli.PackageGetCachedNodes(PackageGetCachedNodesReq{
  149. PackageID: 11,
  150. UserID: 0,
  151. })
  152. So(err, ShouldBeNil)
  153. fmt.Printf("resp1: %v\n", resp1)
  154. resp2, err := cli.PackageGetLoadedNodes(PackageGetLoadedNodesReq{
  155. PackageID: 11,
  156. UserID: 0,
  157. })
  158. So(err, ShouldBeNil)
  159. fmt.Printf("resp2: %v\n", resp2)
  160. })
  161. }