_msg = new Zend_Mobile_Push_Message_Mpns_Raw(); } public function testSetToken() { $token = 'http://sn1.notify.live.net/throttledthirdparty/bogusdata'; $this->_msg->setToken($token); $this->assertEquals($token, $this->_msg->getToken()); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testSetTokenNonStringThrowsException() { $token = array('foo' => 'bar'); $this->_msg->setToken($token); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testSetTokenInvalidUrlThrowsException() { $token = 'notaurl'; $this->_msg->setToken($token); } public function testGetNotificationType() { $this->assertEquals(Zend_Mobile_Push_Message_Mpns::TYPE_RAW, $this->_msg->getNotificationType()); } public function testSetMessage() { $msg = ''; $this->_msg->setMessage($msg); $this->assertEquals($msg, $this->_msg->getMessage()); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testSetMessageThrowsExceptionOnNonString() { $msg = array('foo' => 'bar'); $this->_msg->setMessage($msg); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testSetMessageThrowsExceptionOnNonXml() { $msg = 'foo'; $this->_msg->setMessage($msg); } public function testGetDelayHasDefaultOfImmediate() { $this->assertEquals(Zend_Mobile_Push_Message_Mpns_Raw::DELAY_IMMEDIATE, $this->_msg->getDelay()); } public function testSetDelay() { $this->_msg->setDelay(Zend_Mobile_Push_Message_Mpns_Raw::DELAY_450S); $this->assertEquals(Zend_Mobile_Push_Message_Mpns_Raw::DELAY_450S, $this->_msg->getDelay()); $this->_msg->setDelay(Zend_Mobile_Push_Message_Mpns_Raw::DELAY_900S); $this->assertEquals(Zend_Mobile_Push_Message_Mpns_Raw::DELAY_900S, $this->_msg->getDelay()); $this->_msg->setDelay(Zend_Mobile_Push_Message_Mpns_Raw::DELAY_IMMEDIATE); $this->assertEquals(Zend_Mobile_Push_Message_Mpns_Raw::DELAY_IMMEDIATE, $this->_msg->getDelay()); } /** * @expectedException Zend_Mobile_Push_Message_Exception */ public function testSetDelayThrowsExceptionOnInvalidDelay() { $delay = 'foo'; $this->_msg->setDelay($delay); } public function testValidate() { $this->assertFalse($this->_msg->validate()); $this->_msg->setToken('http://sn1.notify.live.net/throttledthirdparty/bogusdata'); $this->assertFalse($this->_msg->validate()); $this->_msg->setMessage('foo'); $this->assertTrue($this->_msg->validate()); } public function testGetXmlPayload() { $raw = 'foo'; $this->_msg->setToken('http://sn1.notify.live.net/throttledthirdparty/abcdef1234567890'); $this->_msg->setMessage($raw); $this->assertEquals($this->_msg->getXmlPayload(), $raw); } }