| 28 |
28 |
| 29 #include "webdav.h" |
29 #include "webdav.h" |
| 30 #include "webdav_resource.h" |
30 #include "webdav_resource.h" |
| 31 |
31 |
| 32 #include <cx/buffer.h> |
32 #include <cx/buffer.h> |
| |
33 #include <cx/printf.h> |
| 33 |
34 |
| 34 CX_TEST_SUBROUTINE(test_default_properties, DavResource *res) { |
35 CX_TEST_SUBROUTINE(test_default_properties, DavResource *res) { |
| 35 CX_TEST_ASSERT(res->contentlength > 0); |
36 CX_TEST_ASSERT(res->contentlength > 0); |
| 36 CX_TEST_ASSERT(res->creationdate > 0); |
37 CX_TEST_ASSERT(res->creationdate > 0); |
| 37 CX_TEST_ASSERT(res->lastmodified > 0); |
38 CX_TEST_ASSERT(res->lastmodified > 0); |
| 130 } |
131 } |
| 131 dav_session_destroy(sn); |
132 dav_session_destroy(sn); |
| 132 fclose(f); |
133 fclose(f); |
| 133 } |
134 } |
| 134 } |
135 } |
| |
136 |
| |
137 CX_TEST(test_dav_store_load_webdav) { |
| |
138 CX_TEST_DO { |
| |
139 CxBuffer *buf1 = cxBufferCreate(NULL, NULL, 1024, CX_BUFFER_AUTO_EXTEND | CX_BUFFER_FREE_CONTENTS); |
| |
140 CxBuffer *buf2 = cxBufferCreate(NULL, NULL, 1024, CX_BUFFER_AUTO_EXTEND | CX_BUFFER_FREE_CONTENTS); |
| |
141 CxBuffer *buf3 = cxBufferCreate(NULL, NULL, 1024, CX_BUFFER_AUTO_EXTEND | CX_BUFFER_FREE_CONTENTS); |
| |
142 |
| |
143 CxBuffer *resultBuf = cxBufferCreate(NULL, NULL, 1024, CX_BUFFER_AUTO_EXTEND | CX_BUFFER_FREE_CONTENTS); |
| |
144 |
| |
145 for(int i=0;i<100;i++) { |
| |
146 cx_bprintf(buf1, "Test Content %d\n", i); |
| |
147 } |
| |
148 for(int i=0;i<1234;i++) { |
| |
149 cx_bprintf(buf2, "%d Medium Buffer Content\n", i); |
| |
150 } |
| |
151 for(int i=0;i<345678;i++) { |
| |
152 cx_bprintf(buf3, "%d Large Buffer Content %d\n", i, i*7); |
| |
153 } |
| |
154 |
| |
155 DavSession *sn = get_test_webdav_session(); |
| |
156 |
| |
157 // test buf1 |
| |
158 buf1->pos = 0; |
| |
159 DavResource *res1 = dav_resource_new(sn, "/test_store_load1.txt"); |
| |
160 dav_set_content(res1, buf1, (dav_read_func)cxBufferRead, (dav_seek_func)cxBufferSeek); |
| |
161 int ret = dav_store(res1); |
| |
162 CX_TEST_ASSERT(!ret); |
| |
163 ret = dav_get_content(res1, resultBuf, (dav_write_func)cxBufferWrite); |
| |
164 CX_TEST_ASSERT(!ret); |
| |
165 CX_TEST_ASSERT(resultBuf->size == buf1->size); |
| |
166 CX_TEST_ASSERT(!memcmp(resultBuf->space, buf1->space, buf1->size)); |
| |
167 cxBufferReset(resultBuf); |
| |
168 |
| |
169 // test buf2 |
| |
170 buf2->pos = 0; |
| |
171 DavResource *res2 = dav_resource_new(sn, "/test_store_load2.txt"); |
| |
172 dav_set_content(res2, buf2, (dav_read_func)cxBufferRead, (dav_seek_func)cxBufferSeek); |
| |
173 ret = dav_store(res2); |
| |
174 CX_TEST_ASSERT(!ret); |
| |
175 ret = dav_get_content(res2, resultBuf, (dav_write_func)cxBufferWrite); |
| |
176 CX_TEST_ASSERT(!ret); |
| |
177 CX_TEST_ASSERT(resultBuf->size == buf2->size); |
| |
178 CX_TEST_ASSERT(!memcmp(resultBuf->space, buf2->space, buf2->size)); |
| |
179 cxBufferReset(resultBuf); |
| |
180 |
| |
181 // test buf3 |
| |
182 buf3->pos = 0; |
| |
183 DavResource *res3 = dav_resource_new(sn, "/test_store_load3.txt"); |
| |
184 dav_set_content(res3, buf3, (dav_read_func)cxBufferRead, (dav_seek_func)cxBufferSeek); |
| |
185 ret = dav_store(res3); |
| |
186 CX_TEST_ASSERT(!ret); |
| |
187 ret = dav_get_content(res3, resultBuf, (dav_write_func)cxBufferWrite); |
| |
188 CX_TEST_ASSERT(!ret); |
| |
189 CX_TEST_ASSERT(resultBuf->size == buf3->size); |
| |
190 CX_TEST_ASSERT(!memcmp(resultBuf->space, buf3->space, buf3->size)); |
| |
191 cxBufferReset(resultBuf); |
| |
192 |
| |
193 dav_session_destroy(sn); |
| |
194 cxBufferFree(buf1); |
| |
195 cxBufferFree(buf2); |
| |
196 cxBufferFree(buf3); |
| |
197 } |
| |
198 } |