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