Skip to content

Commit

Permalink
Reuse test scenarios from FtpIntegrationTests
Browse files Browse the repository at this point in the history
  • Loading branch information
kesselb committed Jul 10, 2019
1 parent f8cd5a1 commit 49d0b4b
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 59 deletions.
59 changes: 0 additions & 59 deletions tests/WebDAVIntegration.php

This file was deleted.

92 changes: 92 additions & 0 deletions tests/WebDAVIntegrationTests.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<?php

use League\Flysystem\Filesystem;
use League\Flysystem\Plugin\ListPaths;
use League\Flysystem\WebDAV\WebDAVAdapter;
use PHPUnit\Framework\TestCase;

class WebDAVIntegrationTests extends TestCase
{
/** @var Filesystem */
protected $filesystem;

protected function setUp()
{
$client = new Sabre\DAV\Client([
'baseUri' => 'http://localhost',
'userName' => 'alice',
'password' => 'secret1234',
]);

$this->filesystem = new Filesystem(new WebDAVAdapter($client));
$this->filesystem->addPlugin(new ListPaths());

foreach ($this->filesystem->listContents('', true) as $item) {
if ($item['path'] === '') {
continue;
}

if ($item['type'] === 'dir') {
$this->filesystem->deleteDir($item['path']);
} else {
$this->filesystem->delete($item['path']);
}
}
}

/**
* @test
*/
public function writing_reading_deleting()
{
$filesystem = $this->filesystem;
$this->assertTrue($filesystem->put('path.txt', 'file contents'));
$this->assertEquals('file contents', $filesystem->read('path.txt'));
$this->assertTrue($filesystem->delete('path.txt'));
}


/**
* @test
*/
public function creating_a_directory()
{
$this->filesystem->createDir('dirname/directory');
$metadata = $this->filesystem->getMetadata('dirname/directory');
self::assertEquals('dir', $metadata['type']);
$this->filesystem->deleteDir('dirname');
}

/**
* @test
*/
public function writing_in_a_directory_and_deleting_the_directory()
{
$filesystem = $this->filesystem;
$this->assertTrue($filesystem->write('deeply/nested/path.txt', 'contents'));
$this->assertTrue($filesystem->has('deeply/nested'));
$this->assertTrue($filesystem->has('deeply'));
$this->assertTrue($filesystem->has('deeply/nested/path.txt'));
$this->assertTrue($filesystem->deleteDir('deeply/nested'));
$this->assertFalse($filesystem->has('deeply/nested'));
$this->assertFalse($filesystem->has('deeply/nested/path.txt'));
$this->assertTrue($filesystem->has('deeply'));
$this->assertTrue($filesystem->deleteDir('deeply'));
$this->assertFalse($filesystem->has('deeply'));
}

/**
* @test
*/
public function listing_files_of_a_directory()
{
$filesystem = $this->filesystem;
$filesystem->write('dirname/a.txt', 'contents');
$filesystem->write('dirname/b/b.txt', 'contents');
$filesystem->write('dirname/c.txt', 'contents');
$files = $filesystem->listPaths('', true);
$expected = ['dirname', 'dirname/a.txt', 'dirname/b', 'dirname/b/b.txt', 'dirname/c.txt'];
$filesystem->deleteDir('dirname');
$this->assertEquals($expected, $files);
}
}

0 comments on commit 49d0b4b

Please sign in to comment.