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 4.7 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
1 year ago
2 years ago
2 years ago
2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. package cdssdk
  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_PackageGet(t *testing.T) {
  12. Convey("上传后获取Package信息", 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. pkgName := uuid.NewString()
  21. upResp, err := cli.PackageUpload(PackageUploadReq{
  22. UserID: 1,
  23. BucketID: 1,
  24. Name: pkgName,
  25. Files: iterator.Array(
  26. &IterPackageUploadFile{
  27. Path: "test",
  28. File: io.NopCloser(bytes.NewBuffer(fileData)),
  29. },
  30. &IterPackageUploadFile{
  31. Path: "test2",
  32. File: io.NopCloser(bytes.NewBuffer(fileData)),
  33. },
  34. ),
  35. })
  36. So(err, ShouldBeNil)
  37. getResp, err := cli.PackageGet(PackageGetReq{
  38. UserID: 1,
  39. PackageID: upResp.PackageID,
  40. })
  41. So(err, ShouldBeNil)
  42. So(getResp.PackageID, ShouldEqual, upResp.PackageID)
  43. So(getResp.Package.Name, ShouldEqual, pkgName)
  44. err = cli.PackageDelete(PackageDeleteReq{
  45. UserID: 1,
  46. PackageID: upResp.PackageID,
  47. })
  48. So(err, ShouldBeNil)
  49. })
  50. }
  51. func Test_Object(t *testing.T) {
  52. Convey("上传,下载,删除", t, func() {
  53. cli := NewClient(&Config{
  54. URL: "http://localhost:7890",
  55. })
  56. fileData := make([]byte, 4096)
  57. for i := 0; i < len(fileData); i++ {
  58. fileData[i] = byte(i)
  59. }
  60. nodeAff := NodeID(2)
  61. upResp, err := cli.PackageUpload(PackageUploadReq{
  62. UserID: 1,
  63. BucketID: 1,
  64. Name: uuid.NewString(),
  65. NodeAffinity: &nodeAff,
  66. Files: iterator.Array(
  67. &IterPackageUploadFile{
  68. Path: "test",
  69. File: io.NopCloser(bytes.NewBuffer(fileData)),
  70. },
  71. &IterPackageUploadFile{
  72. Path: "test2",
  73. File: io.NopCloser(bytes.NewBuffer(fileData)),
  74. },
  75. ),
  76. })
  77. So(err, ShouldBeNil)
  78. // downFs, err := cli.ObjectDownload(ObjectDownloadReq{
  79. // UserID: 1,
  80. // ObjectID: upResp.ObjectID,
  81. // })
  82. // So(err, ShouldBeNil)
  83. //
  84. // downFileData, err := io.ReadAll(downFs)
  85. // So(err, ShouldBeNil)
  86. // So(downFileData, ShouldResemble, fileData)
  87. // downFs.Close()
  88. err = cli.PackageDelete(PackageDeleteReq{
  89. UserID: 1,
  90. PackageID: upResp.PackageID,
  91. })
  92. So(err, ShouldBeNil)
  93. })
  94. }
  95. func Test_Storage(t *testing.T) {
  96. Convey("上传后调度文件", t, func() {
  97. cli := NewClient(&Config{
  98. URL: "http://localhost:7890",
  99. })
  100. fileData := make([]byte, 4096)
  101. for i := 0; i < len(fileData); i++ {
  102. fileData[i] = byte(i)
  103. }
  104. upResp, err := cli.PackageUpload(PackageUploadReq{
  105. UserID: 1,
  106. BucketID: 1,
  107. Name: uuid.NewString(),
  108. Files: iterator.Array(
  109. &IterPackageUploadFile{
  110. Path: "test",
  111. File: io.NopCloser(bytes.NewBuffer(fileData)),
  112. },
  113. &IterPackageUploadFile{
  114. Path: "test2",
  115. File: io.NopCloser(bytes.NewBuffer(fileData)),
  116. },
  117. ),
  118. })
  119. So(err, ShouldBeNil)
  120. _, err = cli.StorageLoadPackage(StorageLoadPackageReq{
  121. UserID: 1,
  122. PackageID: upResp.PackageID,
  123. StorageID: 1,
  124. })
  125. So(err, ShouldBeNil)
  126. err = cli.PackageDelete(PackageDeleteReq{
  127. UserID: 1,
  128. PackageID: upResp.PackageID,
  129. })
  130. So(err, ShouldBeNil)
  131. })
  132. }
  133. func Test_Cache(t *testing.T) {
  134. Convey("上传后移动文件", t, func() {
  135. cli := NewClient(&Config{
  136. URL: "http://localhost:7890",
  137. })
  138. fileData := make([]byte, 4096)
  139. for i := 0; i < len(fileData); i++ {
  140. fileData[i] = byte(i)
  141. }
  142. upResp, err := cli.PackageUpload(PackageUploadReq{
  143. UserID: 1,
  144. BucketID: 1,
  145. Name: uuid.NewString(),
  146. Files: iterator.Array(
  147. &IterPackageUploadFile{
  148. Path: "test.txt",
  149. File: io.NopCloser(bytes.NewBuffer(fileData)),
  150. },
  151. &IterPackageUploadFile{
  152. Path: "test2.txt",
  153. File: io.NopCloser(bytes.NewBuffer(fileData)),
  154. },
  155. ),
  156. })
  157. So(err, ShouldBeNil)
  158. _, err = cli.CacheMovePackage(CacheMovePackageReq{
  159. UserID: 1,
  160. PackageID: upResp.PackageID,
  161. NodeID: 1,
  162. })
  163. So(err, ShouldBeNil)
  164. err = cli.PackageDelete(PackageDeleteReq{
  165. UserID: 1,
  166. PackageID: upResp.PackageID,
  167. })
  168. So(err, ShouldBeNil)
  169. })
  170. }
  171. func Test_GetNodeInfos(t *testing.T) {
  172. Convey("测试获取node信息", t, func() {
  173. cli := NewClient(&Config{
  174. URL: "http://localhost:7890",
  175. })
  176. resp1, err := cli.PackageGetCachedNodes(PackageGetCachedNodesReq{
  177. PackageID: 11,
  178. UserID: 1,
  179. })
  180. So(err, ShouldBeNil)
  181. fmt.Printf("resp1: %v\n", resp1)
  182. resp2, err := cli.PackageGetLoadedNodes(PackageGetLoadedNodesReq{
  183. PackageID: 11,
  184. UserID: 1,
  185. })
  186. So(err, ShouldBeNil)
  187. fmt.Printf("resp2: %v\n", resp2)
  188. })
  189. }