Mercurial > hg > orthanc
comparison OrthancFramework/UnitTestsSources/FileStorageTests.cpp @ 5080:d7274e43ea7c attach-custom-data
allow plugins to store a customData in the Attachments table to e.g. store custom paths without requiring an external DB
author | Alain Mazy <am@osimis.io> |
---|---|
date | Thu, 08 Sep 2022 17:42:08 +0200 |
parents | 22966345eaba |
children |
comparison
equal
deleted
inserted
replaced
5079:4366b4c41441 | 5080:d7274e43ea7c |
---|---|
128 FilesystemStorage s("UnitTestsStorage"); | 128 FilesystemStorage s("UnitTestsStorage"); |
129 StorageCache cache; | 129 StorageCache cache; |
130 StorageAccessor accessor(s, &cache); | 130 StorageAccessor accessor(s, &cache); |
131 | 131 |
132 std::string data = "Hello world"; | 132 std::string data = "Hello world"; |
133 FileInfo info = accessor.Write(data, FileContentType_Dicom, CompressionType_None, true); | 133 std::string uuid = Toolbox::GenerateUuid(); |
134 FileInfo info = accessor.WriteAttachment(data, "", ResourceType_Instance, data.c_str(), data.size(), FileContentType_Dicom, CompressionType_None, true, uuid); | |
134 | 135 |
135 std::string r; | 136 std::string r; |
136 accessor.Read(r, info); | 137 accessor.Read(r, info); |
137 | 138 |
138 ASSERT_EQ(data, r); | 139 ASSERT_EQ(data, r); |
150 FilesystemStorage s("UnitTestsStorage"); | 151 FilesystemStorage s("UnitTestsStorage"); |
151 StorageCache cache; | 152 StorageCache cache; |
152 StorageAccessor accessor(s, &cache); | 153 StorageAccessor accessor(s, &cache); |
153 | 154 |
154 std::string data = "Hello world"; | 155 std::string data = "Hello world"; |
155 FileInfo info = accessor.Write(data, FileContentType_Dicom, CompressionType_ZlibWithSize, true); | 156 std::string uuid = Toolbox::GenerateUuid(); |
157 FileInfo info = accessor.WriteAttachment(data, "", ResourceType_Instance, data.c_str(), data.size(), FileContentType_Dicom, CompressionType_ZlibWithSize, true, uuid); | |
156 | 158 |
157 std::string r; | 159 std::string r; |
158 accessor.Read(r, info); | 160 accessor.Read(r, info); |
159 | 161 |
160 ASSERT_EQ(data, r); | 162 ASSERT_EQ(data, r); |
161 ASSERT_EQ(CompressionType_ZlibWithSize, info.GetCompressionType()); | 163 ASSERT_EQ(CompressionType_ZlibWithSize, info.GetCompressionType()); |
162 ASSERT_EQ(11u, info.GetUncompressedSize()); | 164 ASSERT_EQ(11u, info.GetUncompressedSize()); |
163 ASSERT_EQ(FileContentType_Dicom, info.GetContentType()); | 165 ASSERT_EQ(FileContentType_Dicom, info.GetContentType()); |
164 ASSERT_EQ("3e25960a79dbc69b674cd4ec67a72c62", info.GetUncompressedMD5()); | 166 ASSERT_EQ("3e25960a79dbc69b674cd4ec67a72c62", info.GetUncompressedMD5()); |
165 ASSERT_NE(info.GetUncompressedMD5(), info.GetCompressedMD5()); | 167 ASSERT_NE(info.GetUncompressedMD5(), info.GetCompressedMD5()); |
168 ASSERT_EQ(uuid, info.GetUuid()); | |
166 } | 169 } |
167 | 170 |
168 | 171 |
169 TEST(StorageAccessor, Mix) | 172 TEST(StorageAccessor, Mix) |
170 { | 173 { |
174 | 177 |
175 std::string r; | 178 std::string r; |
176 std::string compressedData = "Hello"; | 179 std::string compressedData = "Hello"; |
177 std::string uncompressedData = "HelloWorld"; | 180 std::string uncompressedData = "HelloWorld"; |
178 | 181 |
179 FileInfo compressedInfo = accessor.Write(compressedData, FileContentType_Dicom, CompressionType_ZlibWithSize, false); | 182 FileInfo compressedInfo = accessor.WriteAttachment(compressedData, "", ResourceType_Instance, compressedData.c_str(), compressedData.size(), FileContentType_Dicom, CompressionType_ZlibWithSize, false, Toolbox::GenerateUuid()); |
180 FileInfo uncompressedInfo = accessor.Write(uncompressedData, FileContentType_Dicom, CompressionType_None, false); | 183 FileInfo uncompressedInfo = accessor.WriteAttachment(uncompressedData, "", ResourceType_Instance, uncompressedData.c_str(), uncompressedData.size(), FileContentType_Dicom, CompressionType_None, false, Toolbox::GenerateUuid()); |
181 | 184 |
182 accessor.Read(r, compressedInfo); | 185 accessor.Read(r, compressedInfo); |
183 ASSERT_EQ(compressedData, r); | 186 ASSERT_EQ(compressedData, r); |
184 | 187 |
185 accessor.Read(r, uncompressedInfo); | 188 accessor.Read(r, uncompressedInfo); |
186 ASSERT_EQ(uncompressedData, r); | 189 ASSERT_EQ(uncompressedData, r); |