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);