Mercurial > hg > orthanc
diff UnitTestsSources/ServerIndex.cpp @ 705:a9cff2c077d4
notes
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 13 Feb 2014 11:54:00 +0100 |
parents | dd1ce9a2844c |
children | 2d829ea1db96 |
line wrap: on
line diff
--- a/UnitTestsSources/ServerIndex.cpp Wed Feb 12 17:03:18 2014 +0100 +++ b/UnitTestsSources/ServerIndex.cpp Thu Feb 13 11:54:00 2014 +0100 @@ -1,6 +1,8 @@ #include "gtest/gtest.h" #include "../OrthancServer/DatabaseWrapper.h" +#include "../OrthancServer/ServerContext.h" +#include "../OrthancServer/ServerIndex.h" #include "../Core/Uuid.h" #include <ctype.h> @@ -508,3 +510,26 @@ ASSERT_TRUE(DicomMap::IsMainDicomTag(DICOM_TAG_PATIENT_ID, ResourceType_Patient)); ASSERT_FALSE(DicomMap::IsMainDicomTag(DICOM_TAG_PATIENT_ID, ResourceType_Study)); } + + + +TEST(DatabaseWrapper, AttachmentRecycling) +{ + const std::string path = "OrthancStorageUnitTests"; + Toolbox::RemoveFile(path + "/index"); + ServerContext context(path, ":memory:"); + ServerIndex& index = context.GetIndex(); + + Json::Value tmp; + index.ComputeStatistics(tmp); + ASSERT_EQ(0, tmp["PatientCount"].asInt()); + + ServerIndex::Attachments attachments; + + DicomMap instance; + m.SetValue(DICOM_TAG_PATIENT_ID, "patient1"); + m.SetValue(DICOM_TAG_STUDY_INSTANCE_UID, "study1"); + m.SetValue(DICOM_TAG_SERIES_INSTANCE_UID, "series1"); + m.SetValue(DICOM_TAG_SOP_INSTANCE_UID, "instance1"); + ASSERT_EQ(StoreStatus_Success, index.Store(instance, attachments, "")); +}