setExpectedException(LAMException::class, 'this is no LDIF'); $importer = new Importer(); $importer->getTasks($lines); } /** * Wrong format version. */ public function testWrongVersion() { $lines = array( "version: 3" ); $this->setExpectedException(LAMException::class, 'version: 3'); $importer = new Importer(); $importer->getTasks($lines); } /** * Multiple versions. */ public function testMultipleVersions() { $lines = array( "version: 1", "", "version: 1" ); $this->setExpectedException(LAMException::class); $importer = new Importer(); $importer->getTasks($lines); } /** * Data after version. */ public function testDataAfterVersion() { $lines = array( "version: 1", "some: data" ); $this->setExpectedException(LAMException::class); $importer = new Importer(); $importer->getTasks($lines); } /** * DN line without any data. */ public function testDnNoData() { $lines = array( "version: 1", "", "dn: uid=test,dc=example,dc=com" ); $this->setExpectedException(LAMException::class, 'dn: uid=test,dc=example,dc=com'); $importer = new Importer(); $importer->getTasks($lines); } /** * One complete entry. */ public function testSingleFullEntry() { $lines = array( "version: 1", "", "dn: uid=test,dc=example,dc=com", "objectClass: inetOrgPerson", "uid: test", ); $importer = new Importer(); $tasks = $importer->getTasks($lines); $this->assertEquals(1, sizeof($tasks)); } /** * Change entry with invalid changetype. */ public function testChangeInvalidType() { $lines = array( "version: 1", "", "dn: uid=test,dc=example,dc=com", "changeType: invalid", "uid: test", ); $this->setExpectedException(LAMException::class, 'uid=test,dc=example,dc=com - changeType: invalid'); $importer = new Importer(); $tasks = $importer->getTasks($lines); } /** * Change entry with add changetype. */ public function testChangeAdd() { $lines = array( "version: 1", "", "dn: uid=test,dc=example,dc=com", "changeType: add", "uid: test", ); $importer = new Importer(); $tasks = $importer->getTasks($lines); $this->assertEquals(1, sizeof($tasks)); $multiTask = $tasks[0]; $this->assertEquals(MultiTask::class, get_class($multiTask)); $this->assertEquals(1, sizeof($multiTask->getTasks())); $this->assertEquals(AddAttributesTask::class, get_class($multiTask->getTasks()[0])); } }