Beispiel #1
0
 /**
  * @param string $topic
  * @param mixed $data
  * @return Message
  * @throws RuntimeException
  */
 public function enqueue($topic, $data = null)
 {
     $serializer = $this->dataSerializers->getSerializerFor($data);
     if (!$serializer) {
         throw new RuntimeException("Serializer not found");
     }
     $serializedData = new SerializedData($serializer->getIdentifier(), $serializer->serialize($data));
     $message = Message::create($topic, $data);
     $arr = array('uuid' => $message->getUuid(), 'topic' => $message->getTopic(), 'data' => $serializedData->toJson());
     $json = json_encode($arr);
     $json = $this->outputFilters->filter($json);
     try {
         $this->adapter->enqueue($json, $topic);
         return $message;
     } catch (\Exception $e) {
         throw new RuntimeException('Queuing a message failed', 0, $e);
     }
 }
Beispiel #2
0
 /**
  * @test
  */
 public function filtersThroughAllFilters()
 {
     $filter1 = function ($str) {
         return str_rot13($str);
     };
     $filter2 = function ($str) {
         return $str . 'lussutusta';
     };
     $filters = new OutputFilters();
     $filters->add($filter1)->add($filter2);
     $ret = $filters->filter('putinin suuruuden ylistyksen kisat 2014');
     $expected = str_rot13('putinin suuruuden ylistyksen kisat 2014') . 'lussutusta';
     $this->assertEquals($expected, $ret);
 }