FOSSology  4.4.0
Open Source License Compliance by Open Source Software
ModernDbManagerTest.php
1 <?php
2 /*
3  SPDX-FileCopyrightText: © 2014 Siemens AG
4 
5  SPDX-License-Identifier: GPL-2.0-only
6 */
7 
8 namespace Fossology\Lib\Db;
9 
10 
12 {
13 
14  function setUp() : void
15  {
16  parent::setUp();
17  $this->dbManager = new ModernDbManager($this->logger);
18  $this->dbManager->setDriver($this->driver);
19  }
20 
21  function tearDown() : void
22  {
23  parent::tearDown();
24  }
25 
26  function testInsertTableRow()
27  {
28  $tableName = 'foo';
29  $assocParams = array('cola'=>1,'colb'=>2);
30  $sqlLog = 'bar';
31  $preSql = "INSERT INTO $tableName (cola,colb) VALUES ($1,$2)";
32  $this->driver->shouldReceive('prepare')->with($sqlLog,$preSql)->once();
33  $this->driver->shouldReceive('execute')->with($sqlLog,array_values($assocParams))->once();
34  $this->driver->shouldReceive('freeResult');
35  $this->dbManager->insertTableRow($tableName,$assocParams,$sqlLog);
36  }
37 
38  function testCreateMap()
39  {
40  $keyColumn = 'yek';
41  $valueColumn = 'lav';
42  $tableName = 'foo';
43  $sqlLog = 'bar';
44  $preSql = "/ $keyColumn, *$valueColumn /";
45  $this->driver->shouldReceive('prepare')->with($sqlLog,\Mockery::pattern($preSql))->once();
46  $this->driver->shouldReceive('execute')->andReturn('fakeRes');
47  $this->driver->shouldReceive('fetchArray')->andReturn(
48  array($keyColumn=>'k0',$valueColumn=>'v0'),
49  array($keyColumn=>'k1',$valueColumn=>'v1'),
50  false
51  );
52  $this->driver->shouldReceive('freeResult');
53  $map = $this->dbManager->createMap($tableName,$keyColumn,$valueColumn,$sqlLog);
54  assertThat($map,hasKey('k0'));
55  assertThat($map,EqualTo(array('k0'=>'v0','k1'=>'v1')));
56  }
57 }
fo_dbManager * dbManager
fo_dbManager object
Definition: process.c:16