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, ""));
+}