1<?php
2/* Icinga Web 2 | (c) 2013 Icinga Development Team | GPLv2+ */
3
4namespace Icinga\Test;
5
6use Icinga\Data\Db\DbConnection;
7
8interface DbTest
9{
10    /**
11     * PHPUnit provider for mysql
12     *
13     * @return DbConnection
14     */
15    public function mysqlDb();
16
17    /**
18     * PHPUnit provider for pgsql
19     *
20     * @return DbConnection
21     */
22    public function pgsqlDb();
23
24    /**
25     * PHPUnit provider for oracle
26     *
27     * @return DbConnection
28     */
29    public function oracleDb();
30
31    /**
32     * Executes sql file on PDO object
33     *
34     * @param   DbConnection      $resource
35     * @param   string          $filename
36     *
37     * @return  boolean Operational success flag
38     */
39    public function loadSql(DbConnection $resource, $filename);
40
41    /**
42     * Setup provider for testcase
43     *
44     * @param   string|DbConnection|null $resource
45     */
46    public function setupDbProvider($resource);
47}
48