public void testDBObjectIsUpdatedFromDBOnPermissionUpgrade() { using (hostDB db = new hostDB()) { bladeSpec toDB = new bladeSpec(db.conn, "1.1.1.2", "2.1.1.1", "3.1.1.1", 1234); db.addNode(toDB); using (lockableBladeSpec refB = db.getBladeByIP("1.1.1.2", bladeLockType.lockNone, bladeLockType.lockNone)) { Thread innerThread = new Thread(() => { using (lockableBladeSpec refA = db.getBladeByIP("1.1.1.2", bladeLockType.lockNone, bladeLockType.lockBIOS | bladeLockType.lockOwnership)) { refA.spec.lastDeployedBIOS = "test data"; refA.spec.currentOwner = "Dave_Lister"; } }); innerThread.Start(); innerThread.Join(); refB.upgradeLocks(bladeLockType.lockBIOS | bladeLockType.lockOwnership, bladeLockType.lockNone); Assert.AreEqual("test data", refB.spec.lastDeployedBIOS); Assert.AreEqual("Dave_Lister", refB.spec.currentOwner); } } }
public void testDBObjectWritePermsImplyReadPermsViaUpgrade() { using (hostDB db = new hostDB()) { bladeSpec toDB = new bladeSpec(db.conn, "1.1.1.1", "2.1.1.1", "3.1.1.1", 1234); db.addNode(toDB); using (lockableBladeSpec fromDB = db.getBladeByIP("1.1.1.1", bladeLockType.lockNone, bladeLockType.lockNone)) { fromDB.upgradeLocks(bladeLockType.lockNone, bladeLockType.lockOwnership); Debug.WriteLine(fromDB.spec.currentlyBeingAVMServer); } } }
public void testDBObjectThrowsAfterUpgradeToWriteAccess() { using (hostDB db = new hostDB()) { bladeSpec toDB = new bladeSpec(db.conn, "1.1.1.6", "2.1.1.1", "3.1.1.1", 1234); db.addNode(toDB); using (lockableBladeSpec refA = db.getBladeByIP("1.1.1.6", bladeLockType.lockNone, bladeLockType.lockNone)) { refA.upgradeLocks( bladeLockType.lockBIOS | bladeLockType.lockOwnership, bladeLockType.lockBIOS | bladeLockType.lockOwnership); Assert.AreEqual(bladeLockType.lockIPAddresses | bladeLockType.lockOwnership | bladeLockType.lockBIOS, refA.spec.permittedAccessRead); Assert.AreEqual(bladeLockType.lockOwnership | bladeLockType.lockBIOS, refA.spec.permittedAccessWrite); failIfThrow(() => { refA.spec.lastDeployedBIOS = "test data"; }); failIfThrow(() => { refA.spec.currentOwner = "Dave_Lister"; }); failIfThrow(() => { Debug.WriteLine(refA.spec.lastDeployedBIOS); }); failIfThrow(() => { Debug.WriteLine(refA.spec.currentOwner); }); } } }