AlternC/phpunit/tests/bureau/class/m_actionTest.php

255 lines
7.4 KiB
PHP

<?php
/**
* Generated by PHPUnit_SkeletonGenerator 1.2.1 on 2014-03-13 at 15:55:58.
*/
class m_actionTest extends AlterncTest {
/**
* @var m_action
*/
protected $object;
const TEST_FILE = "/tmp/phpunit-actionTest-file";
const TEST_DIR = "/tmp/phpunit-actionTest-dir";
const TEST_UID = 999;
/**
* @return PHPUnit_Extensions_Database_DataSet_IDataSet
*/
public function getDataSet() {
$list = array(
"testPurge" => "actions-purgeable.yml",
"testGet_action" => "actions-purgeable.yml",
"testGet_old" => "actions-purgeable.yml",
"testFinish" => "actions-purgeable.yml",
"testReset_job" => "actions-began.yml",
"testGet_job" => "actions-ready.yml",
"testCancel" => "actions-purgeable.yml",
"default" => "actions-purgeable.yml"
);
if (isset($list[$this->getName()])) {
$dataset_file = $list[$this->getName()];
} else {
$dataset_file = "actions-empty.yml";
}
return parent::loadDataSet($dataset_file);
}
/**
* Sets up the fixture, for example, opens a network connection.
* This method is called before a test is executed.
*/
protected function setUp() {
parent::setUp();
$this->object = new m_action;
}
/**
* Tears down the fixture, for example, closes a network connection.
* This method is called after a test is executed.
*/
protected function tearDown() {
global $L_INOTIFY_DO_ACTION;
parent::tearDown();
// Removes flag file eventually created
if (is_file($L_INOTIFY_DO_ACTION)) {
unlink($L_INOTIFY_DO_ACTION);
}
}
/**
* @covers m_action::do_action
*/
public function testDo_action() {
global $L_INOTIFY_DO_ACTION;
file_put_contents("/tmp/log_fser", "hello world from fser");
$result = $this->object->do_action();
$this->assertTrue($result);
$this->assertFileExists($L_INOTIFY_DO_ACTION);
}
/**
* @covers m_action::chmod
*/
public function testChmod() {
$result = $this->object->chmod(self::TEST_FILE, 0777,"phpunit");
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::create_file
*/
public function testCreate_file() {
$result = $this->object->create_file(self::TEST_FILE, "phpunit");
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::create_dir
*/
public function testCreate_dir() {
$result = $this->object->create_dir(self::TEST_FILE);
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::fix_user
*/
public function testFix_user() {
$result = $this->object->fix_user(self::TEST_UID);
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::fix_dir
*/
public function testFix_dir() {
$result = $this->object->fix_dir(self::TEST_DIR);
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::fix_file
*/
public function testFix_file() {
$result = $this->object->fix_file(self::TEST_FILE);
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::del
*/
public function testDel() {
$result = $this->object->del(self::TEST_DIR);
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::move
*/
public function testMove() {
$result = $this->object->move(self::TEST_FILE, self::TEST_DIR);
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::archive
*/
public function testArchive() {
$result = $this->object->archive(self::TEST_DIR);
$this->assertTrue($result);
$this->assertEquals(1, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::set
*/
public function testSet() {
// We test only failure, other methods cover success
$result = $this->object->set(null, null, null);
$this->assertFalse($result);
$this->assertEquals(0, $this->getConnection()->getRowCount('actions'));
}
/**
* @covers m_action::get_old
*/
public function testGet_old() {
$result = $this->object->get_old();
$this->assertEquals(1, $result);
}
/**
* @covers m_action::purge
*/
public function testPurge() {
$result = $this->object->purge();
$this->assertEquals(1, $result);
$expectedTable = $this->loadDataSet("actions-empty.yml")->getTable("actions");
$currentTable = $this->getConnection()->createQueryTable('actions', 'SELECT * FROM actions');
$this->assertTablesEqual($expectedTable, $currentTable);
}
/**
* @covers m_action::get_action
*/
public function testGet_action() {
$result = $this->object->get_action();
$this->assertTrue(is_array($result));
$this->assertCount(1, $result);
return current($result);
}
/**
* @covers m_action::begin
* @depends testGet_action
*/
public function testBegin($action) {
$result = $this->object->begin($action["id"]);
$this->assertTrue($result);
}
/**
* @covers m_action::finish
* @depends testGet_action
*/
public function testFinish($action) {
$result = $this->object->finish($action["id"]);
$this->assertTrue($result);
$queryTable = $this->getConnection()->createQueryTable(
'actions', 'SELECT * FROM actions WHERE DAY(end) = DAY(NOW())'
);
$row_count = $queryTable->getRowCount();
$this->assertEquals(1, $row_count);
}
/**
* @covers m_action::reset_job
* @depends testGet_action
*/
public function testReset_job($action) {
$result = $this->object->reset_job($action["id"]);
$this->assertTrue($result);
$queryTable = $this->getConnection()->createQueryTable(
'actions', 'SELECT * FROM actions WHERE end = 0 AND begin = 0 AND status = 0'
);
$this->assertEquals(1, $queryTable->getRowCount());
}
/**
*
*
* @covers m_action::get_job
*/
public function testGet_job() {
$result = $this->object->get_job();
$this->assertTrue(is_array($result));
$this->assertCount(1, $result);
}
/**
* @covers m_action::cancel
* @depends testGet_action
*/
public function testCancel($variable) {
$result = $this->object->cancel($variable["id"]);
$this->assertTrue($result);
$queryTable = $this->getConnection()->createQueryTable(
'actions', 'SELECT * FROM actions WHERE DAY(end) = DAY(NOW())'
);
$row_count = $queryTable->getRowCount();
$this->assertEquals(1, $row_count);
}
}