public function testValidate() { $item = new Item($this->db->getInstance()); $result = $item->validate(array('id' => 1, 'read' => date('Y-m-d H:i:s'), 'starred' => '1', 'test' => 'xyz')); $this->assertArrayHasKey('read', $result); $this->assertArrayHasKey('starred', $result); $this->assertArrayNotHasKey('test', $result); $this->assertEquals(true, $result['starred']); }
public function testValidate() { $source = new Source($this->db->getInstance()); $result = $source->validate(array('id' => 1, 'name' => "Adam Bien<script>alert('test')</script>", 'period' => 'daily', 'created_at' => date('Y-m-d H:i:s'), 'test' => 'xyz')); $this->assertArrayHasKey('created_at', $result); $this->assertArrayHasKey('period', $result); $this->assertArrayNotHasKey('test', $result); $this->assertEquals('daily', $result['period']); $this->assertEquals('Adam Bien', $result['name']); }
use Guzzle\Http\Client; use Nogo\Feedbox\Feed\Fetcher; use Nogo\Feedbox\Helper\ConfigLoader; use Nogo\Feedbox\Helper\DatabaseConnector; use Nogo\Feedbox\Repository\Item; use Nogo\Feedbox\Repository\Source; use Nogo\Feedbox\Repository\Tag; define('ROOT_DIR', dirname(__FILE__)); require ROOT_DIR . '/vendor/autoload.php'; // load API config $configLoader = new ConfigLoader(ROOT_DIR . '/src/Nogo/Feedbox/Resources/config/default.yml', ROOT_DIR . '/data/config.yml'); $config = $configLoader->getConfig(); // database connection with pdo $connector = new DatabaseConnector($config['database_adapter'], $config['database_dsn'], $config['database_username'], $config['database_password']); $connection = $connector->getInstance(); // create repositories $sourceRepository = new Source($connection); $tagRepository = new Tag($connection); $itemRepository = new Item($connection); // fetch active sources with uri $sources = $sourceRepository->findAllActiveWithUri(); // get the feed runner $defaultWorkerClass = $config['worker.default']; $sanitizer = new \Nogo\Feedbox\Helper\HtmlPurifierSanitizer(); $fetcher = new Fetcher(); $fetcher->setClient(new Client()); $fetcher->setTimeout($config['fetcher.timeout']); $now = new \DateTime(); $user_id = null; foreach ($sources as $source) {
$sourceRepository = new Source($db); foreach ($sources as $source) { $source['user_id'] = $user['id']; $sourceRepository->persist($source); } } } } $app->render('done.html.twig', array('title' => 'Install')); $app->config('installed', true); } }); } $app->get('/migrate', function () use($app) { $connector = new DatabaseConnector($app->config('database_adapter'), $app->config('database_dsn'), $app->config('database_username'), $app->config('database_password')); $db = $connector->getInstance(); $ignore = $app->config('api.migration.ignore'); if ($ignore == null) { $ignore = []; } try { $migrations = $db->fetchAll("SELECT * FROM version"); foreach ($migrations as $migration) { $ignore[] = $migration['key']; } $ignore = array_unique($ignore); } catch (PDOException $e) { } $queries = $connector->migrate($db, ROOT_DIR . '/src/Nogo/Feedbox/Resources/sql/' . $app->config('database_adapter'), $ignore); $app->render('done.html.twig', array('title' => 'Migration', 'msg' => $queries)); });