Ejemplo n.º 1
0
 def test_command_assignInstructorCourse_permission_denied(self):
     LoginHelper.login(self.LH, ["login", "janewayk123", "123456"])
     self.assertEqual(
         self.UI.command("assigninstructorcourse cheng41 535"),
         "You do not have the credentials to assign an instructor to a course. Permission denied"
     )
     LoginHelper.logout(self.LH)
Ejemplo n.º 2
0
 def test_command_createLab_permission_denied(self):
     LoginHelper.login(self.LH, ["login", "janewayk123", "123456"])
     self.assertEqual(
         self.UI.command("createLab courseNumber labSection day begin end"),
         "You do not have the credentials to create a lab. Permission denied"
     )
     LoginHelper.logout(self.LH)
Ejemplo n.º 3
0
 def test_command_deleteAccount_permission_denied(self):
     LoginHelper.login(self.LH, ["login", "janewayk123", "123456"])
     self.assertEqual(
         self.UI.command("deleteAccount neelix45 TA"),
         "You do not have the credentials to delete an account. Permission denied"
     )
     LoginHelper.logout(self.LH)
Ejemplo n.º 4
0
class TestCreateAccountLogin(TestCase):
    def setUp(self):
        self.CUH = CurrentUserHelper()
        self.CA = CreateAccount()
        self.LH = LoginHelper()

    def test00(self):
        self.assertEqual(
            self.CA.createAccount(
                ["createaccount", "hsimpson", "ta", "*****@*****.**"]),
            "Account successfully created.  Temporary password is: hsimpson456"
        )

        self.assertFalse(self.CUH.isCurrent())

        self.assertEqual(self.LH.login(["login", "hsimpson", "hsimpson456"]),
                         "Logged in as hsimpson")

        self.assertTrue(self.CUH.isCurrent())

        self.assertEqual(self.CUH.getCurrentUserTitle(), 1)

        self.assertEqual(self.CUH.getCurrentUser(), Account.objects.get())

        self.assertEqual(self.LH.logout(), "Successfully logged out")

        self.assertFalse(self.CUH.isCurrent())
Ejemplo n.º 5
0
class TestLoginLogout(TestCase):
    def setUp(self):
        self.login = LoginHelper()
        self.CUH = CurrentUserHelper()
        Account.objects.create(firstName='Homer',
                               userName='******',
                               password='******')
        Account.objects.create(firstName='Stu',
                               userName='******',
                               password='******')

    def test00(self):
        self.assertEqual(self.login.login(["login", "Homer", "123456"]),
                         "Account Not Found")

        self.assertFalse(self.CUH.isCurrent())

        self.assertEqual(self.login.login(["login", "hsimpson", "123456"]),
                         "Logged in as hsimpson")

        self.assertTrue(self.CUH.isCurrent())

    def test01(self):
        self.assertFalse(self.CUH.isCurrent())

        self.assertEqual(self.login.login(["login", "hsimpson", '123456']),
                         "Logged in as hsimpson")

        self.assertTrue(self.CUH.isCurrent())

        self.assertEqual(self.login.logout(), "Successfully logged out")

        self.assertFalse(self.CUH.isCurrent())
