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