Esempio n. 1
0
 /**
  * Test for data_connector::saveToolConsumer().
  */
 public function test_save_consumer()
 {
     $dc = new data_connector();
     $time = time();
     $data = ['name' => 'TestName', 'secret' => 'TestSecret', 'ltiversion' => ToolProvider::LTI_VERSION1, 'consumername' => 'TestConsumerName', 'consumerversion' => 'TestConsumerVersion', 'consumerguid' => 'TestConsumerGuid', 'profile' => json_decode('{TestProfile}'), 'toolproxy' => 'TestProxy', 'settings' => ['setting1' => 'TestSetting 1', 'setting2' => 'TestSetting 2'], 'protected' => 1, 'enabled' => 0, 'enablefrom' => $time, 'enableuntil' => $time + 1, 'lastaccess' => strtotime(date('Y-m-d'))];
     $consumer = new ToolConsumer();
     $consumer->name = $data['name'];
     $consumer->setKey('TestKey');
     $consumer->secret = $data['secret'];
     $consumer->ltiVersion = $data['ltiversion'];
     $consumer->consumerName = $data['consumername'];
     $consumer->consumerVersion = $data['consumerversion'];
     $consumer->consumerGuid = $data['consumerguid'];
     $consumer->profile = $data['profile'];
     $consumer->toolProxy = $data['toolproxy'];
     $consumer->setSettings($data['settings']);
     $consumer->protected = true;
     $consumer->enabled = false;
     $consumer->enableFrom = $data['enablefrom'];
     $consumer->enableUntil = $data['enableuntil'];
     $consumer->lastAccess = $data['lastaccess'];
     // Save new consumer into the DB.
     $this->assertTrue($dc->saveToolConsumer($consumer));
     // Check saved values.
     $this->assertEquals($consumer->name, $data['name']);
     $this->assertEquals($consumer->getKey(), 'TestKey');
     $this->assertEquals($consumer->secret, $data['secret']);
     $this->assertEquals($consumer->ltiVersion, $data['ltiversion']);
     $this->assertEquals($consumer->consumerName, $data['consumername']);
     $this->assertEquals($consumer->consumerVersion, $data['consumerversion']);
     $this->assertEquals($consumer->consumerGuid, $data['consumerguid']);
     $this->assertEquals($consumer->profile, $data['profile']);
     $this->assertEquals($consumer->toolProxy, $data['toolproxy']);
     $this->assertEquals($consumer->getSettings(), $data['settings']);
     $this->assertTrue($consumer->protected);
     $this->assertFalse($consumer->enabled);
     $this->assertEquals($consumer->enableFrom, $data['enablefrom']);
     $this->assertEquals($consumer->enableUntil, $data['enableuntil']);
     $this->assertEquals($consumer->lastAccess, $data['lastaccess']);
     // Edit values.
     $edit = 'EDIT';
     $consumer->name = $data['name'] . $edit;
     $consumer->setKey('TestKey' . $edit);
     $consumer->secret = $data['secret'] . $edit;
     $consumer->ltiVersion = ToolProvider::LTI_VERSION2;
     $consumer->consumerName = $data['consumername'] . $edit;
     $consumer->consumerVersion = $data['consumerversion'] . $edit;
     $consumer->consumerGuid = $data['consumerguid'] . $edit;
     $editprofile = json_decode('{TestProfile}');
     $consumer->profile = $editprofile;
     $consumer->toolProxy = $data['toolproxy'] . $edit;
     $editsettings = ['setting1' => 'TestSetting 1' . $edit, 'setting2' => 'TestSetting 2' . $edit];
     $consumer->setSettings($editsettings);
     $consumer->protected = null;
     $consumer->enabled = null;
     $consumer->enableFrom = $data['enablefrom'] + 100;
     $consumer->enableUntil = $data['enableuntil'] + 100;
     // Save edited values.
     $this->assertTrue($dc->saveToolConsumer($consumer));
     // Check edited values.
     $this->assertEquals($consumer->name, $data['name'] . $edit);
     $this->assertEquals($consumer->getKey(), 'TestKey' . $edit);
     $this->assertEquals($consumer->secret, $data['secret'] . $edit);
     $this->assertEquals($consumer->ltiVersion, ToolProvider::LTI_VERSION2);
     $this->assertEquals($consumer->consumerName, $data['consumername'] . $edit);
     $this->assertEquals($consumer->consumerVersion, $data['consumerversion'] . $edit);
     $this->assertEquals($consumer->consumerGuid, $data['consumerguid'] . $edit);
     $this->assertEquals($consumer->profile, $editprofile);
     $this->assertEquals($consumer->toolProxy, $data['toolproxy'] . $edit);
     $this->assertEquals($consumer->getSettings(), $editsettings);
     $this->assertNull($consumer->protected);
     $this->assertNull($consumer->enabled);
     $this->assertEquals($consumer->enableFrom, $data['enablefrom'] + 100);
     $this->assertEquals($consumer->enableUntil, $data['enableuntil'] + 100);
 }