/** * import users * * @param string $_config xml config */ protected function _importUsers($_config, $_filename, $_definition) { // create definition / check if exists try { $definition = Tinebase_ImportExportDefinition::getInstance()->getByName($_definition); $definition->plugin_options = $_config; } catch (Tinebase_Exception_NotFound $e) { $definition = Tinebase_ImportExportDefinition::getInstance()->create(new Tinebase_Model_ImportExportDefinition(array('application_id' => Tinebase_Application::getInstance()->getApplicationByName('Admin')->getId(), 'name' => $_definition, 'type' => 'import', 'model' => 'Tinebase_Model_FullUser', 'plugin' => 'Admin_Import_Csv', 'plugin_options' => $_config))); } $opts = new Zend_Console_Getopt('abp:'); $opts->setArguments(array($_filename, 'definition=' . $_definition)); ob_start(); $this->_cli->importUser($opts); $out = ob_get_clean(); // check output $this->assertEquals("Imported 3 records. Import failed for 0 records. \n", $out); }
/** * tests if import with members from csv works correctly */ public function testImportGroups() { $opts = new Zend_Console_Getopt('abp:'); $opts->setArguments(array(dirname(__FILE__) . '/files/import_groups.csv', 'definition=admin_group_import_csv')); // start import (dry run) ob_start(); $this->_cli->importGroups($opts); $out = ob_get_clean(); $this->assertStringStartsWith('Imported 4 records.', $out); $expected = array('men' => 3, 'women' => 2, 'highperformers' => 2, 'lowperformers' => 3); $this->_testImportGroupsHelper($expected); $opts->setArguments(array(dirname(__FILE__) . '/files/import_groups_update.csv', 'definition=admin_group_import_csv')); ob_start(); $this->_cli->importGroups($opts); $out = ob_get_clean(); $this->assertStringStartsWith('Imported 0 records.', $out); $expected = array('men' => 3, 'women' => 2, 'lowperformers' => 2, 'highperformers' => 3); $this->_testImportGroupsHelper($expected); }