diff --git a/src/host/test/HostPoolTest.cc b/src/host/test/HostPoolTest.cc
index 4ab8cff24a..9d61f3e2a7 100644
--- a/src/host/test/HostPoolTest.cc
+++ b/src/host/test/HostPoolTest.cc
@@ -118,6 +118,8 @@ const string xml_dump_like_a =
"D_DISK>0000";
+const string host0_updated =
+ "0Host one0im_madvmm_madtm_mad0default00000000000000";
const string cluster_default =
"0default";
@@ -149,6 +151,7 @@ class HostPoolTest : public PoolTest
CPPUNIT_TEST (cluster_dump);
CPPUNIT_TEST (set_cluster);
CPPUNIT_TEST (remove_cluster);
+ CPPUNIT_TEST (update_info);
CPPUNIT_TEST_SUITE_END ();
@@ -544,6 +547,40 @@ public:
host->to_xml(xml_str);
check(0, host);
}
+
+ /* ********************************************************************* */
+
+ void update_info()
+ {
+ int rc;
+ int oid_1;
+ HostPool * hp = static_cast(pool);
+ Host* host;
+ string str;
+
+ oid_1 = allocate(0);
+
+ host = hp->get(oid_1, false);
+ CPPUNIT_ASSERT( host != 0 );
+
+ string info = "ATT_A=VALUE_A ATT_B=VALUE_B";
+ rc = host->update_info(info);
+
+ CPPUNIT_ASSERT(rc == 0);
+
+ pool->update(host);
+
+ host = hp->get(oid_1,false);
+ CPPUNIT_ASSERT( host != 0 );
+ CPPUNIT_ASSERT( host->to_xml(str) == host0_updated );
+
+ //Now force access to DB
+ pool->clean();
+ host = hp->get(oid_1,false);
+
+ CPPUNIT_ASSERT( host != 0 );
+ CPPUNIT_ASSERT( host->to_xml(str) == host0_updated );
+ }
};