5
5
use Qiniu \Region ;
6
6
use Qiniu \Storage \ResumeUploader ;
7
7
use Qiniu \Storage \UploadManager ;
8
+ use Qiniu \Http \Client ;
8
9
use Qiniu \Config ;
9
10
use Qiniu \Zone ;
10
11
@@ -24,7 +25,7 @@ protected function setUp()
24
25
25
26
public function test4ML ()
26
27
{
27
- $ key = ' resumePutFile4ML ' ;
28
+ $ key = " resumePutFile4ML_ " . rand () ;
28
29
$ upManager = new UploadManager ();
29
30
$ token = $ this ->auth ->uploadToken ($ this ->bucketName , $ key );
30
31
$ tempFile = qiniuTempFile (4 * 1024 * 1024 + 10 );
@@ -42,12 +43,17 @@ public function test4ML()
42
43
$ this ->assertNull ($ error );
43
44
$ this ->assertNotNull ($ ret ['hash ' ]);
44
45
unlink ($ resumeFile );
46
+
47
+ $ domain = getenv ('QINIU_TEST_DOMAIN ' );
48
+ $ response = Client::get ("http:// $ domain/ $ key " );
49
+ $ this ->assertEquals (200 , $ response ->statusCode );
50
+ $ this ->assertEquals (md5_file ($ tempFile , true ), md5 ($ response ->body (), true ));
45
51
unlink ($ tempFile );
46
52
}
47
53
48
54
public function test4ML2 ()
49
55
{
50
- $ key = 'resumePutFile4ML ' ;
56
+ $ key = 'resumePutFile4ML_ ' . rand () ;
51
57
$ zone = new Zone (array ('upload.fake.qiniu.com ' ), array ('upload.qiniup.com ' ));
52
58
$ cfg = new Config ($ zone );
53
59
$ upManager = new UploadManager ($ cfg );
@@ -67,6 +73,11 @@ public function test4ML2()
67
73
$ this ->assertNull ($ error );
68
74
$ this ->assertNotNull ($ ret ['hash ' ]);
69
75
unlink ($ resumeFile );
76
+
77
+ $ domain = getenv ('QINIU_TEST_DOMAIN ' );
78
+ $ response = Client::get ("http:// $ domain/ $ key " );
79
+ $ this ->assertEquals (200 , $ response ->statusCode );
80
+ $ this ->assertEquals (md5_file ($ tempFile , true ), md5 ($ response ->body (), true ));
70
81
unlink ($ tempFile );
71
82
}
72
83
@@ -82,13 +93,45 @@ public function test4ML2()
82
93
// unlink($tempFile);
83
94
// }
84
95
96
+ public function testResumeUploadWithParams ()
97
+ {
98
+ $ key = "resumePutFile4ML_ " .rand ();
99
+ $ upManager = new UploadManager ();
100
+ $ policy = array ('returnBody ' => '{"hash":$(etag),"fname":$(fname),"var_1":$(x:var_1),"var_2":$(x:var_2)} ' );
101
+ $ token = $ this ->auth ->uploadToken ($ this ->bucketName , $ key , 3600 , $ policy );
102
+ $ tempFile = qiniuTempFile (4 * 1024 * 1024 + 10 );
103
+ $ resumeFile = tempnam (sys_get_temp_dir (), 'resume_file ' );
104
+ $ this ->assertNotFalse ($ resumeFile );
105
+ list ($ ret , $ error ) = $ upManager ->putFile (
106
+ $ token ,
107
+ $ key ,
108
+ $ tempFile ,
109
+ ["x:var_1 " => "val_1 " , "x:var_2 " => "val_2 " , "x-qn-meta-m1 " => "val_1 " , "x-qn-meta-m2 " => "val_2 " ],
110
+ 'application/octet-stream ' ,
111
+ false ,
112
+ $ resumeFile
113
+ );
114
+ $ this ->assertNull ($ error );
115
+ $ this ->assertNotNull ($ ret ['hash ' ]);
116
+ $ this ->assertEquals ("val_1 " , $ ret ['var_1 ' ]);
117
+ $ this ->assertEquals ("val_2 " , $ ret ['var_2 ' ]);
118
+ $ this ->assertEquals (basename ($ tempFile ), $ ret ['fname ' ]);
119
+ unlink ($ resumeFile );
120
+
121
+ $ domain = getenv ('QINIU_TEST_DOMAIN ' );
122
+ $ response = Client::get ("http:// $ domain/ $ key " );
123
+ $ this ->assertEquals (200 , $ response ->statusCode );
124
+ $ this ->assertEquals (md5_file ($ tempFile , true ), md5 ($ response ->body (), true ));
125
+ $ this ->assertEquals ("val_1 " , $ response ->headers ()["X-Qn-Meta-M1 " ]);
126
+ $ this ->assertEquals ("val_2 " , $ response ->headers ()["X-Qn-Meta-M2 " ]);
127
+ unlink ($ tempFile );
128
+ }
129
+
85
130
public function testResumeUploadV2 ()
86
131
{
87
- $ key = 'resumePutFile4ML ' ;
88
132
$ zone = new Zone (array ('up.qiniup.com ' ));
89
133
$ cfg = new Config ($ zone );
90
134
$ upManager = new UploadManager ($ cfg );
91
- $ token = $ this ->auth ->uploadToken ($ this ->bucketName , $ key );
92
135
$ testFileSize = array (
93
136
config::BLOCK_SIZE / 2 ,
94
137
config::BLOCK_SIZE ,
@@ -98,6 +141,8 @@ public function testResumeUploadV2()
98
141
);
99
142
$ partSize = 5 * 1024 * 1024 ;
100
143
foreach ($ testFileSize as $ item ) {
144
+ $ key = 'resumePutFile4ML_ ' .rand ()."_ " ;
145
+ $ token = $ this ->auth ->uploadToken ($ this ->bucketName , $ key );
101
146
$ tempFile = qiniuTempFile ($ item );
102
147
$ resumeFile = tempnam (sys_get_temp_dir (), 'resume_file ' );
103
148
$ this ->assertNotFalse ($ resumeFile );
@@ -115,7 +160,47 @@ public function testResumeUploadV2()
115
160
$ this ->assertNull ($ error );
116
161
$ this ->assertNotNull ($ ret ['hash ' ]);
117
162
unlink ($ resumeFile );
163
+
164
+ $ domain = getenv ('QINIU_TEST_DOMAIN ' );
165
+ $ response = Client::get ("http:// $ domain/ $ key " );
166
+ $ this ->assertEquals (200 , $ response ->statusCode );
167
+ $ this ->assertEquals (md5_file ($ tempFile , true ), md5 ($ response ->body (), true ));
118
168
unlink ($ tempFile );
119
169
}
120
170
}
171
+
172
+ public function testResumeUploadV2WithParams ()
173
+ {
174
+ $ key = "resumePutFile4ML_ " .rand ();
175
+ $ upManager = new UploadManager ();
176
+ $ policy = array ('returnBody ' => '{"hash":$(etag),"fname":$(fname),"var_1":$(x:var_1),"var_2":$(x:var_2)} ' );
177
+ $ token = $ this ->auth ->uploadToken ($ this ->bucketName , $ key , 3600 , $ policy );
178
+ $ tempFile = qiniuTempFile (4 * 1024 * 1024 + 10 );
179
+ $ resumeFile = tempnam (sys_get_temp_dir (), 'resume_file ' );
180
+ $ this ->assertNotFalse ($ resumeFile );
181
+ list ($ ret , $ error ) = $ upManager ->putFile (
182
+ $ token ,
183
+ $ key ,
184
+ $ tempFile ,
185
+ ["x:var_1 " => "val_1 " , "x:var_2 " => "val_2 " , "x-qn-meta-m1 " => "val_1 " , "x-qn-meta-m2 " => "val_2 " ],
186
+ 'application/octet-stream ' ,
187
+ false ,
188
+ $ resumeFile ,
189
+ 'v2 '
190
+ );
191
+ $ this ->assertNull ($ error );
192
+ $ this ->assertNotNull ($ ret ['hash ' ]);
193
+ $ this ->assertEquals ("val_1 " , $ ret ['var_1 ' ]);
194
+ $ this ->assertEquals ("val_2 " , $ ret ['var_2 ' ]);
195
+ $ this ->assertEquals (basename ($ tempFile ), $ ret ['fname ' ]);
196
+ unlink ($ resumeFile );
197
+
198
+ $ domain = getenv ('QINIU_TEST_DOMAIN ' );
199
+ $ response = Client::get ("http:// $ domain/ $ key " );
200
+ $ this ->assertEquals (200 , $ response ->statusCode );
201
+ $ this ->assertEquals (md5_file ($ tempFile , true ), md5 ($ response ->body (), true ));
202
+ $ this ->assertEquals ("val_1 " , $ response ->headers ()["X-Qn-Meta-M1 " ]);
203
+ $ this ->assertEquals ("val_2 " , $ response ->headers ()["X-Qn-Meta-M2 " ]);
204
+ unlink ($ tempFile );
205
+ }
121
206
}
0 commit comments