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