public function testJobFactory() { $storageApiClient = new Client(['token' => SYRUP_SAPI_TEST_TOKEN, 'userAgent' => SYRUP_APP_NAME, 'url' => SYRUP_SAPI_TEST_URL]); /** @var ObjectEncryptor $encryptor */ $encryptor = self::$kernel->getContainer()->get('syrup.object_encryptor'); /** @var StorageApiService $storageApiService */ $storageApiService = self::$kernel->getContainer()->get('syrup.storage_api'); $storageApiService->setClient($storageApiClient); $jobFactory = new JobFactory(SYRUP_APP_NAME, $encryptor, $storageApiService); $command = uniqid(); $param = uniqid(); $lock = uniqid(); $tokenData = $storageApiClient->verifyToken(); $job = $jobFactory->create($command, ['param' => $param], $lock); $this->assertEquals($command, $job->getCommand()); $this->assertEquals($lock, $job->getLockName()); $this->assertEquals(['param' => $param], $job->getParams()); $this->assertArrayHasKey('id', $job->getProject()); $this->assertEquals($tokenData['owner']['id'], $job->getProject()['id']); $this->assertArrayHasKey('name', $job->getProject()); $this->assertEquals($tokenData['owner']['name'], $job->getProject()['name']); $this->assertArrayHasKey('id', $job->getToken()); $this->assertEquals($tokenData['id'], $job->getToken()['id']); $this->assertArrayHasKey('description', $job->getToken()); $this->assertEquals($tokenData['description'], $job->getToken()['description']); $this->assertArrayHasKey('token', $job->getToken()); $this->assertEquals($tokenData['token'], $encryptor->decrypt($job->getToken()['token'])); }
protected function setUp() { $this->bootKernel(); $this->application = new Application(self::$kernel); $this->storageApiToken = self::$kernel->getContainer()->getParameter('storage_api.test.token'); $this->storageApiClient = new StorageApiClient(['token' => $this->storageApiToken, 'url' => self::$kernel->getContainer()->getParameter('storage_api.test.url')]); $this->jobMapper = self::$kernel->getContainer()->get('syrup.elasticsearch.current_component_job_mapper'); $this->jobFactory = self::$kernel->getContainer()->get('syrup.job_factory'); $this->jobFactory->setStorageApiClient($this->storageApiClient); }
public function testSanitizeResult() { $storageApiService = self::$kernel->getContainer()->get('syrup.storage_api'); $storageApiService->setClient(new Client(['token' => SYRUP_SAPI_TEST_TOKEN, 'userAgent' => SYRUP_APP_NAME, 'url' => SYRUP_SAPI_TEST_URL])); /** @var ObjectEncryptor $objectEncryptor */ $objectEncryptor = self::$kernel->getContainer()->get('syrup.object_encryptor'); $jobFactory = new JobFactory(SYRUP_APP_NAME, $objectEncryptor, $storageApiService); $command = uniqid(); $param = ["key1" => "value1", "#key2" => "value2"]; $lock = uniqid(); $job = $jobFactory->create($command, $objectEncryptor->encrypt($param), $lock); $job->setResult(["message" => "SQLSTATE[XX000]: " . chr(0x80) . " abcd"]); $this->assertEquals(["message" => "SQLSTATE[XX000]: ? abcd"], $job->getResult()); }
public function testUpdateJob() { $job = self::$jobFactory->create(uniqid()); $id = self::$jobMapper->create($job); $job = self::$jobMapper->get($id); $job->setStatus(Job::STATUS_CANCELLED); self::$jobMapper->update($job); $job = self::$jobMapper->get($id); $this->assertEquals($job->getStatus(), Job::STATUS_CANCELLED); $job->setStatus(Job::STATUS_WARNING); self::$jobMapper->update($job); $job = self::$jobMapper->get($id); $this->assertEquals($job->getStatus(), Job::STATUS_WARNING); }
/** * @covers \Keboola\Syrup\Job\Metadata\Job::getParams */ public function testGetParams() { $storageApiClient = new Client(['token' => SYRUP_SAPI_TEST_TOKEN, 'userAgent' => SYRUP_APP_NAME]); $key = md5(uniqid()); $encryptor = new Encryptor($key); /** @var ObjectEncryptor $configEncryptor */ $configEncryptor = self::$kernel->getContainer()->get('syrup.object_encryptor'); $jobFactory = new JobFactory(SYRUP_APP_NAME, $encryptor, $configEncryptor); $jobFactory->setStorageApiClient($storageApiClient); $command = uniqid(); $param = ["key1" => "value1", "#key2" => "value2"]; $lock = uniqid(); $job = $jobFactory->create($command, $configEncryptor->encrypt($param), $lock); $job->setEncrypted(true); $this->assertEquals($command, $job->getCommand()); $this->assertEquals($lock, $job->getLockName()); $this->assertEquals("KBC::Encrypted==", substr($job->getData()["params"]["#key2"], 0, 16)); $this->assertEquals($param, $job->getParams()); }