aboutsummaryrefslogblamecommitdiffstats
path: root/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php
blob: 60fcc73fca56debbd3a12d44095772b1c529d6e2 (plain) (tree)
1
2
3
4
5
6
7
8
9

     
                        
 
                    
 

                                                       
       
                                                        
       

                             

                               


       
                                                        
       

                             

                               

     

                                 
                               
                                                 

     

                                 

                                            

     

                                        

                                                   


       
                                                        
       

                                

                               


       
                                                        
       

                                 

                               

     

                                         


                                                                   
                                               
                                            

     

                                  


                                                     

     

                                     

                                                         

     

                                          

                                                           


       
                                                       
       

                                     

                                         


       
                                                        
       

                                    
                                   
                                          


       
                                                        
       

                                         

                                       


     



                                      
                         

     

                                 
                                
     

 



                             
                          
     
 
<?php

declare(strict_types=1);

namespace Sabre\DAV;

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

    /**
     * @expectedException \Sabre\DAV\Exception\Forbidden
     */
    public function testGet()
    {
        $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());
    }

    /**
     * @expectedException \Sabre\DAV\Exception\Forbidden
     */
    public function testDelete()
    {
        $file = new FileMock();
        $file->delete();
    }

    /**
     * @expectedException \Sabre\DAV\Exception\Forbidden
     */
    public function testSetName()
    {
        $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'));
    }

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

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

    /**
     * @expectedException \Sabre\DAV\Exception\Forbidden
     */
    public function testCreateDirectory()
    {
        $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';
    }
}