Ejemplo n.º 6
0
class TestLoginHelper(TestCase):
    def setUp(self):
        Account.objects.create(userName='******', password='******')
        self.login = LoginHelper()
        self.Command1 = ["login", "hsimpson", "password"]
        self.Command2 = ["login", "hsimpson", "wrongPassword"]
        self.Command3 = ["login", "rob", "password"]
        self.Command4 = ["login", "hsimpson"]
        self.Command5 = ["login", "hsimpson", "password", "something"]

    def test_login_success(self):
        #test Successful login
        self.assertEqual(self.login.login(self.Command1),
                         "Logged in as hsimpson")
        A = Account.objects.get(userName="******")
        self.assertTrue(A.currentUser)

        self.assertTrue(Account.objects.filter(currentUser='******').exists())

    def test_login_wrong_password(self):
        # test wrong password
        self.assertEqual(self.login.login(self.Command2), "Incorrect password")

        self.assertFalse(Account.objects.filter(currentUser='******').exists())

    def test_login_account_not_found(self):
        #test logging in with an Account not in the database
        self.assertEqual(self.login.login(self.Command3), "Account Not Found")

        self.assertFalse(Account.objects.filter(currentUser='******').exists())

    def test_login_2_arguments(self):
        #User doesn't enter enough arugments
        self.assertEqual(
            self.login.login(self.Command4),
            "Your command is missing arguments.  Please enter your command in the following format: "
            "login userName password")

        self.assertFalse(Account.objects.filter(currentUser='******').exists())

    def test_login_4_arguments(self):
        #User enters too many argumants
        self.assertEqual(
            self.login.login(self.Command5),
            "Your command is missing arguments.  Please enter your command in the following format: "
            "login userName password")

        self.assertFalse(Account.objects.filter(currentUser='******').exists())

    def test_login_2_accounts(self):
        Account.objects.create(userName='******',
                               password='******',
                               firstName='Bob',
                               currentUser='******')
        #User tries to login when an Account is already logged in
        self.assertEqual(self.login.login(self.Command1),
                         "A user is already logged in")

        self.assertEqual(len(Account.objects.filter(currentUser='******')), 1)

    def test_logout_success(self):
        Account.objects.create(userName='******',
                               password='******',
                               firstName='Bob',
                               currentUser='******')

        self.assertTrue(Account.objects.filter(currentUser='******').exists())

        self.assertEqual(self.login.logout(), "Successfully logged out")

        self.assertFalse(Account.objects.filter(currentUser='******').exists())

    def test_logout_not_logged_in(self):
        #loging out when no Account is the current user

        self.assertFalse(Account.objects.filter(currentUser='******').exists())

        self.assertEqual(self.login.logout(), "Please log in First")

        self.assertFalse(Account.objects.filter(currentUser='******').exists())
Ejemplo n.º 7
0
    def command(self, inStr):
        command = ' '.join(inStr.split(' '))

        command = command.split()

        if command[0].lower() == "login":
            login = LoginHelper()
            return login.login(command)

        elif command[0].lower() == "logout":
            logout = LoginHelper()
            return logout.logout()

        elif command[0].lower() == "createaccount":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 3:
                return "You do not have the credentials to create an account. Permission denied"

            CA = CreateAccount()
            return CA.createAccount(command)

        elif command[0].lower() == "createlab":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 3:
                return "You do not have the credentials to create a lab. Permission denied"

            create = CreateLab()
            return create.createLab(command)

        elif command[0].lower() == "createcourse":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 3:
                return "You do not have the credentials to create a course. Permission denied"

            create = CreateCourse()
            return create.createCourse(command)

        elif command[0].lower() == "assigninstructorcourse":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 3:
                return "You do not have the credentials to assign an instructor to a course. Permission denied"

            AIC = assignInst()

            return AIC.assignInst(command)

        elif command[0].lower() == "assigntalab":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 2:
                return "You do not have the credentials to assign a ta to a lab. Permission denied"

            atl = AssignTaLab()

            return atl.assignTaLab(command)

        elif command[0].lower() == "assigntacourse":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 3:
                return "You do not have the credentials to assign a ta to a course. Permission denied"

            TAC = AssignTACourse()

            return TAC.assignTACourse(command)

        elif command[0].lower() == "viewcourseassign":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 1:
                return "You must log in to View Course Assignment"

            return viewTaAssignments(command)

        elif command[0].lower() == "deleteaccount":
            CUH = CurrentUserHelper()
            if CUH.getCurrentUserTitle() < 3:
                return "You do not have the credentials to delete an account. Permission denied"

            DA = DeleteAccount()
            return DA.createAccount(command)

        else:
            return command[0] + " is an unsupported command"
