public function test() { $xmlFile1 = file_get_contents("./files/registerNewUserRequest.xml"); $p1 = simplexml_load_string($xmlFile1); //isValidReigsterNewUerRequest $this->assertTrue(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); unset($p1->body->email); $this->assertFalse(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1 = simplexml_load_string($xmlFile1); $this->assertTrue(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); unset($p1->body->username); $this->assertFalse(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1 = simplexml_load_string($xmlFile1); $this->assertTrue(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); unset($p1->body->password); $this->assertFalse(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1 = simplexml_load_string($xmlFile1); $this->assertTrue(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1->body->username = ""; $this->assertFalse(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1 = simplexml_load_string($xmlFile1); $this->assertTrue(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1->body->password = ""; $this->assertFalse(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1 = simplexml_load_string($xmlFile1); $this->assertTrue(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); $p1->body->email = ""; $this->assertFalse(XmlRequestValidator::isValidReigsterNewUerRequest($p1), "[isValidReigsterNewUerRequest]"); //isValidNewSessionRequest($request) $xmlFile2 = file_get_contents("./files/newSessionRequest.xml"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest()]"); unset($p2->body->username); $this->assertFalse(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); unset($p2->body->password); $this->assertFalse(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2->body->username = ""; $this->assertFalse(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2->body->password = ""; $this->assertFalse(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); unset($p2->body->gcm); $this->assertFalse(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); $p2->body->gcm = ""; $this->assertFalse(XmlRequestValidator::isValidNewSessionRequest($p2), "[isValidNewSessionRequest]"); //isValidEndSessionRequest($request) $xmlFile2 = file_get_contents("./files/endSessionRequest.xml"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidEndSessionRequest($p2), "[isValidEndSessionRequest()]"); unset($p2->body->session); $this->assertFalse(XmlRequestValidator::isValidEndSessionRequest($p2), "[isValidEndSessionRequest()]"); //isValidregisterGCMRequest($request) $xmlFile2 = file_get_contents("./files/registerGCMRequest.xml"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidregisterGCMRequest($p2), "[isValidregisterGCMRequest()]"); unset($p2->body->session); $this->assertFalse(XmlRequestValidator::isValidregisterGCMRequest($p2), "[isValidregisterGCMRequest()]"); $p2 = simplexml_load_string($xmlFile2); unset($p2->body->gcm); $this->assertFalse(XmlRequestValidator::isValidregisterGCMRequest($p2), "[isValidregisterGCMRequest()]"); //isValidStartPendingGameRequest($request) $xmlFile2 = file_get_contents("./files/startPendingGameRequest.xml"); $p2 = simplexml_load_string($xmlFile2); $this->assertTrue(XmlRequestValidator::isValidStartPendingGameRequest($p2), "[isValidStartPendingGameRequest()]"); unset($p2->body->session); $this->assertFalse(XmlRequestValidator::isValidStartPendingGameRequest($p2), "[isValidStartPendingGameRequest()]"); $p2 = simplexml_load_string($xmlFile2); unset($p2->body->size); $this->assertFalse(XmlRequestValidator::isValidStartPendingGameRequest($p2), "[isValidStartPendingGameRequest()]"); }
public function startNewGame() { if (XmlRequestValidator::isValidStartPendingGameRequest($this->requestData)) { $session = $this->requestData->body->session; $size = $this->requestData->body->size; if (safe_input::is_valid_session_hash($session) && safe_input::is_number($size) && $size > 1) { //chkec if the session hash exists $session_info = session::get_session_by_hash($session); if ($session_info != null) { $res = Execute::newPendingGame($session, $size); if ($res) { $this->response = XmlBuilder::startNewPendingGameSuccessfullResponse("plain", $session); } else { //faild to add new game Report::error(__METHOD__ . "," . __LINE__, "failed to add new pending game"); $this->response = XmlBuilder::failed_response("plain", 5, 0, "failed to add new pending game, try again"); } } else { //the given hash doesn't exist in the database Report::warning(__METHOD__ . "," . __LINE__, "start new pending game request contains a session hash that does not exist in the database: hash=" . $session); $this->response = XmlBuilder::failed_response("plain", 5, 1, "expired session"); } } else { //invalid data passed Report::error(__METHOD__ . "," . __LINE__, "start new pending game request contains an incorrectly formatted session hash or game size, size:" . $size); $this->response = XmlBuilder::failed_response("plain", 5, 0, "invalid session or gcm id"); } } else { //xml request was not formatted correctly Report::error(__METHOD__ . "," . __LINE__, "invalid new pending game request!"); $this->invalidRequest(); } }