Beispiel #1
0
        public void TestBranch()
        {
            using (ReVersion_DatabaseContext db = new ReVersion_DatabaseContext())
            {
                SQLOperations.InsertIntoBranchTable(db, "firstRepo", "imaNewBranch");
                SQLOperations.InsertIntoBranchTable(db, "firstRepo", "imanotherBranch");
                SQLOperations.InsertIntoRepoTable(db, "helloRepo", "imanotherUser");

                db.SaveChanges();

                SQLOperations.InsertIntoBranchTable(db, "helloRepo", "helloBranch");

                db.SaveChanges();

                List <BranchLookup> branchesActual   = SQLOperations.QueryBranches(db, "firstRepo");
                List <BranchLookup> branchesExpected = new List <BranchLookup>
                {
                    new BranchLookup {
                        BranchName = "imaNewBranch", Locked = false
                    },
                    new BranchLookup {
                        BranchName = "imanotherBranch", Locked = false
                    }
                };

                SameListContents(branchesActual, branchesExpected);
            }
        }
Beispiel #2
0
        private void TestPermissionInsertion(ReVersion_DatabaseContext db, List <string> users, List <string> repos)
        {
            SQLOperations.InsertIntoRepoPermissionsTable(db, "firstRepo", "imaUser");
            SQLOperations.InsertIntoRepoPermissionsTable(db, "yetAnotherRepo", "imaUser");
            SQLOperations.InsertIntoRepoPermissionsTable(db, "yetAnotherRepo", "imanotherUser");

            db.SaveChanges();

            foreach (var item in repos.Zip(users, (r, u) => new { RepositoryName = r, Username = u }))
            {
                if (item.Username.Equals("imanotherUser") && item.RepositoryName.Equals("firstRepo"))
                {
                    Assert.IsFalse(SQLOperations.UserCanAccessRepository(db, item.Username, item.RepositoryName));
                }
                else
                {
                    Assert.IsTrue(SQLOperations.UserCanAccessRepository(db, item.Username, item.RepositoryName));
                }
            }

            List <string> permsActual   = SQLOperations.QueryPermissions(db, "imaUser");
            List <string> permsExpected = new List <string> {
                "firstRepo", "yetAnotherRepo"
            };

            SameListContents(permsActual, permsExpected);
        }
Beispiel #3
0
        public void TestVersions()
        {
            using (ReVersion_DatabaseContext db = new ReVersion_DatabaseContext())
            {
                FileHierarchyData hierData = new FileHierarchyData(hierarchy);
                hierData.AddNode("/A/B/alpha/beTa");
                hierData.DeleteNode("F/");

                VersionData data = new VersionData
                {
                    RepositoryName   = "yetAnotherRepo",
                    BranchName       = "yetAnotherBranch",
                    ParentBranchName = "yetAnotherOtherBranch",
                    NewBranch        = true,
                    DeltaContent     = "here's Delta!",
                    //FileHierarchy = hierData.GetHierarchyList(),
                    EventId = 5
                };

                SQLOperations.InsertIntoVersionsTable(db, data);
                db.SaveChanges();

                List <int> versionsActual   = SQLOperations.QueryVersions(db, "yetAnotherRepo", "yetAnotherBranch");
                List <int> versionsExpected = new List <int> {
                    1
                };
                SameListContents(versionsActual, versionsExpected);
            }
        }
Beispiel #4
0
 public void TestVersionDelete()
 {
     using (ReVersion_DatabaseContext db = new ReVersion_DatabaseContext())
     {
         SQLOperations.DeleteAllFromVersionsTable(db, "yetAnotherRepo");
         db.SaveChanges();
     }
 }
Beispiel #5
0
        public void TestBranchLocks()
        {
            using (ReVersion_DatabaseContext db = new ReVersion_DatabaseContext())
            {
                bool lockedActual = SQLOperations.BranchIsLocked(db, "helloRepo", "helloBranch");
                Assert.AreEqual(lockedActual, false, $"Lock Query: {lockedActual}");

                SQLOperations.LockState actualLockState =
                    SQLOperations.AcquireLock(db, "helloRepo", "helloBranch");
                db.SaveChanges();

                Assert.AreEqual(actualLockState, SQLOperations.LockState.SuccessfulLockOperation,
                                $"Initial Lock: {actualLockState}");
                actualLockState = SQLOperations.AcquireLock(db, "helloRepo", "helloBranch");
                db.SaveChanges();

                Assert.AreEqual(actualLockState, SQLOperations.LockState.AlreadyLockedConflict,
                                $"Second Lock: {actualLockState}");

                lockedActual = SQLOperations.BranchIsLocked(db, "helloRepo", "helloBranch");
                Assert.AreEqual(lockedActual, true, $"Second lock query: {lockedActual}");

                actualLockState = SQLOperations.ReleaseLock(db, "helloRepo", "helloBranch");
                db.SaveChanges();

                Assert.AreEqual(actualLockState, SQLOperations.LockState.SuccessfulLockOperation,
                                $"Release Lock: {actualLockState}");

                actualLockState = SQLOperations.ReleaseLock(db, "helloRepo", "helloBranch");
                db.SaveChanges();

                Assert.AreEqual(actualLockState, SQLOperations.LockState.AlreadyUnlockedConflict,
                                $"Second release lock: {actualLockState}");

                lockedActual = SQLOperations.BranchIsLocked(db, "helloRepo", "helloBranch");

                Assert.AreEqual(lockedActual, false, $"last lock query: {lockedActual}");
            }
        }
Beispiel #6
0
        private void TestPermissionDeletion(ReVersion_DatabaseContext db, List <string> users, List <string> repos)
        {
            SQLOperations.DeleteAllFromPermissionsTable(db, "yetAnotherRepo");

            db.SaveChanges();

            foreach (var item in repos.Zip(users, (r, u) => new { RepositoryName = r, Username = u }))
            {
                if (item.RepositoryName.Equals("firstRepo") && item.Username.Equals("imaUser"))
                {
                    Assert.IsTrue(SQLOperations.UserCanAccessRepository(db, item.Username, item.RepositoryName));
                }
                else
                {
                    Assert.IsFalse(SQLOperations.UserCanAccessRepository(db, item.Username, item.RepositoryName));
                }
            }
        }
Beispiel #7
0
        public void TestBranchDelete()
        {
            using (ReVersion_DatabaseContext db = new ReVersion_DatabaseContext())
            {
                SQLOperations.DeleteAllFromBranchesTable(db, "firstRepo");
                db.SaveChanges();

                List <BranchLookup> branchesActual   = SQLOperations.QueryBranches(db, "firstRepo");
                List <BranchLookup> branchesExpected = new List <BranchLookup>();

                SameListContents(branchesActual, branchesExpected);

                branchesActual   = SQLOperations.QueryBranches(db, "helloRepo");
                branchesExpected = new List <BranchLookup>
                {
                    new BranchLookup {
                        BranchName = "helloBranch", Locked = false
                    }
                };

                SameListContents(branchesActual, branchesExpected);
            }
        }