Mercurial > hg > orthanc-databases
comparison PostgreSQL/UnitTests/UnitTestsMain.cpp @ 14:9774802fd05f
PostgreSQLStorageArea working
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 09 Jul 2018 20:28:27 +0200 |
parents | 7cea966b6829 |
children | 714c5d2bee76 |
comparison
equal
deleted
inserted
replaced
13:927264a0c137 | 14:9774802fd05f |
---|---|
25 #include <gtest/gtest.h> | 25 #include <gtest/gtest.h> |
26 | 26 |
27 OrthancDatabases::PostgreSQLParameters globalParameters_; | 27 OrthancDatabases::PostgreSQLParameters globalParameters_; |
28 | 28 |
29 #include "../../Framework/Plugins/IndexUnitTests.h" | 29 #include "../../Framework/Plugins/IndexUnitTests.h" |
30 | |
31 | |
32 #if ORTHANC_POSTGRESQL_STATIC == 1 | |
33 # include <c.h> // PostgreSQL includes | |
34 | |
35 TEST(PostgreSQL, Version) | |
36 { | |
37 ASSERT_STREQ("9.6.1", PG_VERSION); | |
38 } | |
39 #endif | |
30 | 40 |
31 | 41 |
32 TEST(PostgreSQLParameters, Basic) | 42 TEST(PostgreSQLParameters, Basic) |
33 { | 43 { |
34 OrthancDatabases::PostgreSQLParameters p; | 44 OrthancDatabases::PostgreSQLParameters p; |
94 OrthancDatabases::PostgreSQLIndex db4(lock); | 104 OrthancDatabases::PostgreSQLIndex db4(lock); |
95 db4.Open(); | 105 db4.Open(); |
96 } | 106 } |
97 | 107 |
98 | 108 |
99 #if 0 | |
100 TEST(PostgreSQL, StorageArea) | |
101 { | |
102 std::auto_ptr<PostgreSQLDatabase> pg(CreateTestDatabase(true)); | |
103 PostgreSQLStorageArea s(pg.release(), true, true); | |
104 | |
105 ASSERT_EQ(0, CountLargeObjects(s.GetDatabase())); | |
106 | |
107 for (int i = 0; i < 10; i++) | |
108 { | |
109 std::string uuid = boost::lexical_cast<std::string>(i); | |
110 std::string value = "Value " + boost::lexical_cast<std::string>(i * 2); | |
111 s.Create(uuid, value.c_str(), value.size(), OrthancPluginContentType_Unknown); | |
112 } | |
113 | |
114 std::string tmp; | |
115 ASSERT_THROW(s.Read(tmp, "nope", OrthancPluginContentType_Unknown), Orthanc::OrthancException); | |
116 | |
117 ASSERT_EQ(10, CountLargeObjects(s.GetDatabase())); | |
118 s.Remove("5", OrthancPluginContentType_Unknown); | |
119 ASSERT_EQ(9, CountLargeObjects(s.GetDatabase())); | |
120 | |
121 for (int i = 0; i < 10; i++) | |
122 { | |
123 std::string uuid = boost::lexical_cast<std::string>(i); | |
124 std::string expected = "Value " + boost::lexical_cast<std::string>(i * 2); | |
125 std::string content; | |
126 | |
127 if (i == 5) | |
128 { | |
129 ASSERT_THROW(s.Read(content, uuid, OrthancPluginContentType_Unknown), Orthanc::OrthancException); | |
130 } | |
131 else | |
132 { | |
133 s.Read(content, uuid, OrthancPluginContentType_Unknown); | |
134 ASSERT_EQ(expected, content); | |
135 } | |
136 } | |
137 | |
138 s.Clear(); | |
139 ASSERT_EQ(0, CountLargeObjects(s.GetDatabase())); | |
140 } | |
141 #endif | |
142 | |
143 | |
144 int main(int argc, char **argv) | 109 int main(int argc, char **argv) |
145 { | 110 { |
146 if (argc < 6) | 111 if (argc < 6) |
147 { | 112 { |
148 std::cerr << "Usage: " << argv[0] << " <host> <port> <username> <password> <database>" | 113 std::cerr << "Usage: " << argv[0] << " <host> <port> <username> <password> <database>" |