FOSSology  3.2.0rc1
Open Source License Compliance by Open Source Software
TestPgDbTest.php
1 <?php
2 /*
3 Copyright (C) 2014, Siemens AG
4 
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 version 2 as published by the Free Software Foundation.
8 
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13 
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 */
18 
19 namespace Fossology\Lib\Test;
20 
21 class TestPgDbTest extends \PHPUnit\Framework\TestCase
22 {
23 
24  public function testIfTestDbIsCreated()
25  {
26  return;
27  $this->markTestSkipped();
28  $dbName = 'fosstestone';
29  exec($cmd="dropdb -Ufossy -hlocalhost $dbName", $cmdOut, $cmdRtn);
30  if ($cmdRtn != 0) {
31  echo $cmdOut;
32  }
33  $testDb = new TestPgDb();
34  exec($cmd="psql -Ufossy -hlocalhost -l | grep -q $dbName", $cmdOut, $cmdRtn);
35  assertThat($cmdRtn,is(0));
36  }
37 
38  public function testGetDbManager()
39  {
40  $testDb = new TestPgDb();
41  $this->assertInstanceOf('Fossology\Lib\Db\DbManager', $testDb->getDbManager());
42  }
43 
44  public function testCreatePlainTables()
45  {
46  $testDb = new TestPgDb();
47  $testDb->createPlainTables(array('tag'));
48  $dbManager = $testDb->getDbManager();
49 
50  $dbManager->queryOnce("insert into tag (tag_pk,tag,tag_desc) values (1,'hello','world')");
51  $tag1 = $dbManager->getSingleRow('select * from tag where tag_pk=1');
52  assertThat($tag1,hasKey('tag_desc'));
53  assertThat($tag1['tag_desc'],is('world'));
54  }
55 
56  public function testInsertData()
57  {
58  $testDb = new TestPgDb();
59  $testDb->createPlainTables(array('perm_upload'));
60  $testDb->insertData(array('perm_upload'));
61  $tag1 = $testDb->getDbManager()->getSingleRow('select perm from perm_upload where perm_upload_pk=1');
62  assertThat($tag1,hasKey('perm'));
63  assertThat($tag1['perm'],is(10));
64  }
65 }