aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php
blob: e9a8eddad44a85d8c28a351aef1a42705536dbdd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php

declare(strict_types=1);

namespace Sabre\DAV;

class BasicNodeTest extends \PHPUnit\Framework\TestCase
{
    public function testPut()
    {
        $this->expectException('Sabre\DAV\Exception\Forbidden');
        $file = new FileMock();
        $file->put('hi');
    }

    public function testGet()
    {
        $this->expectException('Sabre\DAV\Exception\Forbidden');
        $file = new FileMock();
        $file->get();
    }

    public function testGetSize()
    {
        $file = new FileMock();
        $this->assertEquals(0, $file->getSize());
    }

    public function testGetETag()
    {
        $file = new FileMock();
        $this->assertNull($file->getETag());
    }

    public function testGetContentType()
    {
        $file = new FileMock();
        $this->assertNull($file->getContentType());
    }

    public function testDelete()
    {
        $this->expectException('Sabre\DAV\Exception\Forbidden');
        $file = new FileMock();
        $file->delete();
    }

    public function testSetName()
    {
        $this->expectException('Sabre\DAV\Exception\Forbidden');
        $file = new FileMock();
        $file->setName('hi');
    }

    public function testGetLastModified()
    {
        $file = new FileMock();
        // checking if lastmod is within the range of a few seconds
        $lastMod = $file->getLastModified();
        $compareTime = ($lastMod + 1) - time();
        $this->assertTrue($compareTime < 3);
    }

    public function testGetChild()
    {
        $dir = new DirectoryMock();
        $file = $dir->getChild('mockfile');
        $this->assertTrue($file instanceof FileMock);
    }

    public function testChildExists()
    {
        $dir = new DirectoryMock();
        $this->assertTrue($dir->childExists('mockfile'));
    }

    public function testChildExistsFalse()
    {
        $dir = new DirectoryMock();
        $this->assertFalse($dir->childExists('mockfile2'));
    }

    public function testGetChild404()
    {
        $this->expectException('Sabre\DAV\Exception\NotFound');
        $dir = new DirectoryMock();
        $file = $dir->getChild('blabla');
    }

    public function testCreateFile()
    {
        $this->expectException('Sabre\DAV\Exception\Forbidden');
        $dir = new DirectoryMock();
        $dir->createFile('hello', 'data');
    }

    public function testCreateDirectory()
    {
        $this->expectException('Sabre\DAV\Exception\Forbidden');
        $dir = new DirectoryMock();
        $dir->createDirectory('hello');
    }
}

class DirectoryMock extends Collection
{
    public function getName()
    {
        return 'mockdir';
    }

    public function getChildren()
    {
        return [new FileMock()];
    }
}

class FileMock extends File
{
    public function getName()
    {
        return 'mockfile';
    }
}