source: sandbox/2.4.1-3/prototype/library/tonic/tests/filesystem.php @ 6351

Revision 6351, 3.9 KB checked in by gustavo, 12 years ago (diff)

Ticket #2768 - Melhorias na inserção de destinatários na criacao de mensagem

  • Property svn:executable set to *
Line 
1<?php
2
3require_once('../lib/tonic.php');
4require_once('../examples/filesystem/filesystem.php');
5
6/**
7 * @namespace Tonic\Tests
8 */
9class FilesystemTester extends UnitTestCase {
10   
11    function testReadFile() {
12       
13        $testFilename = sys_get_temp_dir().DIRECTORY_SEPARATOR.'tonicFilesystemTest';
14        file_put_contents($testFilename, 'test');
15       
16        $config = array(
17            'uri' => '/filesystem/one/tonicFilesystemTest'
18        );
19       
20        $request = new Request($config);
21        $resource = $request->loadResource();
22        $response = $resource->exec($request);
23       
24        $this->assertEqual($response->code, 200);
25        $this->assertEqual($response->body, 'test');
26       
27        unlink($testFilename);
28    }
29   
30    function testReadDefaultDocument() {
31       
32        $testFilename = sys_get_temp_dir().DIRECTORY_SEPARATOR.'default.html';
33        file_put_contents($testFilename, 'test');
34       
35        $config = array(
36            'uri' => '/filesystem/one/'
37        );
38       
39        $request = new Request($config);
40       
41        $resource = $request->loadResource();
42        $response = $resource->exec($request);
43       
44        $this->assertEqual($response->code, 200);
45        $this->assertEqual($response->body, 'test');
46       
47        unlink($testFilename);
48       
49    }
50   
51    function testReadNoResource() {
52       
53        $config = array(
54            'uri' => '/filesystem/one/tonicFilesystemTestDoesntExist'
55        );
56       
57        $request = new Request($config);
58        $resource = $request->loadResource();
59        $response = $resource->exec($request);
60       
61        $this->assertEqual($response->code, 404);
62       
63    }
64   
65    function testCreateResource() {
66       
67        $testFilename = sys_get_temp_dir().DIRECTORY_SEPARATOR.'tonicFilesystemTest';
68       
69        $config = array(
70            'uri' => '/filesystem/one/tonicFilesystemTest',
71            'method' => 'PUT'
72        );
73       
74        $request = new Request($config);
75        $resource = $request->loadResource();
76        $response = $resource->exec($request);
77       
78        $this->assertEqual($response->code, 411);
79       
80        $config['data'] = 'test';
81       
82        $request = new Request($config);
83        $resource = $request->loadResource();
84        $response = $resource->exec($request);
85       
86        $this->assertEqual($response->code, 204);
87        $this->assertTrue(file_exists($testFilename));
88        $this->assertEqual(file_get_contents($testFilename), 'test');
89       
90        unlink($testFilename);
91       
92    }
93   
94    function testDeleteResource() {
95       
96        $testFilename = sys_get_temp_dir().DIRECTORY_SEPARATOR.'tonicFilesystemTest';
97        file_put_contents($testFilename, 'test');
98       
99        $config = array(
100            'uri' => '/filesystem/one/tonicFilesystemTest',
101            'method' => 'DELETE'
102        );
103       
104        $request = new Request($config);
105        $resource = $request->loadResource();
106        $response = $resource->exec($request);
107       
108        $this->assertEqual($response->code, 204);
109        $this->assertFalse(file_exists($testFilename));
110       
111    }
112   
113    function testDeleteNoResource() {
114       
115        $config = array(
116            'uri' => '/filesystem/one/tonicFilesystemTestDoesntExist',
117            'method' => 'DELETE'
118        );
119       
120        $request = new Request($config);
121        $resource = $request->loadResource();
122        $response = $resource->exec($request);
123       
124        $this->assertEqual($response->code, 404);
125       
126    }
127   
128}
129
130
131/* Test resource definitions */
132
133/**
134 * @namespace Tonic\Tests
135 * @uri /filesystem/one
136 * @uri /filesystem/one/.*
137 */
138class TestFileSystem extends FilesystemResource {
139   
140    function __construct($parameters) {
141       
142        parent::__construct($parameters);
143        $this->path = sys_get_temp_dir().DIRECTORY_SEPARATOR;
144        $this->uriStub = '/filesystem/one/';
145       
146    }
147   
148}
149
Note: See TracBrowser for help on using the repository browser.