_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);
}
}