Clover coverage report -
Coverage timestamp: Wed Jan 31 2007 15:38:53 EST
file stats: LOC: 150   Methods: 3
NCLOC: 106   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
BuddyReplicationWithTransactionsTest.java 50% 100% 100% 98.9%
coverage coverage
 1    /*
 2    * JBoss, Home of Professional Open Source
 3    *
 4    * Distributable under LGPL license.
 5    * See terms of license at gnu.org.
 6    */
 7    package org.jboss.cache.buddyreplication;
 8   
 9    import org.jboss.cache.CacheImpl;
 10    import org.jboss.cache.Fqn;
 11   
 12    import javax.transaction.TransactionManager;
 13   
 14   
 15    /**
 16    * @author <a href="mailto:manik@jboss.org">Manik Surtani (manik@jboss.org)</a>
 17    */
 18    public class BuddyReplicationWithTransactionsTest extends BuddyReplicationTestsBase
 19    {
 20    private Fqn fqn = Fqn.fromString("test");
 21    private String key = "key";
 22    private String value = "value";
 23    private CacheImpl[] caches;
 24   
 25  2 protected void tearDown() throws Exception
 26    {
 27  2 if (caches != null)
 28    {
 29  2 cleanup(caches);
 30  2 caches = null;
 31    }
 32    }
 33   
 34  1 public void testTransactionsCommit() throws Exception
 35    {
 36  1 caches = createCaches(3, false, true, false);
 37   
 38  1 caches[0].put(fqn, key, value);
 39  1 Fqn oldBackupFqn = Fqn.fromString("/" + BuddyManager.BUDDY_BACKUP_SUBTREE + "/" + BuddyManager.getGroupNameFromAddress(caches[0].getLocalAddress()) + "/test");
 40  1 Fqn newBackupFqn = Fqn.fromString("/" + BuddyManager.BUDDY_BACKUP_SUBTREE + "/" + BuddyManager.getGroupNameFromAddress(caches[2].getLocalAddress()) + "/test");
 41   
 42  1 dumpCacheContents(caches);
 43   
 44  1 TransactionManager txman = caches[2].getTransactionManager();
 45   
 46   
 47  1 assertTrue(caches[0].exists(fqn));
 48  1 assertTrue(!caches[1].exists(fqn));
 49  1 assertTrue(!caches[2].exists(fqn));
 50  1 assertTrue(!caches[0].exists(oldBackupFqn));
 51  1 assertTrue(caches[1].exists(oldBackupFqn));
 52  1 assertTrue(!caches[2].exists(oldBackupFqn));
 53  1 assertTrue(!caches[0].exists(newBackupFqn));
 54  1 assertTrue(!caches[1].exists(newBackupFqn));
 55  1 assertTrue(!caches[2].exists(newBackupFqn));
 56   
 57   
 58  1 txman.begin();
 59   
 60  1 dumpCacheContents(caches);
 61  1 caches[2].get(fqn, key);
 62  1 dumpCacheContents(caches);
 63   
 64  1 assertTrue(caches[0].exists(fqn));
 65  1 assertTrue(!caches[1].exists(fqn));
 66  1 assertTrue(caches[2].exists(fqn));
 67  1 assertTrue(!caches[0].exists(oldBackupFqn));
 68  1 assertTrue(caches[1].exists(oldBackupFqn));
 69  1 assertTrue(!caches[2].exists(oldBackupFqn));
 70  1 assertTrue(!caches[0].exists(newBackupFqn));
 71  1 assertTrue(!caches[1].exists(newBackupFqn));
 72  1 assertTrue(!caches[2].exists(newBackupFqn));
 73   
 74  1 txman.commit();
 75   
 76  1 dumpCacheContents(caches);
 77   
 78  1 assertTrue(!caches[0].exists(fqn));
 79  1 assertTrue(!caches[1].exists(fqn));
 80  1 assertTrue(caches[2].exists(fqn));
 81  1 assertTrue(!caches[0].exists(oldBackupFqn));
 82  1 assertTrue(!caches[1].exists(oldBackupFqn));
 83  1 assertTrue(!caches[2].exists(oldBackupFqn));
 84  1 assertTrue(caches[0].exists(newBackupFqn));
 85  1 assertTrue(!caches[1].exists(newBackupFqn));
 86  1 assertTrue(!caches[2].exists(newBackupFqn));
 87   
 88  1 dumpCacheContents(caches);
 89   
 90  1 assertNoLocks(caches);
 91    }
 92   
 93  1 public void testTransactionsRollback() throws Exception
 94    {
 95  1 caches = createCaches(3, false, true, false);
 96   
 97  1 caches[0].put(fqn, key, value);
 98  1 Fqn oldBackupFqn = Fqn.fromString("/" + BuddyManager.BUDDY_BACKUP_SUBTREE + "/" + BuddyManager.getGroupNameFromAddress(caches[0].getLocalAddress()) + "/test");
 99  1 Fqn newBackupFqn = Fqn.fromString("/" + BuddyManager.BUDDY_BACKUP_SUBTREE + "/" + BuddyManager.getGroupNameFromAddress(caches[2].getLocalAddress()) + "/test");
 100   
 101  1 dumpCacheContents(caches);
 102   
 103  1 TransactionManager txman = caches[2].getTransactionManager();
 104   
 105   
 106  1 assertTrue(caches[0].exists(fqn));
 107  1 assertTrue(!caches[1].exists(fqn));
 108  1 assertTrue(!caches[2].exists(fqn));
 109  1 assertTrue(!caches[0].exists(oldBackupFqn));
 110  1 assertTrue(caches[1].exists(oldBackupFqn));
 111  1 assertTrue(!caches[2].exists(oldBackupFqn));
 112  1 assertTrue(!caches[0].exists(newBackupFqn));
 113  1 assertTrue(!caches[1].exists(newBackupFqn));
 114  1 assertTrue(!caches[2].exists(newBackupFqn));
 115   
 116   
 117  1 txman.begin();
 118   
 119  1 dumpCacheContents(caches);
 120  1 caches[2].get(fqn, key);
 121  1 dumpCacheContents(caches);
 122   
 123  1 assertTrue(caches[0].exists(fqn));
 124  1 assertTrue(!caches[1].exists(fqn));
 125  1 assertTrue(caches[2].exists(fqn));
 126  1 assertTrue(!caches[0].exists(oldBackupFqn));
 127  1 assertTrue(caches[1].exists(oldBackupFqn));
 128  1 assertTrue(!caches[2].exists(oldBackupFqn));
 129  1 assertTrue(!caches[0].exists(newBackupFqn));
 130  1 assertTrue(!caches[1].exists(newBackupFqn));
 131  1 assertTrue(!caches[2].exists(newBackupFqn));
 132   
 133  1 txman.rollback();
 134   
 135  1 dumpCacheContents(caches);
 136   
 137  1 assertTrue(caches[0].exists(fqn));
 138  1 assertTrue(!caches[1].exists(fqn));
 139  1 assertTrue(!caches[2].exists(fqn));
 140  1 assertTrue(!caches[0].exists(oldBackupFqn));
 141  1 assertTrue(caches[1].exists(oldBackupFqn));
 142  1 assertTrue(!caches[2].exists(oldBackupFqn));
 143  1 assertTrue(!caches[0].exists(newBackupFqn));
 144  1 assertTrue(!caches[1].exists(newBackupFqn));
 145  1 assertTrue(!caches[2].exists(newBackupFqn));
 146   
 147  1 assertNoLocks(caches);
 148    }
 149   
 150    }