Exemplo n.º 1
0
 public function testRequest()
 {
     $runName = uniqid('', true);
     $prvFileName = 'testfile_client_id_rsa_' . date('Ymd_His') . '_' . $runName . '.prv';
     $pubFileName = 'testfile_client_id_rsa_' . date('Ymd_His') . '_' . $runName . '.pub';
     file_put_contents('test_data/' . $prvFileName, static::NODE_LOCAL_SSL_KEY_PRV1);
     file_put_contents('test_data/' . $pubFileName, static::NODE_LOCAL_SSL_KEY_PUB1);
     $settings = new Settings();
     $settings->data['datadir'] = 'test_data';
     $settings->data['firstRun'] = false;
     $settings->data['timeCreated'] = time();
     $settings->data['node']['uriLocal'] = '';
     $settings->data['node']['id'] = 'cafed00d-2131-4159-8e11-0b4dbadb1738';
     $settings->data['node']['sslKeyPrvPass'] = '******';
     $settings->data['node']['sslKeyPrvPath'] = 'test_data/' . $prvFileName;
     $settings->data['node']['sslKeyPubPath'] = 'test_data/' . $pubFileName;
     $settings->data['user']['nickname'] = 'user_' . substr(md5(time()), 0, 4);
     $log = new Logger('test_application');
     #$log->pushHandler(new LoggerStreamHandler('php://stdout', Logger::DEBUG));
     $kernel = new Kernel();
     $kernel->setLog($log);
     $kernel->setSettings($settings);
     $kernel->init();
     $server = $kernel->getServer();
     $server->setLog($log);
     $client = new Client();
     $client->setSslPrv($settings->data['node']['sslKeyPrvPath'], $settings->data['node']['sslKeyPrvPass']);
     $client->setId(1);
     $client->setServer($server);
     $client->requestAdd('name1', 'rid1', array('data1' => 1234));
     $expect = array('id' => 1, 'name' => 'name1', 'rid' => 'rid1', 'data' => array('data1' => 1234));
     $request = $client->requestGetByRid('rid1');
     $this->assertEquals($expect, $request);
     $client->requestRemove($request);
     $request = $client->requestGetByRid('rid1');
     $this->assertEquals(null, $request);
     $kernel->shutdown();
     @unlink('test_data/hashcashdb.yml');
     @unlink('test_data/msgdb.yml');
     @unlink('test_data/nodesnewdb.yml');
 }