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 static function setUpBeforeClass() { static::bootKernel(); /** @var ObjectEncryptor $configEncryptor */ $configEncryptor = self::$kernel->getContainer()->get('syrup.object_encryptor'); self::$client = new Client(['hosts' => [SYRUP_ELASTICSEARCH_HOST]]); self::$index = new ComponentIndex(SYRUP_APP_NAME, 'devel', self::$client); self::$jobFactory = new JobFactory(SYRUP_APP_NAME, new Encryptor(md5(uniqid())), $configEncryptor); self::$jobFactory->setStorageApiClient(new \Keboola\StorageApi\Client(['token' => SYRUP_SAPI_TEST_TOKEN])); self::$jobMapper = new JobMapper(self::$client, self::$index, $configEncryptor, null, realpath(__DIR__ . '/../../../../app')); }
/** * @covers \Keboola\Syrup\Job\Metadata\JobFactory::create * @covers \Keboola\Syrup\Job\Metadata\JobFactory::setStorageApiClient */ public function testJobFactory() { $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 = 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'])); }
/** * @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()); }