public void AddUserTest()
        {
            var dataAccess = new AccessService();
            // Make sure that these domains are not there
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));

            Guid userId = dataAccess.GetUserID("*****@*****.**");
            Assert.IsTrue(userId == Guid.Empty);

            // Make sure that you can add users
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 0));
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 1));
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 2));

            // Check that the users are actually in the DB
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));

            Guid userIdCheck2 = dataAccess.GetUserID("*****@*****.**");
            Assert.IsFalse(userIdCheck2 == Guid.Empty);

            // Make sure that you canNOT add users already in the DB
            Assert.IsFalse(dataAccess.AddUser("*****@*****.**", 0));
            Assert.IsFalse(dataAccess.AddUser("*****@*****.**", 1));
            Assert.IsFalse(dataAccess.AddUser("*****@*****.**", 2));

            // Delete users
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));

        }
        public void UpdateUserEmailTest2()
        {
            var dataAccess = new AccessService();
            // Make sure that these domains are not there
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));

            // Make sure these updated email addresses do not exist
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));

            Guid userId = dataAccess.GetUserID("*****@*****.**");
            Assert.IsTrue(userId == Guid.Empty);

            // Make sure that you can add users
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 0));
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 1));
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 2));

            // Check that the users are actually in the DB
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));

            Guid userIdCheck2 = dataAccess.GetUserID("*****@*****.**");
            Assert.IsFalse(userIdCheck2 == Guid.Empty);

            // Make sure these updated email addresses do not exist
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));

            // Now we are going to update these users - this is the main part
            Assert.IsTrue(dataAccess.UpdateUserEmail("*****@*****.**", "*****@*****.**"));
            Assert.IsTrue(dataAccess.UpdateUserEmail("*****@*****.**", "*****@*****.**"));
            // Update it in the overloaded way
            Guid userId3 = dataAccess.GetUserID("*****@*****.**");
            Assert.IsTrue(dataAccess.UpdateUserEmail(userId3, "*****@*****.**"));

            // Make sure that these domains are not there anymore
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsFalse(dataAccess.IsUserAuthorized("*****@*****.**"));

            // Make sure these updated email addresses exist
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));

            // Clean up users
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));

        }
        public void GetUserIDTest()
        {
            var dataAccess = new AccessService();
            // Add a user
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 0));

            // Check that the users are actually in the DB
            Assert.IsTrue(dataAccess.IsUserAuthorized("*****@*****.**"));

            // Here's the actual test - the GUID should not be empty
            Guid userIdCheck = dataAccess.GetUserID("*****@*****.**");
            Assert.IsFalse(userIdCheck == Guid.Empty);

            // Now delete and check again - if that was really the user's id, then it should return false after deleting
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
            Guid userIdCheck2 = dataAccess.GetUserID("*****@*****.**");
            Assert.IsTrue(userIdCheck2 == Guid.Empty);

        }
        public void UpdateUserRoleTest()
        {
            var dataAccess = new AccessService();

            // Make sure that you can add users
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 0));
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 1));
            Assert.IsTrue(dataAccess.AddUser("*****@*****.**", 2));

            Guid userIdCheck2 = dataAccess.GetUserID("*****@*****.**");
            Assert.IsFalse(userIdCheck2 == Guid.Empty);

            // Check the user role
            Assert.IsTrue(dataAccess.GetUserRole("*****@*****.**") == 0);
            Assert.IsTrue(dataAccess.GetUserRole("*****@*****.**") == 1);
            Assert.IsTrue(dataAccess.GetUserRole("*****@*****.**") == 2);

            // Here's the actual test - update the user role:
            Assert.IsTrue(dataAccess.UpdateUserRole("*****@*****.**", 1));
            Assert.IsTrue(dataAccess.UpdateUserRole("*****@*****.**", 2));
            Assert.IsTrue(dataAccess.UpdateUserRole("*****@*****.**", 0));

            // Check that the user role has changed correctly
            Assert.IsFalse(dataAccess.GetUserRole("*****@*****.**") == 0);
            Assert.IsFalse(dataAccess.GetUserRole("*****@*****.**") == 1);
            Assert.IsFalse(dataAccess.GetUserRole("*****@*****.**") == 2);
            Assert.IsTrue(dataAccess.GetUserRole("*****@*****.**") == 1);
            Assert.IsTrue(dataAccess.GetUserRole("*****@*****.**") == 2);
            Assert.IsTrue(dataAccess.GetUserRole("*****@*****.**") == 0);

            // Delete users
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
            Assert.IsTrue(dataAccess.DeleteUser("*****@*****.**"));
        }