Example #1
0
 public function setUp()
 {
     parent::setUp();
     $td = TestData::getData('userTestData');
     //creating sample contest
     $cd = TestData::genContestDecription();
     $this->contestID = $this->apiCreateContest(array('contest' => $cd))->createdContestID;
     //store columns info
     $this->userDataColumns = unserialize(serialize($cd->data));
     //creating sample contest admin
     $this->apiRegisterUser(array('user' => createUser($td['ContestAdmin'][0], $td['ContestAdmin'][1], 'ContestAdmin', TestData::genStrArray(sizeof($this->userDataColumns), TestData::MAX_DATA_LENGTH))));
     //create sample user with type Participant
     $this->apiRegisterUser(array('user' => createUser($td['Participant'][0], $td['Participant'][1], 'Participant', TestData::genStrArray(sizeof($this->userDataColumns), TestData::MAX_DATA_LENGTH))));
     //create contest admin connect
     $ca_req = new ConnectToContestRequest();
     $ca_req->login = $td['ContestAdmin'][0];
     $ca_req->password = $td['ContestAdmin'][1];
     $ca_req->contestID = $this->contestID;
     $this->caConnect = RequestSender::send($ca_req);
     //create participant connect
     $p_req = new ConnectToContestRequest();
     $p_req->login = $td['Participant'][0];
     $p_req->password = $td['Participant'][1];
     $p_req->contestID = $this->contestID;
     $this->pConnect = RequestSender::send($p_req);
 }
 public function testStartBeforeContestStarted()
 {
     $this->apiAdjustContest(array('start' => time() + 3600, 'finish' => time() + 7200));
     $td = TestData::getData('userTestData');
     $req = new ConnectToContestRequest();
     $req->login = $td['Participant'][0];
     $req->password = $td['Participant'][1];
     $req->contestID = $this->contestID;
     $res = RequestSender::send($req);
     //participant can't connect to not yet started contest
     $this->assertEquals(createFailRes(19), $res);
     $req->login = $td['ContestAdmin'][0];
     $req->password = $td['ContestAdmin'][1];
     $res = RequestSender::send($req);
     $req->contestID = $this->contestID;
     //while contest admin can
     $this->assertNotEquals($res->sessionID, '');
     $this->assertNotEquals($res->sessionID, null);
     $this->assertEquals($res->user->login, $td['ContestAdmin'][0]);
     $this->assertEquals($res->user->userType, 'ContestAdmin');
 }
 public function badFilenameProvider()
 {
     return TestData::getData('createPluginFilename');
 }
Example #4
0
 public static function genContestDecription($isSelfStart = false)
 {
     $cd = new ContestDescription();
     //create contest descr
     $cd->name = TestData::genUnicodeStr(TestData::MAX_DATA_LENGTH);
     $cd->description = TestData::genUnicodeStr(TestData::MAX_DATA_LENGTH);
     $int = time() / TestData::TIME_SCALE;
     $cd->start = time() + rand(-$int, $int);
     $cd->finish = $cd->start + rand(1, $int);
     $cd->registrationType = TestData::getRandomValue(TestData::getData('registrationType'));
     $ct = new ContestTiming();
     $ct->contestEndingStart = rand(1, ($cd->finish - $cd->start) / 60);
     $ct->contestEndingFinish = rand(1, $int);
     $ct->maxContestDuration = rand(1, $isSelfStart ? $cd->finish - $cd->start : $int);
     $ct->selfContestStart = $isSelfStart;
     $cd->contestTiming = $ct;
     $udfs = array();
     for ($j = 0; $j < rand(1, TestData::MAX_USER_DATA_FIELDS); $j++) {
         $udf = new UserDataField();
         $udf->compulsory = rand(0, 1) ? true : false;
         $udf->data = TestData::genUnicodeStr(TestData::MAX_DATA_LENGTH);
         $udf->showInResult = rand(0, 1) ? true : false;
         $udfs[] = $udf;
     }
     $cd->data = $udfs;
     $ar = TestData::getData('accessPermission');
     $rap = new ResultsAccessPolicy();
     $rap->afterContestPermission = TestData::getRandomValue($ar);
     $rap->contestEndingPermission = TestData::getRandomValue($ar);
     $rap->contestPermission = TestData::getRandomValue($ar);
     $cd->resultsAccessPolicy = $rap;
     return $cd;
 }
 public function registrationTypeDataProvider()
 {
     return TestData::getData('registrationTypeData');
 }
 public function disconnectionDataProvider()
 {
     return TestData::getData('disconnectContest');
 }
 public function userDataProvider()
 {
     $res = TestData::getData('regToContest');
     //TODO: add bad data generator for super-long passwords and logins
     return $res;
 }
 public function badLoginPassProvider()
 {
     return TestData::getData('badLoginPass');
 }