This commit is contained in:
sc0Vu 2018-01-26 17:50:12 +08:00
parent 9f4614781e
commit c1ae5b7b2d
3 changed files with 123 additions and 1 deletions

64
src/Methods/Shh/Post.php Normal file
View File

@ -0,0 +1,64 @@
<?php
/**
* This file is part of web3.php package.
*
* (c) Kuan-Cheng,Lai <alk03073135@gmail.com>
*
* @author Peter Lai <alk03073135@gmail.com>
* @license MIT
*/
namespace Web3\Methods\Shh;
use InvalidArgumentException;
use Web3\Methods\EthMethod;
use Web3\Formatters\PostFormatter;
use Web3\Validators\PostValidator;
class Post extends EthMethod
{
/**
* validators
*
* @var array
*/
protected $validators = [
PostValidator::class
];
/**
* inputFormatters
*
* @var array
*/
protected $inputFormatters = [
PostFormatter::class
];
/**
* outputFormatters
*
* @var array
*/
protected $outputFormatters = [];
/**
* defaultValues
*
* @var array
*/
protected $defaultValues = [];
/**
* construct
*
* @param string $method
* @param array $arguments
* @return void
*/
// public function __construct($method='', $arguments=[])
// {
// parent::__construct($method, $arguments);
// }
}

View File

@ -38,7 +38,7 @@ class Shh
* @var array
*/
private $allowedMethods = [
'shh_version', 'shh_newIdentity', 'shh_hasIdentity',
'shh_version', 'shh_newIdentity', 'shh_hasIdentity', 'shh_post'
// doesn't exist: 'shh_newGroup', 'shh_addToGroup'
];

View File

@ -138,6 +138,64 @@ class ShhApiTest extends TestCase
// });
// }
/**
* testPost
*
* @return void
*/
public function testPost()
{
$shh = $this->shh;
$fromIdentity = '';
$toIdentity = '';
// create fromIdentity and toIdentity to prevent unknown identity error
$shh->newIdentity(function ($err, $identity) use (&$fromIdentity) {
if ($err !== null) {
return $this->fail($err->getMessage());
}
$fromIdentity = $identity;
$this->assertEquals(mb_strlen($identity), 132);
});
$shh->newIdentity(function ($err, $identity) use (&$toIdentity) {
if ($err !== null) {
return $this->fail($err->getMessage());
}
$toIdentity = $identity;
$this->assertEquals(mb_strlen($identity), 132);
});
$shh->post([
'from' => $fromIdentity,
'to' => $toIdentity,
'topics' => ["0x776869737065722d636861742d636c69656e74", "0x4d5a695276454c39425154466b61693532"],
'payload' => "0x7b2274797065223a226d6",
'priority' => "0x64",
'ttl' => "0x64",
], function ($err, $isSent) {
if ($err !== null) {
return $this->fail($err->getMessage());
}
$this->assertTrue($isSent);
});
$shh->post([
'from' => $fromIdentity,
'to' => $toIdentity,
'topics' => ["0x776869737065722d636861742d636c69656e74", "0x4d5a695276454c39425154466b61693532"],
'payload' => "0x7b2274797065223a226d6",
'priority' => 123,
'ttl' => 123,
], function ($err, $isSent) {
if ($err !== null) {
return $this->fail($err->getMessage());
}
$this->assertTrue($isSent);
});
}
/**
* testWrongParam
* We transform data and throw invalid argument exception