Ejemplo n.º 8
0
class TestIntegration(TestCase):
    def setUp(self):
        self.login = LoginHelper()
        self.CUH = CurrentUserHelper()
        self.CA = CreateAccount()
        self.CC = CreateCourse()
        self.CL = CreateLab()
        self.account1 = Account.objects.create(firstName='Homer',
                                               userName='******',
                                               password='******')
        self.account2 = Account.objects.create(firstName='Stu',
                                               userName='******',
                                               password='******')
        self.course1 = Course.objects.create(name='Eng',
                                             number='101',
                                             onCampus='True',
                                             classDays='W')

    def test00(self):
        # test login
        self.assertEqual(self.login.login(["login", "Homer", "123456"]),
                         "Account Not Found")

        self.assertFalse(self.CUH.isCurrent())

        self.assertEqual(self.login.login(["login", "hsimpson", "123456"]),
                         "Logged in as hsimpson")

        self.assertTrue(self.CUH.isCurrent())

    def test01(self):
        # test login with logout
        self.assertFalse(self.CUH.isCurrent())

        self.assertEqual(self.login.login(["login", "hsimpson", '123456']),
                         "Logged in as hsimpson")

        self.assertTrue(self.CUH.isCurrent())

        self.assertEqual(self.login.logout(), "Successfully logged out")

        self.assertFalse(self.CUH.isCurrent())

    def test02(self):
        # test create account login
        self.assertEqual(Account.objects.count(), 2)

        self.assertEqual(
            self.CA.createAccount(
                ["createaccount", "taman", "ta", "*****@*****.**"]),
            "Account successfully created.  Temporary password is: taman456")

        self.assertEqual(Account.objects.count(), 3)

        self.assertFalse(self.CUH.isCurrent())

        self.assertEqual(self.login.login(["login", "taman", "taman456"]),
                         "Logged in as taman")

        self.assertEqual(self.CUH.getCurrentUser(),
                         Account.objects.get(userName='******'))

        self.assertTrue(self.CUH.isCurrent())

        self.assertEqual(self.CUH.getCurrentUserTitle(), 1)

        self.assertEqual(self.login.logout(), "Successfully logged out")

        self.assertFalse(self.CUH.isCurrent())

    def test03(self):
        # test creating accounts with same username
        self.assertEqual(Account.objects.count(), 2)

        self.assertEqual(
            self.CA.createAccount(
                ["createaccount", "hsimpson", "password", "*****@*****.**"]),
            "Account already exists")

        self.assertEqual(Account.objects.count(), 2)

        self.assertEqual(
            self.CA.createAccount(
                ["createaccount", "spidface", "password", "*****@*****.**"]),
            "Account already exists")

        self.assertEqual(Account.objects.count(), 2)

    def test04(self):
        # test creating Courses
        self.assertEqual(Course.objects.count(), 1)

        self.assertEqual(
            self.CC.createCourse(
                ["createCourse", "Eng", "101", "Campus", "TR", "1000",
                 "1050"]), "Course already exists")

        self.assertEqual(Course.objects.count(), 1)

        self.assertEqual(
            self.CC.createCourse(
                ["createCourse", "Eng", "102", "Campus", "TR", "1000",
                 "1050"]), "Course successfully created")

        self.assertEqual(Course.objects.count(), 2)

    def test05(self):
        # test creating Labs
        self.assertEqual(Lab.objects.count(), 0)

        self.assertEqual(
            self.CL.createLab(["", "101", "801", "R", "1200", "1201"]),
            "Lab successfully created")

        self.assertEqual(Lab.objects.count(), 1)

        self.assertEqual(
            self.CL.createLab(["", "101", "801", "R", "1200", "1201"]),
            "Lab already exists, lab not added")

        self.assertEqual(Lab.objects.count(), 1)

    def test06(self):
        # test creating Labs and Courses

        self.assertEqual(Lab.objects.count(), 0)

        self.assertEqual(
            self.CL.createLab(["", "351", "801", "R", "1200", "1201"]),
            "The Course you are trying to create a lab for does not exist")

        self.assertEqual(Lab.objects.count(), 0)
        self.assertEqual(Course.objects.count(), 1)

        self.assertEqual(
            self.CC.createCourse([
                "createCourse", "DataStructures", "351", "Campus", "TR",
                "1000", "1050"
            ]), "Course successfully created")

        self.assertEqual(Course.objects.count(), 2)

        self.assertEqual(
            self.CL.createLab(["", "351", "801", "R", "1200", "1201"]),
            "Lab successfully created")
        self.assertEqual(Lab.objects.count(), 1)