Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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); });
                }
            }
        }