Bläddra i källkod

Existance test support

Miklos Espak 11 år sedan
förälder
incheckning
c5179f0108

+ 1 - 1
CMakeExternals/qRestAPI.cmake

@@ -23,7 +23,7 @@ if(${add_project})
 
     if(NOT DEFINED qRestAPI_DIR)
 
-      set(revision_tag "8c7b6a7d6d")
+      set(revision_tag "1896940bb6")
       if(${proj}_REVISION_TAG)
         set(revision_tag ${${proj}_REVISION_TAG})
       endif()

+ 6 - 1
Libs/XNAT/Core/Testing/ctkXnatConnectionTest.cpp

@@ -112,7 +112,6 @@ void ctkXnatConnectionTestCase::testCreateProject()
 
   QString projectId = QString("CTK_") + QUuid::createUuid().toString().mid(1, 8);
   d->Project = projectId;
-  qDebug() << "Creating project" << id;
 
   ctkXnatProject* project = new ctkXnatProject();
   project->setId(projectId);
@@ -120,7 +119,13 @@ void ctkXnatConnectionTestCase::testCreateProject()
   project->setDescription("CTK test project");
   server->add(project);
 
+  bool exists = d->Connection->exists(project);
+  QVERIFY(!exists);
+
   d->Connection->create(project);
+
+  exists = d->Connection->exists(project);
+  QVERIFY(exists);
 }
 
 // --------------------------------------------------------------------------

+ 10 - 0
Libs/XNAT/Core/ctkXnatConnection.cpp

@@ -385,6 +385,16 @@ void ctkXnatConnection::fetch(ctkXnatReconstructionResource* reconstructionResou
   }
 }
 
+bool ctkXnatConnection::exists(ctkXnatObject* object)
+{
+  Q_D(ctkXnatConnection);
+
+  QString query = object->resourceUri();
+  bool success = d->xnat->sync(d->xnat->get(query));
+
+  return success;
+}
+
 void ctkXnatConnection::create(ctkXnatObject* object)
 {
   Q_D(ctkXnatConnection);

+ 2 - 0
Libs/XNAT/Core/ctkXnatConnection.h

@@ -82,6 +82,8 @@ public:
   void fetch(ctkXnatReconstruction* reconstruction);
   void fetch(ctkXnatReconstructionResource* reconstructionResource);
 
+  bool exists(ctkXnatObject* object);
+
   void create(ctkXnatObject* object);
   void remove(ctkXnatObject* object);