12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace Tests\api;
- use StatonLab\TripalTestSuite\DBTransaction;
- use StatonLab\TripalTestSuite\TripalTestCase;
- class BlastDBApiTest extends TripalTestCase {
- // Uncomment to auto start and rollback db transactions per test method.
- use DBTransaction;
- /**
- * Tests get_blast_database().
- */
- public function testGetBlastDB() {
- // Create a node to fetch.
- $seeder = \Tests\DatabaseSeeders\BlastDBNodeSeeder::seed();
- $node = $seeder->getNode();
-
- // Using the nid?
- $resultdb = get_blast_database(['nid' => $node->nid]);
- $this->assertEquals($node->nid, $resultdb->nid,
- "Unable to find the correct blast database based on nid.");
- // Using the name.
- $resultdb = get_blast_database(['name' => $node->db_name]);
- $this->assertEquals($node->nid, $resultdb->nid,
- "Unable to find the correct blast database based on name.");
- // Using the path.
- $resultdb = get_blast_database(['path' => $node->db_path]);
- $this->assertEquals($node->nid, $resultdb->nid,
- "Unable to find the correct blast database based on path.");
- }
- /**
- * Tests get_blast_database_options().
- * @todo test for protein as well.
- * @todo test with permissions.
- */
- public function testGetBlastDBOptions() {
- // Create 3 nodes to fetch.
- $nodes = array();
- $seeder = \Tests\DatabaseSeeders\BlastDBNodeSeeder::seed();
- $nodes[] = $seeder->getNode();
- $seeder = \Tests\DatabaseSeeders\BlastDBNodeSeeder::seed();
- $nodes[] = $seeder->getNode();
- $seeder = \Tests\DatabaseSeeders\BlastDBNodeSeeder::seed();
- $nodes[] = $seeder->getNode();
- $options = get_blast_database_options('nucleotide');
- $this->assertGreaterThanOrEqual(3, sizeof($options),
- "Did not retrieve all 3 nodes we inserted as options.");
- // Check each node we inserted is in the options.
- foreach ($nodes as $node) {
- $this->assertArrayHasKey($node->nid, $options,
- "Unable to find a specific node option that we know should be there.");
- }
- // Also check get_blast_database_nodes() directly.
- $retrieved_nodes = get_blast_database_nodes();
- $this->assertGreaterThanOrEqual(3, sizeof($retrieved_nodes),
- "Unable to retrieve the nodes at all.");
- foreach ($nodes as $node) {
- $this->assertArrayHasKey($node->nid, $retrieved_nodes,
- "Unable to find a specific node option that we know should be there.");
- }
- }
- }
|