Skip to content

Commit ecb08f8

Browse files
committed
rio testcase
1 parent a89f7fe commit ecb08f8

File tree

6 files changed

+87
-26
lines changed

6 files changed

+87
-26
lines changed

qiniu/io.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Qiniu_PutExtra
1414
public $CheckCrc = 0;
1515
}
1616

17-
function Qiniu_Put($upToken, $key, $body, $fsize, $putExtra) // => ($putRet, $err)
17+
function Qiniu_Put($upToken, $key, $body, $putExtra) // => ($putRet, $err)
1818
{
1919
global $QINIU_UP_HOST;
2020

qiniu/resumable_io.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,9 @@ function Qiniu_Rio_PutFile($upToken, $key, $localFile, $putExtra) // => ($putRet
134134
}
135135

136136
$fi = fstat($fp);
137-
138-
Qiniu_Rio_Put($upToken, $key, $fp, $fi['size'], $putExtra);
137+
$result = Qiniu_Rio_Put($upToken, $key, $fp, $fi['size'], $putExtra);
139138
fclose($fp);
139+
return $result;
140140
}
141141

142142
// ----------------------------------------------------------

qiniu/rs_utils.php

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,27 @@ function Qiniu_RS_PutFile($self, $bucket, $key, $localFile, $putExtra) // => ($p
1818
return Qiniu_PutFile($upToken, $key, $localFile, $putExtra);
1919
}
2020

21+
function Qiniu_RS_Rput($self, $bucket, $key, $body, $fsize, $putExtra) // => ($putRet, $err)
22+
{
23+
$putPolicy = new Qiniu_RS_PutPolicy("$bucket:$key");
24+
$upToken = $putPolicy->Token($self->Mac);
25+
if ($putExtra == null) {
26+
$putExtra = new Qiniu_Rio_PutExtra($bucket);
27+
} else {
28+
$putExtra->Bucket = $bucket;
29+
}
30+
return Qiniu_Rio_Put($upToken, $key, $body, $fsize, $putExtra);
31+
}
32+
33+
function Qiniu_RS_RputFile($self, $bucket, $key, $localFile, $putExtra) // => ($putRet, $err)
34+
{
35+
$putPolicy = new Qiniu_RS_PutPolicy("$bucket:$key");
36+
$upToken = $putPolicy->Token($self->Mac);
37+
if ($putExtra == null) {
38+
$putExtra = new Qiniu_Rio_PutExtra($bucket);
39+
} else {
40+
$putExtra->Bucket = $bucket;
41+
}
42+
return Qiniu_Rio_PutFile($upToken, $key, $localFile, $putExtra);
43+
}
44+

tests/RioTest.php

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,6 @@
22

33
require_once("bootstrap.php");
44

5-
class MockReader
6-
{
7-
private $off = 0;
8-
9-
public function __construct($off = 0)
10-
{
11-
$this->off = $off;
12-
}
13-
14-
public function Read($bytes) // => ($data, $err)
15-
{
16-
$off = $this->off;
17-
$data = '';
18-
for ($i = 0; $i < $bytes; $i++) {
19-
$data .= chr(65 + ($off % 26)); // ord('A') = 65
20-
$off++;
21-
}
22-
$this->off = $off;
23-
return array($data, null);
24-
}
25-
}
26-
275
class RioTest extends PHPUnit_Framework_TestCase
286
{
297
public $bucket;

tests/RsUtilsTest.php

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,43 @@ public function setUp()
1414
$this->bucket = getenv("QINIU_BUCKET_NAME");
1515
}
1616

17+
public function testRput()
18+
{
19+
$key = 'tmp/testRput' . getTid();
20+
$err = Qiniu_RS_Delete($this->client, $this->bucket, $key);
21+
22+
$reader = new MockReader;
23+
list($ret, $err) = Qiniu_RS_Rput($this->client, $this->bucket, $key, $reader, 5, null);
24+
$this->assertNull($err);
25+
var_dump($ret);
26+
$this->assertEquals($ret['hash'], "Fnvgeq9GDVk6Mj0Nsz2gW2S_3LOl");
27+
28+
list($ret, $err) = Qiniu_RS_Stat($this->client, $this->bucket, $key);
29+
$this->assertNull($err);
30+
var_dump($ret);
31+
32+
$err = Qiniu_RS_Delete($this->client, $this->bucket, $key);
33+
$this->assertNull($err);
34+
}
35+
36+
public function testRputFile()
37+
{
38+
$key = 'tmp/testRputFile' . getTid();
39+
$err = Qiniu_RS_Delete($this->client, $this->bucket, $key);
40+
41+
list($ret, $err) = Qiniu_RS_RputFile($this->client, $this->bucket, $key, __file__, null);
42+
$this->assertNull($err);
43+
var_dump($ret);
44+
$this->assertArrayHasKey('hash', $ret);
45+
46+
list($ret, $err) = Qiniu_RS_Stat($this->client, $this->bucket, $key);
47+
$this->assertNull($err);
48+
var_dump($ret);
49+
50+
$err = Qiniu_RS_Delete($this->client, $this->bucket, $key);
51+
$this->assertNull($err);
52+
}
53+
1754
public function testPutFile()
1855
{
1956
$key = 'tmp/testPutFile' . getTid();
@@ -39,7 +76,7 @@ public function testPut()
3976
$key = 'tmp/testPut' . getTid();
4077
$err = Qiniu_RS_Delete($this->client, $this->bucket, $key);
4178

42-
list($ret, $err) = Qiniu_RS_Put($this->client, $this->bucket, $key, "hello world!", null);
79+
list($ret, $err) = Qiniu_RS_Put($this->client, $this->bucket, $key, 'hello world!', null);
4380
$this->assertNull($err);
4481
$this->assertArrayHasKey('hash', $ret);
4582
var_dump($ret);

tests/bootstrap.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,25 @@ function getTid() {
2424
return $tid;
2525
}
2626

27+
class MockReader
28+
{
29+
private $off = 0;
30+
31+
public function __construct($off = 0)
32+
{
33+
$this->off = $off;
34+
}
35+
36+
public function Read($bytes) // => ($data, $err)
37+
{
38+
$off = $this->off;
39+
$data = '';
40+
for ($i = 0; $i < $bytes; $i++) {
41+
$data .= chr(65 + ($off % 26)); // ord('A') = 65
42+
$off++;
43+
}
44+
$this->off = $off;
45+
return array($data, null);
46+
}
47+
}
48+

0 commit comments

Comments
 (0)