public void testSObject() {
SHost host;
SBucket bucket;
Session session;
SObject sobject;
// setup
session = CloudSessionFactory.getInstance().openSession();
try {
Transaction txn = session.beginTransaction();
host = new SHost();
host.setHost("localhost");
host.setUserOnHost("root");
host.setUserPassword("password");
host.setExportRoot("/");
bucket = new SBucket();
bucket.setName("Bucket");
bucket.setOwnerCanonicalId("OwnerId-dummy");
bucket.setCreateTime(new Date());
bucket.setShost(host);
host.getBuckets().add(bucket);
sobject = new SObject();
sobject.setNameKey("ObjectNameKey");
sobject.setOwnerCanonicalId("OwnerId-dummy");
sobject.setCreateTime(new Date());
sobject.setBucket(bucket);
bucket.getObjectsInBucket().add(sobject);
session.save(host);
session.save(bucket);
session.save(sobject);
txn.commit();
} finally {
session.close();
}
session = CloudSessionFactory.getInstance().openSession();
try {
Transaction txn = session.beginTransaction();
sobject = (SObject)session.get(SObject.class, sobject.getId());
txn.commit();
Assert.assertTrue(sobject.getBucket().getName().equals("Bucket"));
Assert.assertTrue(sobject.getNameKey().equals("ObjectNameKey"));
Assert.assertTrue(sobject.getOwnerCanonicalId().equals("OwnerId-dummy"));
} finally {
session.close();
}
// test delete cascade