Mercurial > hg > orthanc
comparison UnitTestsSources/FileStorageTests.cpp @ 1126:bf67431a7383
handling of file content type in IStorageArea
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 05 Sep 2014 17:01:42 +0200 |
parents | 790ff7a5b3bf |
children | 67c3c1e4a6e0 |
comparison
equal
deleted
inserted
replaced
1125:20ddab7e9ae8 | 1126:bf67431a7383 |
---|---|
61 TEST(FilesystemStorage, Basic) | 61 TEST(FilesystemStorage, Basic) |
62 { | 62 { |
63 FilesystemStorage s("UnitTestsStorage"); | 63 FilesystemStorage s("UnitTestsStorage"); |
64 | 64 |
65 std::string data = Toolbox::GenerateUuid(); | 65 std::string data = Toolbox::GenerateUuid(); |
66 std::string uid = s.Create(&data[0], data.size()); | 66 std::string uid = s.Create(&data[0], data.size(), FileContentType_Unknown); |
67 std::string d; | 67 std::string d; |
68 s.Read(d, uid); | 68 s.Read(d, uid, FileContentType_Unknown); |
69 ASSERT_EQ(d.size(), data.size()); | 69 ASSERT_EQ(d.size(), data.size()); |
70 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size())); | 70 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size())); |
71 ASSERT_EQ(s.GetSize(uid), data.size()); | 71 ASSERT_EQ(s.GetSize(uid), data.size()); |
72 } | 72 } |
73 | 73 |
75 { | 75 { |
76 FilesystemStorage s("UnitTestsStorage"); | 76 FilesystemStorage s("UnitTestsStorage"); |
77 | 77 |
78 std::vector<uint8_t> data; | 78 std::vector<uint8_t> data; |
79 StringToVector(data, Toolbox::GenerateUuid()); | 79 StringToVector(data, Toolbox::GenerateUuid()); |
80 std::string uid = s.Create(&data[0], data.size()); | 80 std::string uid = s.Create(&data[0], data.size(), FileContentType_Unknown); |
81 std::string d; | 81 std::string d; |
82 s.Read(d, uid); | 82 s.Read(d, uid, FileContentType_Unknown); |
83 ASSERT_EQ(d.size(), data.size()); | 83 ASSERT_EQ(d.size(), data.size()); |
84 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size())); | 84 ASSERT_FALSE(memcmp(&d[0], &data[0], data.size())); |
85 ASSERT_EQ(s.GetSize(uid), data.size()); | 85 ASSERT_EQ(s.GetSize(uid), data.size()); |
86 } | 86 } |
87 | 87 |
92 | 92 |
93 std::list<std::string> u; | 93 std::list<std::string> u; |
94 for (unsigned int i = 0; i < 10; i++) | 94 for (unsigned int i = 0; i < 10; i++) |
95 { | 95 { |
96 std::string t = Toolbox::GenerateUuid(); | 96 std::string t = Toolbox::GenerateUuid(); |
97 u.push_back(s.Create(&t[0], t.size())); | 97 u.push_back(s.Create(&t[0], t.size(), FileContentType_Unknown)); |
98 } | 98 } |
99 | 99 |
100 std::set<std::string> ss; | 100 std::set<std::string> ss; |
101 s.ListAllFiles(ss); | 101 s.ListAllFiles(ss); |
102 ASSERT_EQ(10u, ss.size()); | 102 ASSERT_EQ(10u, ss.size()); |
105 for (std::list<std::string>::iterator | 105 for (std::list<std::string>::iterator |
106 i = u.begin(); i != u.end(); i++, c++) | 106 i = u.begin(); i != u.end(); i++, c++) |
107 { | 107 { |
108 ASSERT_TRUE(ss.find(*i) != ss.end()); | 108 ASSERT_TRUE(ss.find(*i) != ss.end()); |
109 if (c < 5) | 109 if (c < 5) |
110 s.Remove(*i); | 110 s.Remove(*i, FileContentType_Unknown); |
111 } | 111 } |
112 | 112 |
113 s.ListAllFiles(ss); | 113 s.ListAllFiles(ss); |
114 ASSERT_EQ(5u, ss.size()); | 114 ASSERT_EQ(5u, ss.size()); |
115 | 115 |
126 | 126 |
127 std::string data = "Hello world"; | 127 std::string data = "Hello world"; |
128 FileInfo info = accessor.Write(data, FileContentType_Dicom); | 128 FileInfo info = accessor.Write(data, FileContentType_Dicom); |
129 | 129 |
130 std::string r; | 130 std::string r; |
131 accessor.Read(r, info.GetUuid()); | 131 accessor.Read(r, info.GetUuid(), FileContentType_Unknown); |
132 | 132 |
133 ASSERT_EQ(data, r); | 133 ASSERT_EQ(data, r); |
134 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); | 134 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); |
135 ASSERT_EQ(11u, info.GetUncompressedSize()); | 135 ASSERT_EQ(11u, info.GetUncompressedSize()); |
136 ASSERT_EQ(11u, info.GetCompressedSize()); | 136 ASSERT_EQ(11u, info.GetCompressedSize()); |
146 accessor.SetCompressionForNextOperations(CompressionType_None); | 146 accessor.SetCompressionForNextOperations(CompressionType_None); |
147 std::string data = "Hello world"; | 147 std::string data = "Hello world"; |
148 FileInfo info = accessor.Write(data, FileContentType_Dicom); | 148 FileInfo info = accessor.Write(data, FileContentType_Dicom); |
149 | 149 |
150 std::string r; | 150 std::string r; |
151 accessor.Read(r, info.GetUuid()); | 151 accessor.Read(r, info.GetUuid(), FileContentType_Unknown); |
152 | 152 |
153 ASSERT_EQ(data, r); | 153 ASSERT_EQ(data, r); |
154 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); | 154 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); |
155 ASSERT_EQ(11u, info.GetUncompressedSize()); | 155 ASSERT_EQ(11u, info.GetUncompressedSize()); |
156 ASSERT_EQ(11u, info.GetCompressedSize()); | 156 ASSERT_EQ(11u, info.GetCompressedSize()); |
167 std::vector<uint8_t> data; | 167 std::vector<uint8_t> data; |
168 StringToVector(data, "Hello world"); | 168 StringToVector(data, "Hello world"); |
169 FileInfo info = accessor.Write(data, FileContentType_Dicom); | 169 FileInfo info = accessor.Write(data, FileContentType_Dicom); |
170 | 170 |
171 std::string r; | 171 std::string r; |
172 accessor.Read(r, info.GetUuid()); | 172 accessor.Read(r, info.GetUuid(), FileContentType_Unknown); |
173 | 173 |
174 ASSERT_EQ(0, memcmp(&r[0], &data[0], data.size())); | 174 ASSERT_EQ(0, memcmp(&r[0], &data[0], data.size())); |
175 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); | 175 ASSERT_EQ(CompressionType_None, info.GetCompressionType()); |
176 ASSERT_EQ(11u, info.GetUncompressedSize()); | 176 ASSERT_EQ(11u, info.GetUncompressedSize()); |
177 ASSERT_EQ(11u, info.GetCompressedSize()); | 177 ASSERT_EQ(11u, info.GetCompressedSize()); |
187 accessor.SetCompressionForNextOperations(CompressionType_Zlib); | 187 accessor.SetCompressionForNextOperations(CompressionType_Zlib); |
188 std::string data = "Hello world"; | 188 std::string data = "Hello world"; |
189 FileInfo info = accessor.Write(data, FileContentType_Dicom); | 189 FileInfo info = accessor.Write(data, FileContentType_Dicom); |
190 | 190 |
191 std::string r; | 191 std::string r; |
192 accessor.Read(r, info.GetUuid()); | 192 accessor.Read(r, info.GetUuid(), FileContentType_Unknown); |
193 | 193 |
194 ASSERT_EQ(data, r); | 194 ASSERT_EQ(data, r); |
195 ASSERT_EQ(CompressionType_Zlib, info.GetCompressionType()); | 195 ASSERT_EQ(CompressionType_Zlib, info.GetCompressionType()); |
196 ASSERT_EQ(11u, info.GetUncompressedSize()); | 196 ASSERT_EQ(11u, info.GetUncompressedSize()); |
197 ASSERT_EQ(FileContentType_Dicom, info.GetContentType()); | 197 ASSERT_EQ(FileContentType_Dicom, info.GetContentType()); |
212 | 212 |
213 accessor.SetCompressionForNextOperations(CompressionType_None); | 213 accessor.SetCompressionForNextOperations(CompressionType_None); |
214 FileInfo uncompressedInfo = accessor.Write(uncompressedData, FileContentType_Dicom); | 214 FileInfo uncompressedInfo = accessor.Write(uncompressedData, FileContentType_Dicom); |
215 | 215 |
216 accessor.SetCompressionForNextOperations(CompressionType_Zlib); | 216 accessor.SetCompressionForNextOperations(CompressionType_Zlib); |
217 accessor.Read(r, compressedInfo.GetUuid()); | 217 accessor.Read(r, compressedInfo.GetUuid(), FileContentType_Unknown); |
218 ASSERT_EQ(compressedData, r); | 218 ASSERT_EQ(compressedData, r); |
219 | 219 |
220 accessor.SetCompressionForNextOperations(CompressionType_None); | 220 accessor.SetCompressionForNextOperations(CompressionType_None); |
221 accessor.Read(r, compressedInfo.GetUuid()); | 221 accessor.Read(r, compressedInfo.GetUuid(), FileContentType_Unknown); |
222 ASSERT_NE(compressedData, r); | 222 ASSERT_NE(compressedData, r); |
223 | 223 |
224 /* | 224 /* |
225 // This test is too slow on Windows | 225 // This test is too slow on Windows |
226 accessor.SetCompressionForNextOperations(CompressionType_Zlib); | 226 accessor.SetCompressionForNextOperations(CompressionType_Zlib); |
227 ASSERT_THROW(accessor.Read(r, uncompressedInfo.GetUuid()), OrthancException); | 227 ASSERT_THROW(accessor.Read(r, uncompressedInfo.GetUuid(), FileContentType_Unknown), OrthancException); |
228 */ | 228 */ |
229 } | 229 } |